在parfor识别函数或变量

2视图(30天)
一个工程师
一个工程师 2022年3月27日

嗨。
我是一个初学者在MATLAB软件和我使用MATLAB在线。问题是初始化一个变量“estModel”并行循环。我想使用并行处理,因为计算需要很长时间才能完成,但这个问题发生在我使用parpool“线程”,而不是“当地”。在“本地”模式这个问题不存在代码是正确执行和结果是正确的。但在“线程”的情况下,不初始化变量的estModel parfor循环,并给这个错误:无法识别函数或变量“estModel”。在“本地”模式下的工人数量2但在“线程”模式的数量工人8。所以我用“线程”代替“当地”。我完全不知道parpool结构。在这部分有问题(parpool:本地或线程或…并选择“线程”根据工人的数量)?最后三个变量“kh”、“模型”和“数据”是完全初始化之前并行循环和变量使用arima函数模型。
谁能帮我解决这个问题吗?
部分代码:
poolobj = parpool(“线程”);
parfor i = 1: kh
estModel (i) =估计(模型(i),数据);
结束
删除(poolobj);

答案(1)

雷蒙德·诺里斯
雷蒙德·诺里斯 2022年3月28日
我看不出你如何错误。你能提供更多的背景吗?例如,当我运行类似的(我认为),我得到一个不同的错误
kh = 2;
我= 1:kh
模型(i) = arima (2 0 1);% #好< SAGROW >
结束
文章= arima (基于“增大化现实”技术的{0.5,-0.3},“马”,0.2,“不变”0,“方差”,0.1);
rng (5);
T = 500;
DATA =模拟(文章,T);
poolObj = parpool (“线程”);
parfor我= 1:kh
estModel (i) =估计(模型(i),数据);
结束
这难道不是你所看到的吗?
错误使用optimoptions
使用不支持功能matlabpath线程工人。金宝app
错误在arima /估计(第253行)
默认= optimoptions (“fmincon”);
相关的文档
7评论
雷蒙德·诺里斯
雷蒙德·诺里斯 2022年4月9日
@An工程师 。金宝app支持本地集群上运行MATLAB在线最近无意中添加和已经被移除。你可以考虑运行远程集群 云计算中心 。这样做,你将需要一个AWS帐户以及MATLAB并行服务器许可证。代表或联系您的帐户 技术支持金宝app 为更多的信息。

登录置评。

类别

找到更多的在并行计算原理帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!