《《MATLAB程序设计》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《MATLAB程序设计》PPT课件.ppt(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第3章章 MATLAB程序设计程序设计l叶春生,材料学院叶春生,材料学院lTel:027-875570411本章目标l 掌握MATLAB的几种基本控制转移语句l学会使用M文件进行编程l具备对复杂问题的编程求解能力2主要内容l3.1 程序设计概述程序设计概述l3.2 MATLAB程序结构程序结构l3.3 M文件文件33.1 程序设计概述lMATLAB是第四代编程语言是第四代编程语言l程序简洁l可读性很强l调试容易l编程效率高l易移植和维护 l通过编程可求解复杂性更高或特殊的问题通过编程可求解复杂性更高或特殊的问题43.2 MATLAB程序结构l按照程序设计的观点按照程序设计的观点,任何算法功能
2、都可以通过任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合来由程序模块组成的三种基本程序结构的组合来实现实现:l顺序结构:程序按程序语句或模块在执行流中的顺序逐个执行。l选择结构:程序按设定的条件实现程序执行流的多路分支。l循环结构:程序按给定的条件重复地执行指定的程序段或模块。5顺序结构程序程序模块模块1 1程序模块程序模块2 2lMATLAB中实现顺序结构的方法非常简单:中实现顺序结构的方法非常简单:l只需将程序语句顺序排列即可 63.2.2 选择结构l在在MATLAB中,选择结构由中,选择结构由两种语句结构实现:两种语句结构实现:lif语句lswitch语句条件条件程序模块程
3、序模块1成立成立不成立不成立程序模块程序模块23.2.2 选择结构7if语句if表达式表达式 程序模块程序模块1 else 程序模块程序模块2end8if语句的两种变形l(1)单分支单分支if语句:只有一个分支的选择结构语句:只有一个分支的选择结构 if表达式 程序模块endl(2)多分支多分支if语句:超过语句:超过2个的选择个的选择if表达式1 程序模块1 elseif 表达式2 程序模块2 elseif 表达式n 程序模块n else 程序模块n+1end9例:将百分制的学生成绩转换为五级制的成绩输出clearn=input(输入输入n=);if n=90 r=Aelseif n=80
4、r=Belseif n=70 r=Celseif n=60 r=Delse r=Eend运行结果:运行结果:输入n=87r=B102.switch语句 switch 表达式表达式 case 数值数值1 程序模块程序模块1;case 数值数值2 程序模块程序模块2;otherwise 程序模块程序模块n end11例:将百分制的学生成绩转换为五级制的成绩输出使用switch语句 clearn=input(输入输入n=);switch fix(n/10)case 10,9 r=A case 8 r=B case 7 r=C case 6 r=D otherwise r=Eend运行结果:运行结果:
5、输入n=65r=D123.2.3 循环结构l在在MATLAB中,循环结构可中,循环结构可以由两种语句结构实现:以由两种语句结构实现:lfor语句循环结构lwhile语句循环结构程序模块程序模块不成立不成立成立成立条件条件3.2.2 选择结构131for语句循环结构语句循环结构for循环变量起始值:步长:终止值循环变量起始值:步长:终止值循环体循环体end14例:使用for结构计算1+2+3+100clearsum=0;for i=1:100 sum=sum+i;endsum运行结果:运行结果:sum=5050152while语句循环结构语句循环结构 while表达式表达式 循环体循环体end1
6、6例:使用while结构计算1+2+3+100clearsum=0;i=0;while i100i=i+1;sum=sum+i;endsum运行结果:运行结果:sum=5050173.3 M文件文件lMATLAB工作模式工作模式l命令行方式。l程序文件驱动模式l MATLAB文本编辑器文本编辑器 18命令文件命令文件l又称为脚本文件,是一串指令的集合。又称为脚本文件,是一串指令的集合。l用户只需键入该命令文件的文件名,系统就会用户只需键入该命令文件的文件名,系统就会自动逐行执行该文件中的各条语句。自动逐行执行该文件中的各条语句。l适用于小规模运算。适用于小规模运算。19函数文件函数文件l函数文
7、件基本格式:函数文件基本格式:function 输出形参列表=函数名(输入形参列表)注释说明语句段 程序语句段20扩展阅读l1.break语句l2.continue语句l3.return语句l4.try语句l5.echo命令l6.input命令l7.keyboard命令l8.pause命令l子函数与私有函数l变量作用域l函数的参数传递21上机指导l3.6 M文件的调试文件的调试l3.7 M文件性能分析与优化文件性能分析与优化l3.7.1 M文件性能分析l3.7.2 M文件性能优化22应用举例l求求1!+2!+3!+5!的值!的值clearsum=0;for i=1:5 pdr=1;for k=
8、1:i pdr=pdr*k;end sum=sum+pdr;endsum运行结果:运行结果:sum=15323应用举例l鸡兔同笼问题:鸡和兔子关在一个笼子里,已知共有头鸡兔同笼问题:鸡和兔子关在一个笼子里,已知共有头36个,脚个,脚100个,求笼内关个,求笼内关了多少只兔子和多少只鸡?了多少只兔子和多少只鸡?clearchicken=1;while 1 if rem(100-chicken*2,4)=0&(chicken+(100-chicken*2)/4)=36 break;end chicken=chicken+1;endchickenrabbit=(100-2*chicken)/4l运行结果:运行结果:chicken=22rabbit=1424应用举例25