此示例显示了如何配置仿真设置,将事件添加到模型中以触发基于时间的更改,保存和绘制仿真结果。此示例使用描述的模型酵母异三聚体G蛋白周期的模型说明模型仿真。
加载gprotein.sbproj
项目,其中包括变量M1
,simbiology®模型对象。
sbioloadprojectgprotein
将模拟求解器设置为ODE15S
并设置停止时间的时间500
通过编辑solverType
和停止时间
属性configset对象
与M1
模型。
csobj = getConfigset(M1);csobj.solvertype ='ode15s';CSOBJ.STOPTIME = 500;
指定所有物种的对数模拟结果。
csobj.runtimeoptions.statestolog ='全部';
假设配体物种的数量l
在模拟开始时为0,但在时间= 100时增加到特定的数量。sbioselect
选择名称的物种l
并将其初始金额设置为0。使用addevent
设置所需的事件。
物种obj = sbioselect(m1,'类型',,,,'物种',,,,'姓名',,,,'L');物种obj.initialamount = 0;evt = addevent(m1,'时间> = 100',,,,'l = 6.022e17');
模拟模型。
[t,x,names] = sbiosimulate(m1);
模拟模拟结果。请注意,当事件在模拟时间100触发时,物种l量增加。由于物种量的范围很大,其他物种的变化不会显示在图中。
情节(t,x);传奇(名称)xlabel('时间');ylabel('数量');
要查看其他物种的变化,请绘制没有物种L(第五种)数据的绘制。
图图(t,x(:,[1:4 6:8]));图例(名称{[1:4 6:8]});Xlabel('时间');ylabel('数量');
替代将模拟数据存储在单独的输出中的替代方案,例如t
,,,,X
, 和名称
如上所述,您可以将它们全部存储在一个simdata对象
。然后您可以使用SelectByName
提取包含您感兴趣的仿真数据的数组。
simdata = sbiosimulate(m1);sbioplot(simdata);
扩张运行1查看绘制的物种和参数的名称。
simdata_nol = selectbyname(simdata,{'ga',,,,'G',,,,'gd',,,,'gafrac',,,,'rl',,,,'r'});sbioplot(simdata_nol);