Matlab ode求解器和Simbiology给不同的结果在相同的模型

3视图(30天)
你好!EPFL)的博士生,我目前使用Matlab来建模一个简单的双反馈回路,以观察双稳态,为此我建立这一组常微分方程:
函数dy = model_equation (t, y)
dy = 0 (4,1);
sCDC2i = 1.0;
dCDC2i = 1.0;
sWEE1i = 1.0;
dWEE1i = 1.0;
a1 = 1.0;
a2 = 1.0;
b1 = 200.0;
b2 = 10.0;
v = 1.0;
g1 = 4.0;
g2 = 4.0;
k1 = 30.0;
k2 = 1.0;
CDC2a = y (1);
CDC2i = y (2);
WEE1a = y (3);
WEE1i = y (4);
dy (1) = a1 * CDC2i-b1 * CDC2a * (v * WEE1a) ^ g1 / (k1 + (v * WEE1a) ^ g1);
dy (2) = sCDC2i-dCDC2i * CDC2i-a1 * CDC2i + b1 * CDC2a * (v * WEE1a) ^ g1 / (k1 + (v * WEE1a) ^ g1);
dy (3) = a2 * WEE1i-b2 * WEE1a * CDC2a ^ g2 / (k2 + CDC2a ^ g2);
dy (4) = sWEE1i-dWEE1i * WEE1i-a2 * WEE1i + b2 * WEE1a * CDC2a ^ g2 / (k2 + CDC2a ^ g2);
这一组常微分方程解决,商议使用以下命令:
函数一个= modelSim(时间)
[T、Y] = ode15s (@model_equation[0时间],[0 0 1.0 1.0]);
情节(T Y (: 1), T, Y (:, 2), T, Y (:, 3), T, Y (:, 4));;
hleg1 =传奇(“CDC2a”,“CDC2i”,“WEE1a”,“WEE1i”);
集(hleg1,“位置”,“NorthEastOutside”);
持有;
一个= [T、Y];
现在的问题是,系统不是双稳态,但是我一个物种(CDC2a)倾向于积累,从未达到稳定状态。我在想,我犯了一些错误,而我正在写模型,但几个控件后,我发现在模型中没有错误。所以我试图利用simbiology,我复制粘贴的常微分方程simbiology m文件,所有的参数设置为常微分方程的文件,和模型开始正常工作,我得到了我想要的结果!所以我开始检查Simbiology模型和m文件的区别,这就是我发现:
  • 常微分方程是完全相同的
  • 参数和costants是完全相同的
  • ode求解器和它的选项是相等的
  • 常微分方程系统的m文件解决槽”[T、Y] = ode15s (@model_equation[0时间],[0 0 1.0 1.0],选项);“在simbiology给定的命令是“data = sbiosimulate (m2, cs, [] []);“(where m2 is the model and cs the options for the solver)
现在我不知道发生了什么,我试着在许多不同的方式获得这些结果是相同的,但是我没能这样做。为了继续我的项目我需要知道至少我为什么获得不同的结果,和哪一个信任。任何帮助将感谢,因为在这一点上我没主意!提前谢谢你!
5个评论
SARANYA SK
SARANYA SK 2020年11月4日
d / dt (EGFR) = 1 /间*((舱* (re1k1 *(箴EGFR) -re1k2 * (EGFR)))——(舱* (re2公司k1 * (EGF) * (EGFR) -re2_k2 * (L_EGFR))))

登录置评。

接受的答案

亚瑟Goldsipe
亚瑟Goldsipe 2012年11月8日
编辑:亚瑟Goldsipe 2012年11月8日
你好,
R2012b如果使用MATLAB版本,你可以得到一个文本版本的颂歌方程和看到他们不同于您的实现。如果你的模型存储在一个变量模型,只是执行命令
equationText = getequations(模型)
因为我没有访问你SimBiology模型或代码来创建它,很难说到底如何不同。然而,如果你看看你提供的限制行为模型,你可以看到为什么CDC2a不断积累:
随着时间的增加,CDC2a变大,使这个词CDC2a ^ g2 / (k2 + CDC2a ^ g2)约等于1。同样的,随着时间的增加,WEE1a相对较小,使得术语(v * WEE1a) ^ g1 / (k1 + (v * WEE1a) ^ g1)大约0。因此,速率方程简化如下:
dy (1) * y2 =
dy (2) = sCDC2i - dCDC2i * CDC2i - a1 * CDC2i
dy (3) = a2 * WEE1i b2 * WEE1a
dy (4) = sWEE1i - dWEE1i * WEE1i a2 * WEE1i + b2 * WEE1a
可以解出一个y(2:4)通过求解稳态dy (2:4) = 0。Specificallly稳态,y (2:4) = (。5。1。然而,在这些条件下dy (1) = a * (0.1)。因为这个词是大于零的,y(1)(或CMC2a)将继续增长没有绑定,即使其他物种保持不变。
亚瑟
2的评论
亚瑟Goldsipe
亚瑟Goldsipe 2012年11月8日
我还用你发布到实现模型的方程SimBiology。我得到了相同的结果(CDC2a不断增加随着时间的推移)。所以我认为你一定是犯了一个错误翻译SimBiology模型常微分方程。我只是头脑风暴,但是你离开了化学计量系数吗?你正确地解释室体积的影响?你把你所有的单位正确吗?
如果是很有帮助的,我可以送你一份我创建SimBiology模型。只是给我发邮件。
亚瑟

登录置评。

更多的答案(0)

社区

更多的答案SimBiology社区

类别

找到更多的在扩展建模环境帮助中心文件交换

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!