主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

循环变量

循环变量定义每次迭代的循环索引值。您在 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

另请参阅

主题