- 定义一个反应率rate1, rate2, rate3,……你每个阶段的描述。
- 添加虚拟(相位指示器)参数phase1、phase2 phase3,……你的模型。phase1应该1的初始值,所有其他参数都应该有一个初始值为0。
- 添加SimBiology事件不同阶段之间的切换。
物种模型的时间增长率
10视图(30天)
显示旧的评论
你好,
我想实现在Simbiology系统的模型描述了许多物种的动力学。这些物种是标准的动力学的变化速率与时间有关的不同的动力学在三个不同的时期。在第一个时期,发生在第一个五天,物种能够从最初室分配到另一个固定利率。后到第二间分布的物种,在第二时期发生在接下来的七天,该物种在一个固定的常数的速度增长。最后,在接下来的七天在第三期,该物种衰变速度固定不变。因此,如果我没弄错的话,这一物种的时间增长率可以被描述为一个阶跃函数随着时间变化= 5,12和19天。有没有一种方法实现这些动力学使用Simbiology ?
提前感谢任何建议或评论。
0评论
接受的答案
Florian奥古斯汀
2022年6月15日
嗨,马克,
下面是一个例子使用SimBiology MATLAB命令窗口。依赖于你的实际利率你可以压缩/重写事件;你甚至不需要相位指示器参数。但我希望这演示了如何实现不同的反应率在不同的时间间隔。
%定义模型
模型= sbiomodel (“时间反应率”);
addspecies(模型,“一个”10);
addparameter(模型,“k”, 1“不变”、假);
%增加相位指示器(虚拟)参数:
addparameter(模型,“phase1”, 1“不变”、假);
addparameter(模型,“phase2”0,“不变”、假);
addparameter(模型,“phase3”0,“不变”、假);
%定义反应速率:我在这里使用rate1 = k *, rate2 = - k, rate3 = - k *作为一个例子。
反应= addreaction(模型,“零”- >);
的反应。ReactionRate =”——phase2 phase1 * k * * k - phase3 * k *“;
%添加事件之间切换阶段:
addevent(模型,“时间> = 5”,(“phase1 = 0”,“phase2 = 1”,“k = 0.1”]);
addevent(模型,“时间> = 12”,(“phase2 = 0”,“phase3 = 1”,“k = 0.4”]);
%模拟模型
configset = getconfigset(模型);
configset。StopTime = 19;
configset.RuntimeOptions。StatesToLog =“一个”;
simData = sbiosimulate(模型);
%绘制结果
sbioplot (simData)
最好的,
弗洛里安