可能重复:
如何在MATLAB中迭代n维矩阵中的每个元素?
我有一个列向量list,我想迭代这样:
for elm in list
//do something with elm
Run Code Online (Sandbox Code Playgroud)
怎么样?
Jon*_*nas 95
在Matlab中,您可以直接迭代列表中的元素.如果您不需要知道当前正在处理哪个元素,这将非常有用.
因此你可以写
for elm = list
%# do something with the element
end
Run Code Online (Sandbox Code Playgroud)
请注意,Matlab会遍历列list,因此如果list是nx1向量,则可能需要对其进行转置.
Jam*_*mes 30
for i=1:length(list)
elm = list(i);
//do something with elm.
Run Code Online (Sandbox Code Playgroud)
在matlab中有许多函数,你根本不需要迭代.
例如,要乘以它在列表中的位置:
m = [1:numel(list)]';
elm = list.*m;
Run Code Online (Sandbox Code Playgroud)
matlab中的矢量化算法通常要快得多.