- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab程序设计实例
MATLAB 程序设计方法及若干程序实例樊双喜 (河南大学数学与信息科学学院 开封 475004)摘 要 本文通过对 MATLAB 程序设计中的若干典型问题做简要的分析和总结,并 在此基础上着重讨论了有关算法设计、程序的调试与测试、算法与程序的优化以 及循环控制等方面的问题.还通过对一些程序实例做具体解析,来方便读者进行 编程训练并掌握一些有关 MATLAB 程序设计方面的基本概念、基本方法以及某些 问题的处理技巧等.此外,在文章的最后还给出了几个常用数学方法的算法程序, 供读者参考使用.希望能对初学者进行 MATLAB 编程训练提供一些可供参考的材 料,并起到一定的指导和激励作用,进而为 MATLAB 编程入门打下好的基础. 关键字 算法设计;程序调试与测试;程序优化;循环控制1 算法与程序1.1 算法与程序的关系 算法被称为程序的灵魂,因此在介绍程序之前应先了解什么是算法.所谓算法就是对特定问题求解步骤的一种描述.对于一个较复杂的计算或是数据处理的 问题,通常是先设计出在理论上可行的算法,即程序的操作步骤,然后再按照算法 逐步翻译成相应的程序语言,即计算机可识别的语言.所谓程序设计,就是使用在计算机上可执行的程序代码来有效的描述用于 解决特定问题算法的过程.简单来说,程序就是指令的集合.结构化程序设计由于 采用了模块分化与功能分解,自顶向下,即分而治之的方法,因而可将一个较复杂 的问题分解为若干子问题,逐步求精.算法是操作的过程,而程序结构和程序流程 则是算法的具体体现.MATLAB 语言的特点MATLAB 语言简洁紧凑,使用方便灵活,库函数极其丰富,其语法规则与科技 人员的思维和书写习惯相近,便于操作.MATLAB 程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了很多不必要的编程工作.另外,它的 语法限制不严格,程序设计自由度大.其最大的特点是以矩阵运算为最强,而数值 的矩阵化又为运算和处理提供了方便.除此之外,MATLAB 还有着非常强大的绘图 功能.MATLAB 程序设计练习MATLAB 有着丰富的库函数,一般情况下应了解并学会使用一些常用的库函 数,至少应熟悉函数库中都有哪些常用函数,当需要时可以现学现用.或者能对一 些经典函数做一定的改造,以达到解决某一特定问题的目的.但,在大多情况下还 需要自己编写程序去处理形形色色的问题.下面就先从一些较简单的程序入手来 熟悉 MATLAB 的编程方式.例1 一个分类统计函数的设计(分类统计_1) 编写一个函数,统计出一组有序(按升序或降序排列)数字中每种数字的个数,并返回数字种类数.分析:设待统计数组为 x,因为 x 有序,所以在设计算法时应抓住这个特点. 若用 s1 记录已统计出的数字,则,在对 x 中的数字进行遍历时,每次只需让 x(i) 与 s1 中的最后一个数字进行比较就可以了,若相等,则对应计数器加 1,若不等, 则说明测到新数,应开辟新的存储单元.其算法程序如下:function [s,k]=FLTJ_1(x)%x 为待统计的一组有序数,返回值s为2 列的数组, 第一列为不同种类的数字%第二列为对应数字的个数, k 记录统计出的数字种类数目n=length(x);s1=x(1); % s1 记录测到的新数字,给其赋初值为 x 的第一个数字s2=1; % s2 记录 s1 中每个数字的个数,赋初值为 x(1)的初始个数 1k=1; % k 记录已统计出的数字种类数,初值赋为 1for i=2:n % 从第 2 项开始遍历数组 xif x(i)==s1(k) % 如果 x(i)与已测出的最后 1 个数字相同,s2(k)=s2(k)+1; % 则对应的计数器加 1else % 否则,则说明测到新数字endk=k+1; % k 值加 1 s1=[s1;x(i)]; % 将此新数并入 s1, s2=[s2;1]; %对应的计数器为 1ends=[s1,s2]; % 将 s1 与 s2 拼接成一个两列的数组 s程序运行如下(“ ??”代表回车,下同.) x=[1,2,2,3,3,4,5,5]; ? [s,k]=FLTJ_1(x) ?s =1 12 23 24 15 2k =5例2 一个数字游戏的设计有这样一个数字游戏:在一个 20 ??10 的矩阵中,0~99 这 100 个数顺序排列在奇数列中(每 20 个数组成一列),另有 100 个图案排列在偶数列中,这样每个 数字右边就对应一个图案.你任意想一个两位数 a,再让 a 减去它的个位数字与十 位数字之和得到一个数 b,然后,在上述矩阵的奇数列中找到 b,将 b 右边的图案记 在心里,最后点击指定的按钮,你心里的那个图案将被显示.下面我们就来编写程序模拟一
您可能关注的文档
- 888政治经济学A2002.doc
- 8长方形的特征.doc
- 8岁开始过性生活的民族.doc
- 8零售商品定价管理.doc
- 9-连分数与佩尔方程的最小整数解.doc
- 9-14第14讲基因工程细胞工程.doc
- 961计算机学科专业基础综合考试大纲(2015版).doc
- 92艰苦奋斗开拓创新导学案.doc
- 900吨架桥机岗位职能.doc
- 92014512计算机应用过程中常见问题分析与故障排查.doc
- 国开景区管理作业2试题及答案.pdf
- 国开景区管理作业1-4试题及答案.pdf
- 河南开放大学本科《地域文化(本)》作业练习1-3试题及答案.pdf
- 2024年大型游乐设施操作证考试题库及答案很全.pdf
- 2024年门座式起重机司机考试题库及答案.pdf
- 2022-2023学年河北省衡水市武强中学高二(下)期末数学试卷【答案版】.docx
- 2022-2023学年河北省保定市崇德实验中学高二(下)期末数学试卷【答案版】.docx
- 江西省2017年中小学教师招聘考试高中化学试卷及答案.docx
- 2024年河北省八年级中考生物真题(解析版).docx
- 2024年南阳市社会保险中心(唐河县企业养老保险分中心)(参公)一级科员招录1人《行政职业能力测验》高频考点、难点(答案详解版).docx
最近下载
- 工程土石方作业安全教育培训课件.ppt
- 医疗质量管理人才培养和梯队建设计划.docx VIP
- 人教版高考英语一轮复习主题做人与做事5 Launching Your Career 开启你的职业生涯课件.ppt
- 苏教版数学八年级上册教材分析.ppt
- 2024年党纪学习教育ppt(党课).pptx VIP
- 相似三角形的判定.2相似三角形(三)教学设计.docx VIP
- 医院人才培养方案及计划书.pptx
- 《6.1.1算术平方根》教学设计教学目标.doc VIP
- 人教版高考英语一轮复习主题做人与做事4 Adversity and Courage 逆境与勇气课件.ppt
- 小儿肾病综合征的护理PPT课件.pptx
文档评论(0)