能错误出在更前面。在程序调试时,这种错误极难修改。在编程时,在if语句中可以再嵌入if语句。
2switch语句用if形式的条件转移语句,如果检查的重数过多,会使得程序非常混乱。这时可以用switch形式的条件转移语句,其调用格式是:switchexpressio
casevalue1stateme
ts1
casevalue2stateme
ts2
5
f0第3章MATLAB编程
otherwisestateme
ts
e
d表达式expressio
计算出的是一个标量或是一个字符串。如果expressio
的值是value1,则运行语句块stateme
ts1,再跳到e
d后面执行。如果expressio
的值是value2,则运行语句块stateme
ts2,再跳到e
d后面执行。依次类推。如果各种情况都不满足,则执行语句块stateme
ts,再执行e
d后面的语句。
提示:value是表达式expressio
可能计算出的值,也可以是单元数组形式。语句块中也可以包含switch语句。case语句可以有多个,但otherwise语句只能有一个。如果有多个value值满足条件,只执行第1个。
例如:switchx
caseAas优秀
caseBbs良好
caseCcs一般
caseDds及格
otherwises不及格
e
d这段程序把用字母形式表示的成绩,转换成文字形式。switch语句可以是如下形式:switchvar
case1disp1
case234disp2or3or4
case5disp5
otherwisedispsomethi
gelse
e
d
提示:switch与e
d必须配对,两者就像括号一样把程序段括在一起。switch语句中可以没有otherwise语句。
6
f031基本语句
314循环语句
用循环语句另重复执行一段代码。在MATLAB中循环语句有“for”循环和“while”循环两种。当循环次数已知时,用“for”循环。“while”循环是通过检查一个控制条件来决定是否进行循环。用“co
ti
ue”和“break”语句可以更灵活的退出循环。
1“for”循环在循环的次数已知的情况下,使用“for”循环,其调用格式是:fori
dexstarti
creme
te
d
stateme
tse
d默认情况下,增量i
creme
t是1,可以指定任何的数值为增量,包括负数。当增量为正数时,i
dex从start开始增加,直到超过e
d时停止循环。当增量为负数时,直到i
dex小于e
d值时循环停止。
提示:循环语句可以嵌套,构成多重循环。
例如:form13
for
13ifm
Am
1elseAm
0e
d
e
de
d这一程序段运行后构成的矩阵A是一个三阶的单位阵。
提示:循环变量也可以是矩阵形式或多维数组形式,还可以是字符串形式。
例如:对于m
矩阵A,下面的代码forkA
stateme
tse
d变量k依次取矩阵A的列向量。也就是说,第1次循环,kA1。第2次循环,kA2。依次类推,共循环
次。
提示:在循环体内对循环变量重新赋值是不会终止循环的。
例r