MATLAB语言有三种常用的程序控制结构:顺序结构、选择结构和循环结构。本文主要记录与这三种程序控制结构相关的部分内容作为笔记 (っ・Д・)っ 。
顺序结构
MATLAB语言的数据输入、数据处理和数据输出命令都是按照顺序结构执行的。
数据的输入
MATLAB语言可使用input
函数从键盘输入数据,其调用方式如下:
方法一
提示信息
表示字符串,用于提示用户应该输入什么数据,等待用户从键盘输入数据,赋值给变量x
。
>> x=input('输入变量:') 输入变量:3
x =
3
|
执行该语句时,命令行窗口显示输入变量:
,然后等待用户从键盘输入x
的值。
方法二
用于用户输入一个字符串,赋值给字符变量str
。
>> str=input('NAME:','s') NAME:NIMITIZ
str =
'NIMITIZ'
|
数据的输出
MATLAB语言可以使用disp
函数实现在命令行窗口显示输出信息,其调用方式如下:
输出信息既可以是字符串,也可以是矩阵。
>> disp('NIMITIZ') NIMITIZ >> A=[1 2;3 4]; >> disp(A) 1 2 3 4
|
选择结构
MATLAB语言中的选择结构有三种常用语句:if
语句、switch
语句和try
语句。
if语句
与C语言很类似,但是if
和end
必须配对使用,end
置于循环体的末尾。
if 条件1 语句组1 elseif 条件2 语句组2 ... elseif 条件m 语句组m else 语句组n end
|
举个栗子
>> x=input('x:'); x:3 >> if x>0 y=sqrt(x); disp(['y=',num2str(y)]); end y=1.7321
>> x=input('x:'); x:-3 >> if x>0 y=sqrt(x); disp(['y=',num2str(y)]); end >>
|
switch语句
在MATLAB语言中,switch
语句也用于多项选择。
switch 表达式 case 表达式1 语句组1 case 表达式2 语句组2 ... case 表达式m 语句组m otherwise 语句组n end
|
try语句
在MATLAB语言中,try
语句是一种试探性执行语句,其格式为:
try
语句先试探执行语句组1
,如果语句组1
在执行过程中出现错误,则将错误信息赋值给系统变量lasterr
,并转去执行语句组2
。
举个栗子
用try
语句求解函数y=x*sin(x)
的值,自变量x
的取值范围[0,pi],步长为pi/10
。
>> x=0:pi/10:pi; >> try y=x*sin(x); catch y=x.*sin(x); end >> y
y =
0 0.0971 0.3693 0.7625 1.1951 1.5708 1.7927 1.7791 1.4773 0.8737 0.0000
>> lasterr
ans =
'错误使用 * 用于矩阵乘法的维度不正确。请检查并确保第一个矩阵中的列数与第二个矩阵中的行数匹配。要执行按元素相乘,请使用 '.*'。'
|
循环结构
MATLAB语言有两种循环结构语句:for
循环语句和while
循环语句。其使用方式都与C语言类似。
for循环语句
for 循环变量=表达式1:表达式2:表达式3 循环体语句 end
|
表达式1
的值为循环变量的初始值,表达式2
的值为步长,表达式3
的值为循环变量的终值;
- 当步长为1时,可以省略
表达式2
;
- 当步长为负值时,初值大于终值;
- 循环体内不能对循环变量重新设置;
- for循环允许嵌套使用;
for
和end
配套使用。
举个栗子
>> sum=0; >> for k=1:100 sum=sum+k; end >> sum
sum =
5050
|
while循环语句
与C语言类似,没什么好记录的(~ ̄▽ ̄~)。
举个栗子
>> sum=0; >> n=0; >> while sum<800 n=n+1; sum=sum+n; end >> n
n =
40
>> sum
sum =
820
|