流程控制
1,选择结构
(1)if 语句
基本语法结构有三种:
MATLAB语句的结尾处,必须有关键字end
语句B后面需要加一句end
(2)switch语句
基本语法为:
注意:
(1)MATLAB的switch和C语言的switch语句结构不同。在C语言中,每一个case后面的语句中必须包含类似break语句的流程控制语句,否则程序会依次执行符合条件的case语句后面的每一-个case分支。但是在MATLAB中就不必如此,程序仅仅执行符合条件的case分支。
(2)从代码的完整性和可靠性角度出发,在使用switch语句时,一定要包含otherwise分支,这是一-种良好的编程习惯。
2,循环结构
在MATL AB中,包含两种循环结构,一种是循环次数不确定的while循环,而另-种是循环次数确定的for循环。
(1)while循环结构
while语句可以用来实现“当”型的循环结构,它的一般形式如.下:
循环体执行的语句可以是一-句也可以是多句,在MATL AB语句之后必须使用关键字end作为整个循环结构的结束。
注意:MARTLAB中没有类似C语言的++或者+=等运算操作符,因此在进行诸如累加或者递减的运算时,不得不写出完整的表达式,效率很低。
(2)for 循环结构
使用for 语句循环需要预先知道循环体执行的次数,所以这种循环一般称为确定循环。
for index=start:increment:end
MATLAB语句
end
其中,index的取值取决于start 和end 的值,一般地,这里通常使用等差的数列向量。
在for循环语句中,不仅可以使用行向量进行循环的处理,也可以使用矩阵作为循环次数的控制变量,这是循环的索引值将直接使用矩阵的每一列,循环次数为矩阵的列数。
3,break语句和continue语句
(1)break的作用:强迫终止循环
用法:break;
(2)continue的作用:终端本次循环,将程序跳转到循环条件处,进行下一次循环
用法:continue;
4,提供便利的矩阵数据操作能力
(1)向量化运算
(2)预分配存储空间
在编写M语言程序的时候需要尽量使用内存的预分配,而少使用或者不使用数组内存空间的自动扩充方式。
MATLAB针对不同数据类型有不同的内存预分配函数,如下表:
下一篇:函数文件即更