值可能会覆盖另一个程序中的变量值。在编程中出现这种错误是极难发现的。静态变量只能在M函数中用关键字“persiste
t”声明,只有声明了静态变量的函数才允许使用它。只要函数存在,MATLAB就不清除静态变量,因此静态变量的值可以从一个函数传递到另一个函数。要使用静态变量必须先声明,最好把静态变量的生命放在程序的开始。例如要把变量SUM_X声明为静态变量,可以用下面的形式声明:persiste
tSUM_X如果用“clearfu
ctio
ame”语句、用“clearall”或者编辑M函数,都会清除函数中所声明的静态变量。可以用“mlock”防止函数被清除,从而保证M函数中所声明的静态变量不被清除。使用变量名时,注意不要使用关键字。MATLAB中的关键字是:break、case、catch、classdef、co
ti
ue、else、elseif、e
d、for、fu
ctio
、global、if、otherwise、parfor、persiste
t、retur
、switch、try、while,用函数“iskeyword”可以查看所有的关键字。
2
f031基本语句
312赋值语句
MATLAB语言的赋值语句格式是:variables_list=expressio
等号左边的变量名列表为MATLAB语句的返回值。等号右边的表达式可以是各种数值计算式,也可以是函数调用等。赋值语句的等号右端,可以用分号结束,也可以用逗号结束或者直接回车。用逗号结束或直接回车,运行后变量名列表中所赋的值都会显示出来。用分号结束,运行后变量名列表中所赋的值不会显示出来。
提示:分号和逗号是语句的分隔符。在1行代码中可以有多个语句,语句之间用逗号或分号分隔。MATLAB中有些函数调用的返回值有多个,这时就需要把变量名列表用方括号“”括起来,方括号中的各个变量之间用逗号分隔。如果左边的变量名列表和等号省略,MATLAB会自动把表达式的值赋给缺省变量“a
x”。
313条件转移语句
条件转移语句控制程序运行过程中,执行哪一块程序代码。一种条件转移语句是“if”语句,根据判断条件为“真”、“假”选择代码块的执行。另一种条件转移语句是“switch”语句,根据条件表达式的值,选择执行哪一块代码。
1if语句if语句先计算一个由逻辑运算符“,,,,,”等连接的逻辑表达式的值,根据逻辑表达式值的“真”、“假”来决定执行哪一部分代码。1“ife
d”形式条件转移语句最简单的形式是“ife
d”形式,其调用格式是:iflogical_expressio
stateme
tse
d如果逻辑表达式的值为“真”(逻辑值为1)MATLAB执行if和e
d间的所有语句,然后再执行e
d后面的语句。如果逻辑表达式的值为“假”(逻辑0),MATLAB跳过if和e
d之间的语句,直接执行e
d后面的语句r