首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MATLAB parfor -无法确定"ModelUtil“是指函数还是变量?

MATLAB parfor -无法确定"ModelUtil“是指函数还是变量?
EN

Stack Overflow用户
提问于 2014-07-03 23:50:01
回答 2查看 1.6K关注 0票数 1

我在parfor循环中调用外部函数,如下所示。

代码语言:javascript
复制
parfor idx = 1:2
    import com.comsol.model.*
    import com.comsol.model.util.*

    model = ModelUtil.create('Model');
    model.modelNode.create('comp1');

    model.geom.create('geom1', 2);
    model.geom('geom1').feature.create('sq1', 'Square');
    model.geom('geom1').feature('sq1').set('size', '0.03125');
    model.geom('geom1').feature('sq1').setIndex('pos', '0', 0);
    model.geom('geom1').feature('sq1').setIndex('pos', '0', 1);
    model.geom('geom1').run;
end

Error: MATLAB cannot determine whether "ModelUtil" refers to a function or variable.
See Parallel for Loops in MATLAB, "Unambiguous Variable Names".

在阅读了the "Unambiguous Variable Names" part in the MATLAB parfor documentation之后,我非常理解为什么会发生这个错误。然而,我不知道如何修复它。

EN

回答 2

Stack Overflow用户

发布于 2015-05-13 03:23:57

我在使用.Net对象时遇到了同样的问题。像你一样,我发现它在非并行模式下工作得很好,问题只发生在parfor上。

这不是路径问题,这纯粹是一个Matlab语法/解析器问题。

作为一种变通方法,我将操作包装在单独的Matlab函数中,以便在parfor的作用域内不再含糊。在(否则不必要的)函数中,它解析类没有问题,即使从parfor内部调用也是如此。

票数 2
EN

Stack Overflow用户

发布于 2016-02-24 13:23:05

Vector的解决方案对我不起作用。问题是不同的工作者看不到您正在使用的库:您必须用javaaddpath更新parfor中的javapath。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24558249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档