目录
用来重复指定次数的for循环。
语法
for index = values
statements
end
提示
-
要以编程方式退出循环,可以使用break语句。要跳过循环中的其余指令,并开始下一次迭代,可以使用continue语句。
-
避免在循环语句内对
index
变量赋值。for
语句会覆盖循环中对index
所做的任何更改。 -
要对单列向量的值进行迭代,首先将其转置,以创建一个行向量。
说明
for index = values, statements, end 在循环中将一组语句执行特定次数。values 为下列形式之一:
-
initVal:endVal - index 变量从 initVal 至 endVal 按 1 递增,重复执行 statements 直到 index 大于 endVal。
-
initVal:step:endVal - 每次迭代时按值 step 对 index 进行递增,或在 step 是负数时对 index 进行递减。
-
valArray - 每次迭代时从数组 valArray 的后续列创建列向量 index。例如,在第一次迭代时,index = valArray(:,1)。循环最多执行 n 次,其中 n 是 valArray 的列数,由 numel(valArray(1,:)) 给定。输入 valArray 可属于任何 MATLAB® 数据类型,包括字符向量、元胞数组或结构体。
示例
分配矩阵值
创建一个 10 阶 Hilbert 矩阵。
s = 10;
H = zeros(s);
for c = 1:s
for r = 1:s
H(r,c) = 1/(r+c-1);
end
end
递减值
以 -0.2
为步长递增,并显示值。
for v = 1.0:-0.2:0.0
disp(v)
end
1
0.8000
0.6000
0.4000
0.2000
0
执行指定值的语句
for v = [1 5 8 17]
disp(v)
end
1
5
8
17
对每个矩阵列重复执行语句
for I = eye(4,3)
disp('Current unit vector:')
disp(I)
end
Current unit vector:
1
0
0
0
Current unit vector:
0
1
0
0
Current unit vector:
0
0
1
0