概述
从零开始学MATLAB(三) MATLAB程序流程控制
1.程序和程序设计
(1)基本步骤:分析问题,确定模型或方法->设计算法,并画出流程图->选择编程工具,根据算法编写程序->调试程序,分析程序输出结果
(2)三种基本结构:顺序结构、选择结构、循环结构
脚本文件和函数文件:脚本文件是可以在命令行窗口直接执行的文件,也叫命令文件;函数文件是定义一个函数,不能直接执行,而必须以函数调用的方式来调用它。
(3)文件的建立:
①用命令按钮创建文件。
②用edit命令创建文件。例如创建test.m文件
//>>edit test
2、顺序结构
(1)数据的输入
A=input(提示信息,选项);
(2)数据的输出
disp(输出项);
(3)程序的暂停
pause(延迟秒数)(若不写延迟秒数,则一直暂停直至用户按下任意键。)
若要强行中止程序的运行可使用Ctrl+C命令。
3.选择结构之用if语句实现选择结构
(1)单分支if语句:
if 条件(关系运算或逻辑运算)
语句组
end
当条件结果为标量时,非零表示成立,零表示不成立;当条件结果为矩阵时,如果矩阵非空且不包含零元素则条件成立,否则不成立。
(2)双分支if语句:
if 条件
语句组1
else
语句组2
end
(3)多分支if语句
if 条件1
语句组1
elseif 条件2
语句组2
……
elseif 条件m
语句组m
else
语句组n
end
注:不管有几个分支,程序执行完一个分支后,其余分支将不会再执行,整个if语句结束。
4.选择结构之用switch语句实现选择结构
switch语句的格式:
switch 表达式
case 结果表1
语句组1
case 结果表2
语句组2
……
case 结果表m
语句组m
otherwise
语句组n
end
注:
①整个过程只会执行一个语句组。
②switch表达式应该是一个其值可以列举的表达式。
③case结果表为switch表达式的取值,当取值有多个时,用单元数据表示。
5.循环结构之用for语句实现循环结构
for语句格式:
for 循环变量=表达式1(初值):表达式2(步长):表达式3(终值)
循环体语句
end
说明:①for语句针对向量里的每一个元素执行一次循环体。
②退出循环之后,循环变量的值就是向量中最后的元素值。
③当向量为空时,循环体一次也不执行。
按照MATLAB的定义,for语句的循环变量也可以是一个列向量(即,每列执行一次),其格式为:
for循环变量=矩阵表达式
循环体语句
end
6.循环结构之用while语句实现循环结构
(1)格式:
while 条件
循环体语句
end
while语句多用于循环次数不确定的情况,而对于循环次数确定的情况,使用for语句更方便。但从功能上讲两种循环语句可以相互替代。
(2)break语句和continue语句
①break语句用来跳出循环体,结束整个循环。
②continue语句用来结束本次循环,接着进行下一次是否执行循环的判断。
(3)循环的嵌套:循环体中又包含循环结构
例如,用筛选法求某自然数范围内的全部素数
基本思想:要找出2m之间的全部素数,首先在2m中划去2的倍数(不包括2),然后依次划去3的倍数,5的倍数,……,直到再划去不超过√m的倍数,剩下的就都是素数。
7.函数文件的定义与调用
(1)函数文件的基本结构
function 输出形参表=函数名(输入形参表)
注释说明部分
函数体语句
当有多个形参时,形参之间用逗号分隔,组成形参表。当输出形参多于一个时,应该用方括号括起来,构成一个输出矩阵。
①函数文件名通常由函数名再加上扩展名.m组成,函数文件名与函数名也可以不相同(不同时系统忽略函数名,调用时使用函数文件名)。
②return语句表示结束函数的执行
例如,求圆的面积和周长的函数文件:
创建文件fcircle.m,内容如下:
function[s,p]=fcircle®
s=pirr;
p=2pir;
(2)函数调用
调用格式:[输出实参表]=函数名(输入实参表)
在调用函数时,函数输入输出参数称为实参。
(3)匿名函数
函数句柄变量=@(匿名函数输入参数)匿名函数表达式
@----函数句柄运算符
例如,
//>>f=@(x,y)x2+y2
//f=
// @(x,y)x2+y2
//>>f(3,4)
//ans=
// 25
还可以这样运用:函数句柄变量=@函数名(内部函数或自定义函数)
8.函数的递归调用:一个函数调用它自身称为函数的递归调用。
(1)直接递归调用
(2)间接递归调用
9.函数参数与变量的作用域
(1)函数参数的可调性:
函数nargin -> 输入实参的个数
函数nargour -> 输出实参的个数
(2)全局变量与局部变量:
局部变量是指在程序中只在特定过程或函数中可以访问的变量。全局变量的作用域是整个MATLAB工作空间,也就是全程有效,所有函数都可以对它进行存取和修改。
全局变量定义格式:
global 变量名
最后
以上就是安详心锁为你收集整理的从零开始学MATLAB(三) MATLAB程序流程控制的全部内容,希望文章能够帮你解决从零开始学MATLAB(三) MATLAB程序流程控制所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复