我想知道在Matlab中使用矢量作为for-loop范围的规则是什么?
例如,
range = [0.1:0.01:2]'; % wrong
range = [0.1:0.01:2]; % correct
for i = range
i
end
Run Code Online (Sandbox Code Playgroud)
range是列向量,它将无法工作,而如果range是行向量,它会?i = range被解释为i采用每个值range,还是i赋予向量range?谢谢〜
Sam*_*rts 10
更一般地,range可以是矩阵,并且循环变量在其列上循环.
range = rand(3,3);
for col = range
col
end
col =
0.86341
0.11625
0.20319
col =
0.59721
0.098357
0.8356
col =
0.89578
0.46217
0.93585
Run Code Online (Sandbox Code Playgroud)
因此,如果range是行向量,它将循环其值.但如果range是列向量,它将作为其值循环在该单个列上.
来自http://www.mathworks.co.uk/help/techdoc/ref/for.html:
Run Code Online (Sandbox Code Playgroud)for index = values program statements : end...
values具有以下形式之一:
valArray在每次迭代时从数组的后续列创建列向量索引
valArray。例如,在第一次迭代中,index = valArray(:,1)...
| 归档时间: |
|
| 查看次数: |
19200 次 |
| 最近记录: |