2012-05-31 106 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