




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基础编程,MATLAB,第三章,编程基础,用Matlab语言编写的程序称为M文件。,M文件是由若干Matlab命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法。事实上,Matlab提供的内部函数以及各种工具箱,都是利用Matlab语言开发的M文件。用户也可以结合自己的工作需要,开发自己的程序或工具箱。,M文件,M文件以.m为扩展名。,M文件是一个文本文件,可以用任何文本编辑器来建立和编辑,通常使用Matlab自带的M文件编辑器。,M文件的建立与打开,程序控制结构有三种:顺序结构、选择结构和循环结构。,M文件控制流,选择结构是根据给定的条件成立或不成立,分别执行不同的语句。Matlab用于实现选择结构的语句有if语句和switch语句。,关系运算,比较大小,如果结论是真则返回1,否则返回0,注意=与=的区别,关系操作符能用来比较两个同样大小的数组,或用来比较一个数组和一个标量,在后一种情况,标量和数组中的每一个元素相比较,比较结果与数组大小一样。,关系运算符,逻辑运算,逻辑运算符,A456;789;disp(B),数据输出disp,数据的输出:disp,单分支结构,ifexpression(条件)statements(语句组)end,if条件语句,数据输出fprintf,format中还可以使用一些特殊格式,如:,n(换行)t(制表符)b(退格)(反斜杆)%(百分号),数据输出fprintf,fprintf(第%2d次迭代值为:%10.8fn,n,x1),例:,format中的输出格式要与输出变量一一对应,functionout1,out2,=函数名(in1,in2,)%注释说明部分(可选)函数体语句(必须),第一行为引导行,表示该M文件是函数文件函数名的命名规则与变量名相同(必须以字母开头)当输出行参多于一个时,用方括号括起来函数必须是一个单独的M文件函数文件名必须与函数名一致以百分号开始的语句为注释语句,函数文件,函数文件由function语句引导,函数文件举例,myfun.m,functionx1,x2=myfun(a,b,c)temp=sqrt(b2-4*a*c);x1=(-b+temp)/2/a;x2=(-b-temp)/2/a;,函数调用的一般格式,输出实参列表=函数名(输入实参列表),函数调用,子函数,functionavg=fun(x)%主函数n=length(x);avg=mean(x,n);functiona=mean(x,n)%子函数a=sum(x)/n;,M文件的编辑与路径设置,进入MATLAB的Editor/Debugger窗口来编辑程序在编辑环境中,文字的不同颜色显示表明文字的不同属性。绿色:注解;黑色:程序主体;红色:属性值的设定;蓝色:控制流程。在运行程序之前,必须设置好MATLAB的工作路径,程序设计技术,程序出错主要为两类:1)格式错误,如缺(或)等,在运行时可检测出大多数该类错误,并指出错在哪一行。2)算法错误,逻辑上的错误,不易查找,遇到此类错误时需耐心。,程序控制结构有三种:顺序结构、选择结构和循环结构。任何复杂的程序都由这三种基本结构组成。,顺序结构,M文件控制流,选择结构是根据给定的条件成立或不成立,分别执行不同的语句。Matlab用于实现选择结构的语句有if语句和switch语句。,选择结构,ifexpression1(条件1)statements1(语句组1)elseifexpression2(条件2)statements2(语句组2).elseifexpressionm(条件m)statementsm(语句组m)elsestatements(语句组)end,多分支结构,if条件语句,if表达式1语句体1elseif表达式2语句体2else语句体nend,在执行for-end循环和while-end循环语句时,可以利用“if+break”语句中止循环运算。,当有多个条件时,若条件式1为假,则再判断elseif的条件式2,如果所有条件式都不满足,则执行else的语句体n,然后跳出ifelse-end结构;当条件式为真则执行相应的语句体,否则跳过该语句体。,ifelse-end结构也可以是没有elseif和else的简单结构,但if和end是不可省略且必须配对使用。,编制M函数文件,实现不等长多项式的加法运算。,forvariable=expressionstatement(循环体)end,循环变量,循环结构,whileexpression(条件)statement(循环体)end,for循环,【练习】一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。,例:用循环求解s=0;fori=1:100s=s+i;ends=0;i=1;while(isum(1:100)ans=5050例:用循环求解求最小的m,使得s=0;m=0;while(stic,s=0;fori=1:100000,s=s+1/2i+1/3i;end;tocelapsed_time=1.1820tic,i=1:100000;s=sum(1./2.i+1./3.i);toc向量化所需时间少elapsed_time=0.3010i=1:10;s=1./2.i+1./3.i,ss=sum(1./2.i+1./3.i)s=0.83330.36110.16200.07480.03540.01700.00830.00410.00200.0010ss=1.4990,循环语句可以嵌套使用,while循环,whileexpression(条件)statement(循环体)end,不能在for循环体内改变循环变量的值,为了提高代码的运行效率,应尽可能提高代码的向量化程度,避免for循环的使用,如果预先就知道循环的次数,则可以采用for循环;否则,如果预先无法确定循环的次数,则可以使用while循环。,while循环举例,【例】Fibonacci数组的元素满足Fibonacci规则:且。现要求该数组中第一个大于10000的元素。,a(1)=1;a(2)=1;i=3;a(i)=a(i-1)+a(i-2);whilea(i)s=0;fori=1:10000s=s+i;ifs10000,break;endendii=141,return语句,functionoutput=fact(n)ifn=1output=1;return;endoutput=n*fact(n-1);,根据表达式的不同取值,分别执行不同的语句。,switchexpression(表达式)casevalue1(表达式1)statement1(语句组1)casevalue2(表达式2)statement2(语句组2).casevaluem(表达式m)statementm(语句组m)otherwisestatement(语句组)end,switch语句,注意case语句中可选多个取值的情况。多个取值用“”表示,括号内的数据用逗号分隔。,实现把y向量每个元素调整为被3整除后的余数后,保存到g向量中。,程序举例,1编制M文件实现分段函数:,(1)用函数文件来实现,1编制M文件实现分段函数:,(2)用程序文件来实现,2.编制程序,判断输入数据的奇偶性。,(1)只考虑输入数字的情况,2.编制程序,判断输入数据的奇偶性。,(2)考虑输入是空格或直接按回车键的情况,5.编制程序,寻找输入数组中的最大数。,4.求任意度数的三角函
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 1120:2025 EN Conveyor belts - Determination of strength of mechanical fastenings for textile conveyor belts- Static test method
- T/CI 172-2023扑翼飞行机器人机载视觉系统
- 商场安全员培训课件
- 2025年汽车行业智能网联技术发展前景研究报告
- 2025年可再生能源行业可再生能源发电技术及市场前景研究报告
- 2025年风电行业风能利用技术发展前景研究报告
- 2025年电信通讯行业5G技术应用前景研究报告
- 2025年区块链行业区块链数字资产交易市场前景研究报告
- 定海区2025年浙江舟山市定海区环境卫生管理中心编外招聘2人笔试历年参考题库附带答案详解
- 大足区2025重庆大足区某机关事业单位招聘2人笔试历年参考题库附带答案详解
- 离子检验-教案-
- GB/T 12643-2025机器人词汇
- Unit 5 Lesson 20 The Spring Festival Is Coming!(说课稿)-2024-2025学年冀教版(三起)英语五年级上册
- 智能悬架系统集成开发关键技术与实践-2024-12-技术资料
- 应用PDCA降低药占比
- 分包商安全管理规定(4篇)
- 超重与失重+说课高一上学期物理人教版(2019)必修第一册
- 公司收取管理费协议书范本
- JTS-165-6-2008滚装码头设计规范-PDF解密
- 设备维修与保养(课件)
- 医院培训课件:《和谐医患关系的建构与医疗纠纷的应对》
评论
0/150
提交评论