欢迎来到天天文库
浏览记录
ID:58701439
大小:236.00 KB
页数:55页
时间:2020-10-04
《第4章 MATLAB程序设计课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章MATLAB程序设计1本章目标掌握MATLAB的几种基本控制转移语句学会使用M文件进行编程具备对复杂问题的编程求解能力2主要内容4.1程序设计概述4.2MATLAB程序结构4.3M文件34.1程序设计概述MATLAB是第四代编程语言程序简洁可读性很强调试容易编程效率高易移植和维护通过编程可求解复杂性更高或特殊的问题44.2MATLAB程序结构按照程序设计的观点,任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合来实现:顺序结构:程序按程序语句或模块在执行流中的顺序逐个执行。选择结构:程序按设定的条件实现程序执行流的多路分支。循环结构:程序按
2、给定的条件重复地执行指定的程序段或模块。54.2.1顺序结构1.数据的输入从键盘输入数据,则可以使用input函数来进行,该函数的调用格式为:A=input(提示信息,选项);其中提示信息为一个字符串,用于提示用户输入什么样的数据。如果在input函数调用时采用's'选项,则允许用户输入一个字符串。例如,想输入一个人的姓名,可采用命令:xm=input('What''syourname?','s');64.2.1顺序结构2.数据的输出MATLAB提供的命令窗口输出函数主要有disp函数,其调用格式为disp(输出项)其中输出项既可以为字符串,也可以为矩阵。
3、74.2.1顺序结构例4-1输入x,y的值,并将它们的值互换后输出。程序如下:x=input('Inputxplease.');y=input('Inputyplease.');z=x;x=y;y=z;disp(x);disp(y);84.2.1顺序结构例4-2求一元二次方程ax2+bx+c=0的根。程序如下:a=input('a=?');b=input('b=?');c=input('c=?');d=b*b-4*a*c;x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];disp(['x1=',num2str(x(1)),
4、',x2=',num2str(x(2))]);94.2.1顺序结构3.程序的暂停暂停程序的执行可以使用pause函数,其调用格式为:pause(延迟秒数)如果省略延迟时间,直接使用pause,则将暂停程序,直到用户按任一键后程序继续执行。若要强行中止程序的运行可使用Ctrl+C命令。104.2.2选择结构在MATLAB中,选择结构由两种语句结构实现:if语句switch语句条件程序模块1成立不成立程序模块2选择结构11if语句在MATLAB中,if语句有3种格式。(1)单分支if语句:(2)双分支if语句:(3)多分支if语句:12if语句if表达式程序模
5、块1end(1)单分支if语句:当条件成立时,则执行语句组,执行完之后继续执行if语句的后继语句,若条件不成立,则直接执行if语句的后继语句。13if语句if表达式程序模块1else程序模块2end(2)双分支if语句:当条件成立时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if语句的后继语句。14if语句例4-3计算分段函数的值。程序如下:x=input('请输入x的值:');ifx<=0y=(x+sqrt(pi))/exp(2);elsey=log(x+sqrt(1+x*x))/2;endY15if语句if表达式程序模块1else
6、if表达式2程序模块2……elseif表达式m程序模块melse程序模块nend语句用于实现多分支选择结构。(3)多分支if语句:16if语句例4-4输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出。c=input('请输入一个字符','s');ifc>='A'&c<='Z'disp(setstr(abs(c)+abs('a')-abs('A')));elseifc>='a'&c<='z'disp(setstr(abs(c)-abs('a')+abs('A'))
7、);elseifc>='0'&c<='9'disp(abs(c)-abs('0'));elsedisp(c);end17例4-5:将百分制的学生成绩转换为五级制的成绩输出clearn=input('输入n=');ifn>=90r='A'elseifn>=80r='B'elseifn>=70r='C'elseifn>=60r='D'elser='E'end运行结果:输入n=87r=B182.switch语句switch表达式case数值1程序模块1;case数值2程序模块2;……otherwise程序模块n……endswitch语句根据表达式的取值不同,分别
8、执行不同的语句192.switch语句当表达式的值等于表达式1的值
此文档下载收益归作者所有