循环输出变量
for i=1:4 i end
其中1:4代表一个行向量1 2 3 4,在matlab中,行向量的另外一个表示方法是[1 2 3 4],即for i=1:4等价于for i=[1 2 3 4],编写程序时牢记一个点:对于某次固定的迭代,i会从这个向量中取一个值,该值可以参与循环中的计算。
运行输出
i = 1 i = 2 i = 3 i = 4
修改迭代步长
例子:遍历1~10之间的所有奇数
for i=1:2:10 i end
其中1:2:10表示迭代从1开始,步长为2,最大不超过10,即代表行向量1 3 5 7 9。
备注:步长可以为负值
遍历行向量变量和列向量变量
X=rand(1,5); for i=X i end
X=rand(5,1); for i=X i end
其中rand(1,5)生成一个1行5列的矩阵,即行向量;rand(5,1)生成5列1行的矩阵,即列向量。生成的向量会存放在变量X中,然后使用for i=X对向量进行遍历。 如果X为矩阵,对矩阵进行遍历
X=magic(3); X for i=X i end
运行输出
X = 8 1 6 3 5 7 4 9 2 i = 8 3 4 i = 1 5 9 i = 6 7 2
其中magic(n)代表魔法函数(任意一行或一列的和值相等)。从运行结果中可以看出,对矩阵的循环就是在每次迭代中,依次取出矩阵的每一列。 终止循环break
X=[2 8 4 3 9 1]; for i=X if i==3 disp('3 found'); break; end end
查找向量X是否含有3,如果有则终止循环。 跳过本次循环continue
X=[5 7 -1 3 -8 6]; sum=0; for i=X if i