作为一种编程语言,MATLAB提供了所有变成语言都有的语句结构。
1. 顺序结构
最简单的程序结构,用户编写好程序之后,系统按照程序的物理位置顺序执行。没有控制语句,结构单一,容易编写。
例:运行代码clc;clear;close;x=1:0.01:10;y=sin(x);plot(x,y)运行结果
2. 循环结构
能够重复执行某一段相同语句,MATLAB中有两种循环,for循环和while循环若已知循环次数,通常用for循环,若循环次数未知,但有循环条件,用while循环。
(1)for循环
调用格式
for 循环变量=循环表达式1:循环表达式2:循环表达式3
循环体语句
每个for循环都必须用end结束,而且for循环可以形成嵌套,形成多重循环,但其语句速度较慢。
例:运行代码
x=[1 2 3 4 5];
y=zeros(1,5);
y(i)=x(i)^2;
运行结果
(2)while循环
调用格式
While 条件
循环体语句
若循环条件成立,则执行循环语句,执行后在判断条件是否成立,如不成立则跳出循环结构,while循环应避免进入死循环,无法从循环退出。While循环还可以和为了循环,for循环进行嵌套。
运行代码
while n<=100 %当n<=100时,执行循环体
运行结果
3. 条件转移结构
If(条件1) %如果条件1满足,则执行下面的段落1
语句组1 %这里也可以嵌套下一级的if结构
Elseif(条件2) %否则如果满足条件2,则执行下面段落2
…… %可以按照这样的结构设置多种转移条件
Else %上面的条件均不满时,执行下面段落
语句组n+1
运行代码
For i=1:10000
IF S>10000
4 开关结构
基本结构
switch〈选择判断量〉 Case 选择判断值1 选择判断语句1 case 选择判断值2 选择判断语句2 …… otherwise 判断执行语句 end
与其他的程序设计语言的switch-case语句不同的是,在MATLAB语言中,当其中一个case语句后的条件为真时,switch-case语句不对其后的case语句进行判断,也就是说在MATLAB语言中,即使有多条case判断语句为真,也只执行所遇到的第一条为真的语句。这样就不必像C语言那样,在每条case语句后加上break语句以防止继续执行后面为真的case条件语句。
运行代码
switch month
case {3,4,5}
season='spring'
case {6,7,8}
season='summer'
case {9,10,11}
season='autumn'
season='winter'
运行结果
season =spring'
5 试探结构
调用格式
程序代码
程序代码
try 的作用是让 Matlab 尝试执行一些语句, 执行过程中如果出错, 则执行 catch 部分的语句.
例:运行代码
a=magic(4);
%执行该语句段出现错误,转而执行catch之后的语句段
c=a(1:3,1:3)*b
运行结果
c =16 2 3
5 11 10
9 7 6
ans ='错误使用 *
内部矩阵维度必须一致。'