是否有一个Matlab循环等效于python的"for in"循环?

str*_*eek 6 matlab

是否有一个matlab相当于python中的"for in"循环?

例如在python中,我可以使用以下代码遍历列表中的项目:

for c_value in C_VALUES:
Run Code Online (Sandbox Code Playgroud)

tmp*_*rce 11

在matlab中,for迭代行向量中的值.如果C_VALUES是一行,那么与您的示例几乎相同.

for val = row_vec
    #% stuff in the loop
end
Run Code Online (Sandbox Code Playgroud)

是matlab语法. val将采用row_vec迭代的值.您经常会看到的语法(但并非绝对必要)是

for ii = 1:length(values)
    val = values(ii);
    #% stuff in the loop using val
end
Run Code Online (Sandbox Code Playgroud)

在这里,1:length(values)创建一个行向量[1 2 3 ...],ii并可用于索引values.

(注意:这i是另一种常见的选择,但是只要你i在这种类型的上下文中使用它,它就会被分配一个值,你就不再使用虚数的意义了).