在matlab中并行线程的范围

时间:2013-06-07 20:28:49

标签: matlab parallel-processing

我有4个不同的大文件,我想同时加载到内存中。以下示例并非我正在做的事情 - 但它说明了问题:

matlabpool open local 4
spmd
    if labindex==1 
        R = rand(9,9);
      else
        R = rand(4,4);
    end
end
size(R)

当我将其复制并粘贴到命令提示符中时,R会弹出我的工作区。但是如果我把它保存到* .m文件中,大小(R)没有评估 - 它给了我一个R不存在的错误。我尝试使用聚集和初始化R作为全局无济于事。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好:

我将此脚本保存为test.m。

然后我从命令行调用它:     run test.m

但后来我从命令行运行它:test

'run'必须生成一个子进程,它在运行后会杀死它。这一定是杀了变量。只是直接调用脚本正确地与脚本共享工作区的范围。