将并行计算应用于Simbiology

7次观看(最近30天)
杰西·乔
杰西·乔 2021年7月19日
评论: 杰西·乔2021年7月23日
大家好,
如果我问一些愚蠢的话,请裸露我的天真。这是我第一次尝试使用并行计算。
Beacuse我的Simbiology模型非常复杂,我正在尝试使用并行计算工具箱来加快模型拟合。
但是,我遇到了这个错误,无法消除它...我不知道我的代码是否完全错误,或者我误解了并行计算工具箱的应用或能够修复。
这是我的代码。
%%
%估计参数
estationFunction = {'lsqnonlin',,,,'fmincon',,,,'fminunc'};
parfori = 1:长度(估算功能)
fitConst = sbiofit(型号,gdata,evessememap,估计值帕姆,剂量,字符串(估算功能(i)),[],变体,,...
“ errormodel',,,,'持续的',,,,“ Progressplot”,真的);
绘图结果%
s = struct;
s.labels.xlabel =“时间(小时)”;
s.labels.ylabel =“浓度(微克/毫升)”;
情节(fitconst,'axesstyle',S);
plotActualVersususpred(fitConst);
plotisidualdistribution(fitConst);
fitprop = sbiofit(型号,gdata,evessememap,估计值帕姆,剂量,字符串(估计功能(i)),[],变体,,...
“ errormodel',,,,'成比例的',,,,“ Progressplot”,真的);
绘图结果%
情节(fitprop,'axesstyle',S);
PlotActualVersuspred(FitProp);
绘制绘图(FITPROP);
fitexp = sbiofit(型号,gdata,expomentemap,估计值帕姆,剂量,弦(估计功能(i)),[],变体,,...
“ errormodel',,,,“指数”,,,,“ Progressplot”,真的);
绘图结果%
情节(fitexp,'axesstyle',S);
plotActualVersuspred(fitexp);
plotesidualDistribution(fitexp);
FITCOMB = SBIOFIT(型号,GDATA,响应信息,估计值,剂量,字符串(估算功能(i)),[],变体,,...
“ errormodel',,,,“组合”,,,,“ Progressplot”,真的);
绘图结果%
情节(fitcomb,'axesstyle',S);
PlotActualVersuspred(FitComb);
绘制绘制案件(FITCOMB);
%%
%选择模型的信息标准
AllResults = [FitConst,FitProp,Fitexp,FitComb];
errormodelnames = {“恒定错误模型”,,,,“比例错误模型”,,,,“指数错误模型”,,,,...
“组合错误模型”};
loglikelihood = [allresults.loglikelihoods]';
aic = [allresults.aic]';
bic = [allresults.bic]';
t1 = table(loglikelione,aic,bic);
t1.properties.rownames = errormodelnames;
结尾
这是我遇到的错误。
错误使用simbiology.fit.internal.plots.liveplots.dashboard/initializeplots
不能将WindowSwles设置为“对接” MATLAB启动时,或指定了-NofigureWindows选项时。
错误在simbiology.fit.internal.plots.liveplots.dashboard中
错误在simbiology.fit.internal.plots.liveplots.controller/createashboard中
错误在simbiology.fit.internal.fitobject/initializelivePlotsController(第770行)中
OBJ.LivePlotsController.CreatedAshboard(边界);
错误在simbiology.fit.internal.fitobject/fit(第169行)中
[obj,clearupdashboard] = obj.initializelizelizeliveplotscontroller();%#ok
错误在SBIOFIT(第298行)
[varargout {1:nargout}] = fitobject.fit(modelObj,data,enventseMap,esteNInfo,varargin {:});
错误在RunFitdoxData20200223Model中(第131行)
parfori = 1:长度(估算功能)
请给我任何建议或建议。非常感谢你。
祝你今天过得愉快。
杰西

接受的答案

Arthur Goldsipe
Arthur Goldsipe 2021年7月20日
嗨,杰西,
最简单的修复是更改 “ progressplot”,真实 “ progressplot”,false 。问题是您正在尝试在工人上创建地块,但是工人没有显示。
另一个选择是依靠 SBIOFIT 通过更改 parfor 为了 循环并添加名称值参数 “ useparallel”,true SBIOFIT 呼叫。这将使您保持进度图。
同样,尚不清楚这些方法中的哪种方法会更快。很大程度上取决于问题的细节和并行计算设置。
- 阿瑟
2条评论
杰西·乔
杰西·乔 2021年7月23日
你好亚瑟,
非常感谢您的明确答案。我通过使用您提供的建议来解决此问题。
非常感谢您。
祝你今天过得愉快。
杰西

登录发表评论。

更多答案(0)

社区

更多答案Simbiology社区

社区寻宝

在Matlab Central中找到宝藏,发现社区如何为您提供帮助!

开始狩猎!