将并行计算应用于Simbiology
7次观看(最近30天)
显示较旧的评论
大家好,
如果我问一些愚蠢的话,请裸露我的天真。这是我第一次尝试使用并行计算。
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:长度(估算功能)
请给我任何建议或建议。非常感谢你。
祝你今天过得愉快。
杰西
0评论
接受的答案
Arthur Goldsipe
2021年7月20日
嗨,杰西,
最简单的修复是更改
“ progressplot”,真实
到
“ progressplot”,false
。问题是您正在尝试在工人上创建地块,但是工人没有显示。
另一个选择是依靠
SBIOFIT
通过更改
parfor
到
为了
循环并添加名称值参数
“ useparallel”,true
到
SBIOFIT
呼叫。这将使您保持进度图。
同样,尚不清楚这些方法中的哪种方法会更快。很大程度上取决于问题的细节和并行计算设置。
- 阿瑟