我试图将R2016b Simbiology模型的一组参数范围从反应改为模型。我使用的代码如下:
sbioloadproject('Comex Model 171016')
m1
m1.Parameters
for i = 1:numel(m1.Reactions)
p = m1.Reactions(i).KineticLaw.Parameters;
copyobj(p,m1)
delete(p)
end
m1.Parameters
此代码来自具有相同问题(http://uk.mathworks.com/matlabcentral/newsreader/view_thread/319663)的人,对他们来说这有效。但是,当我将其应用于我的项目时,我收到以下错误:
No method 'copyobj' with matching signature found for class 'SimBiology.Parameter'.
Error in untitled3 (line 11)
copyobj(p,m1)
我认为这可能是我正在使用的新版Matlab的一个特性 - 有没有人对我如何解决这个问题提出任何建议,或许是copyobj的替代方案?
感谢您的时间,
劳拉
答案 0 :(得分:0)
copyobj函数一次只能处理一个参数。我猜你是因为你对多个参数有反应而得到这个错误。请尝试使用以下代码:
sbioloadproject('Comex Model 171016')
m1
m1.Parameters
for i = 1:numel(m1.Reactions)
p = m1.Reactions(i).KineticLaw.Parameters;
for j = 1:numel(p)
copyobj(p(j),m1)
delete(p(j))
end
end
m1.Parameters