2012-05-31 66 views
4

python中有for-in循环的matlab等价物吗?在一个行向量是否有一个相当于python的“for in”循环的Matlab循环?

for c_value in C_VALUES: 
+1

请注意:迭代通常不是“Matlab的做法”。在其他语言(如Python)中迭代的大多数用法在矩阵操作中更加优雅高效地在Matlab中表达。 –

+1

@RobertCooper这只是关于数组和矩阵。如果我有10张图片或不同大小的图片,并且必须对每张图片执行相同的操作,我想以for _ in列表格式循环播放。 – Anoop

回答

10

在MATLAB中,for迭代的值:

例如在python,我可以通过使用下面的代码的列表的项目迭代。如果C_VALUES是连续的,则与您的示例几乎相同。

for val = row_vec 
    #% stuff in the loop 
end 

是matlab语法。 val将在迭代时取值为row_vec。你经常会看到(但不是绝对必要的)的语法

for ii = 1:length(values) 
    val = values(ii); 
    #% stuff in the loop using val 
end 

这里,1:length(values)创建一个行向量[1 2 3 ...],并且ii可以用来索引values。 (注意:i是另一种常见的选择,但只要您在此类型的上下文中使用i,那么它将被赋予一个值,您不会再以虚数的方式使用它)。

0

请尝试下面的代码。

vs = [1 12 123 1234]; 
    for v = vs 
     disp(v) 
    end