【发布时间】:2014-09-17 18:54:42
【问题描述】:
我正在开发一个 MATLAB 程序,该程序使用许多其他定制包,通常包含类似名称的文件。所以我决定使用自定义包方法 (http://www.mathworks.com/help/matlab/matlab_oop/scoping-classes-with-packages.html) 在引用我正在使用的各种包中的特定函数时有效地获得点符号。例如,我有一个名为 pose 的包,它具有以下文件结构:
MATLAB % on the MATLAB path
--- +pose
--- detect.m
--- MORE STUFF
--- +tracker
--- MORE STUFF
--- main.m
在我的 main.m 文件中,我有一个并行化的 for 循环:
parfor i=start:stop
... BLAH BLAH
boxes = pose.detect(stuff);
... BLAH BLAH
end
但我不断收到错误
MATLAB 无法确定“姿势”是否指的是 函数或变量。 请参阅 MATLAB 中的并行 for 循环,“明确的变量名称”。
查看 MATLAB 并行编程文档 (http://www.mathworks.com/help/distcomp/programming-considerations.html),您在并行 for 循环中使用的所有函数似乎在 for 循环中都必须是透明的。但这似乎直接违反了 MATLAB 中的另一个并行编程原则,即“所有执行 parfor-loop 的工作人员必须具有与客户端相同的 MATLAB 搜索路径”。
有人知道如何调和吗?
【问题讨论】:
标签: matlab parallel-processing parfor