预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共43页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第4章MATLAB程序设计 本章目标 •掌握MATLAB的几种基本控制转移语句 •学会使用M文件进行编程 •具备对复杂问题的编程求解能力 上海理工陈国平 4.1程序设计概述 •MATLAB是第四代编程语言 –程序简洁 –可读性很强 –调试容易 –编程效率高 –易移植和维护 •通过编程可求解复杂性更高或特殊的问题 上海理工陈国平 M文件 •MATLAB工作模式:命令行方式,程序文件驱动 模式。 •用MATLAB语言编写的程序,称为M文件。M文 件可以根据调用方式的不同分为两类:命令文件 (ScriptFile)和函数文件(FunctionFile)。 •MATLAB文本编辑器 上海理工陈国平 命令文件 •又称为脚本文件,是一串指令的集合。 •用户只需键入该命令文件的文件名,系统 就会自动逐行执行该文件中的各条语句。 •适用于小规模运算。 上海理工陈国平 函数文件 •函数文件基本格式: function[输出形参列表]=函数名(输入形参列表) 注释说明语句段 程序语句段 其中以function开头的一行为引导行,表示该M文件是 一个函数文件。函数名的命名规则与变量名相同。 输入形参为函数的输入参数,输出形参为函数的输 出参数。当输出形参多于一个时,则应该用方括号 括起来。 上海理工陈国平 functiony=fun1(x) %Myfirstfunction z=x^2; y=z+x; 保存为文件fun1.m >>fun1(2) ans= 6 上海理工陈国平 4.2MATLAB程序结构 •按照程序设计的观点,任何算法功能都可 以通过由程序模块组成的三种基本程序 结构的组合来实现: –顺序结构:程序按程序语句或模块在执行流 中的顺序逐个执行。 –选择结构:程序按设定的条件实现程序执行 流的多路分支。 –循环结构:程序按给定的条件重复地执行指 定的程序段或模块。 上海理工陈国平 顺序结构 程序模块1 程序模块2 •MATLAB中实现顺序结构的方法非常简 单: –只需将程序语句顺序排列即可 上海理工陈国平 选择结构 成立不成立•在MATLAB中,选择结 条件构由两种语句结构实现: 程序模块1程序模块2–if语句 –switch语句 上海理工陈国平 if语句 if表达式 程序模块1 else 程序模块2 end 上海理工陈国平 if语句的两种变形 •(1)单分支if语句:只有一个分支的选择结构 if表达式 程序模块 end •(2)多分支if语句:超过2个的选择 if表达式1 程序模块1 elseif表达式2 程序模块2 … elseif表达式n 程序模块n else 程序模块n+1 上海理工end陈国平 例:使用if语句编写程序,将输入的百分制的学生 成绩n转换为A、B、C、D、E五级制的成绩输出 clear n=input('Inputn='); ifn>=90 r='A' elseifn>=80运行结果: r='B'Inputn=87 elseifn>=70r= r='C'B elseifn>=60 r='D' else r='E' end 上海理工陈国平 数据的输入 从键盘输入数据,则可以使用input函数来进 行,该函数的调用格式为: A=input(提示信息,选项); 其中提示信息为一个字符串,用于提示用户 输入什么样的数据。 如果在input函数调用时采用's'选项,则允 许用户输入一个字符串。例如,想输入一 个人的姓名,可采用命令: xm=input('What''syourname?','s'); 上海理工陈国平 switch语句 switch表达式 case数值1 程序模块1; case数值2 程序模块2; …… otherwise 程序模块n; …… end 上海理工陈国平 例:使用switch-case语句编写程序,将输入的百 分制的学生成绩n转换为A、B、C、D、E五级制的 成绩输出 clear n=input('Inputn='); switchfix(n/10)%fix函数实现舍小数取整(非四舍五入) case{10,9} r='A' case8 r='B' case7运行结果: r='C'Inputn=65 case6r= r='D' otherwiseD r='E' end 上海理工陈国平 循环结构 不成立 条件 成立•在MATLAB中,循环结构 程序模块可以由两种语句结构实现: –for语句循环结构 –while语句循环结构 循环结构 上海理工陈国平 for语句循环结构 for循环变量=起始值:步长:终止值 循环体 end 步长为1