在Matlab中用矢量作为for循环的范围
我想知道在Matlab中使用向量作为for循环范围的规则是什么 比如说,在Matlab中用矢量作为for循环的范围,matlab,Matlab,我想知道在Matlab中使用向量作为for循环范围的规则是什么 比如说, range = [0.1:0.01:2]'; % wrong range = [0.1:0.01:2]; % correct for i = range i end 为什么range是列向量,而 如果范围是行向量,它会吗 将i=range解释为i取range的每个值, 或者i被分配了向量范围 感谢~发件人: 值具有以下形式之一: valArray 从数组的后续列创建列向量索引 valArray每次迭代。例如,在第一次迭
range = [0.1:0.01:2]'; % wrong
range = [0.1:0.01:2]; % correct
for i = range
i
end
range
是列向量,而
如果范围
是行向量,它会吗i=range
解释为i
取range
的每个值,
或者i
被分配了向量范围
valArray
从数组的后续列创建列向量索引
valArray
每次迭代。例如,在第一次迭代中,
index=valArray(:,1)
range=[0.1:0.01:2]
,那么名为range
的变量就是一个包含该范围内的值的行向量。您的循环将正常工作。就像它开始的时候一样
for i=[0.1 0.11 0.12…]
更一般地说,
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
因此,如果range
是一个行向量,它将在其值上循环。但是,如果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