循环变量
循环变量定义每次迭代的循环索引值。您在 parfor 语句的第一行中设置它。
parfor p=1:12对于所有迭代的值,循环变量必须计算为上升的连续整数。每次迭代都独立于所有其他迭代,并且每次迭代都有自己的循环索引值。
| 必需(静态):不允许对循环变量进行赋值。 |
这个限制是必要的,因为在 p 主体中改变 parfor 不能保证迭代的独立性。
此示例尝试在循环体中修改循环变量 p 的值,因此无效。
parfor p = 1:n p = p + 1; a(p) = i; end
| 必需(静态):您不能以任何方式对循环变量进行索引或下标索引。 |
这个限制是必需的,因为引用循环变量的字段不能保证迭代的独立性。
下面的代码尝试引用循环变量 (b) 的字段 (p),就好像它是一个结构体一样。循环内的两行均无效。
parfor p = 1:n p.b = 3 x(p) = fun(p.b) end
类似地,以下代码无效,因为它尝试将循环变量索引为 1×1 矩阵:
parfor p = 1:n x = p(1) end