参考:https://ww2.mathworks.cn/help/matlab/ref/for.html?searchHighlight=for&s_tid=doc_srchtitle
语法
for index = values
statements
end
说明
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
提示
扩展功能
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
-
假设循环结束值等于或接近循环索引数据类型的最大值或最小值。在生成的代码中,循环索引的最后一次递增或递减可能会导致索引变量溢出。索引溢出可能导致无限循环。请参阅循环索引溢出 (MATLAB Coder)。