你好,
我在Matlab中心读到,Matlab不允许在parfor循环中使用全局变量。尽管如此,在某些情况下,“全局”变量在个体工作者级别/parfor迭代中仍然是非常重要的。
例子:我想执行一个代码几个独立的实体(每parfor迭代一个实体),这个代码是相当复杂的,依靠嵌套函数和大量的参数存储在全局变量为了从容(容易得多比所有参数传递函数输入)。
更具体地说,我接受这样一个事实,即在工作层/为给定迭代定义的全局变量不能在客户机层或在另一个工作层/另一个迭代之后使用(在并行计算的情况下,这将是无意义的),但我感到非常尴尬的是,全局变量不能在每个给定迭代的工作层定义,只能在那个特定的工作层/迭代中使用。换句话说,我在这里谈论的“全局变量”只在工作者级别有效,这意味着“全局”术语在经典意义上不成立,但仍然适用于这些变量的使用方式(例如,定义并在单独的函数中调用它们)。
是否有可能迫使Matlab允许这种使用?如果没有,是否已经有一个允许它的补丁,或者可以在下一个版本中预见它(希望很快)?
感谢和欢呼,