参考:https://ww2.mathworks.cn/help/matlab/ref/for.html?searchHighlight=for&s_tid=doc_srchtitle
for
用来重复指定次数的 for
循环
全页折叠
语法
forindex
=values
statements
end
说明
for
在循环中将一组语句执行特定次数。index
= values
, statements
, endvalues
为下列形式之一:
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 数据类型,包括字符向量、元胞数组或结构体。
示例
分配矩阵值
在 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
递减值
在 MATLAB 中尝试
尝试此示例
以 -0.2
为步长递增,并显示值。
for v = 1.0:-0.2:0.0
disp(v)
end
1 0.8000 0.6000 0.4000 0.2000 0
执行指定值的语句
对每个矩阵列重复执行语句
在 MATLAB 中尝试
尝试此示例
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
提示
扩展功能
C/C++ 代码生成
使用 MATLAB Coder 生成 C 代码和 C++ 代码。
用法说明和限制:
假设循环结束值等于或接近循环索引数据类型的最大值或最小值。在生成的代码中,循环索引的最后一次递增或递减可能会导致索引变量溢出。索引溢出可能导致无限循环。请参阅循环索引溢出 (MATLAB Coder)。