反应继续在Simbiology即使浓度低于零

7视图(30天)
你好,
我试图在Simbiology模拟一个简单的反应模型,但遇到一个问题,系统会让浓度达到负。
试剂(A)是消耗在反应中,其浓度会降低随着时间的推移,和足够的时间,然而Simbiology让这个浓度会负。有一种反应后会停止所有的试剂都是使用了?anothoer字,一次= 0的反应不会超越这一点随着时间的继续(所有试剂和产品将达到平衡,不再改变)。
这个想法是添加一个类似“如果(< = 0)= 0”的判断,但我不知道如何用simbiology。我试图添加“= max (A, 0)“重复的任务,但它不会工作。考虑事件触发了但似乎事件只能工作在第一次触发。
提前谢谢你

接受的答案

亚瑟Goldsipe
亚瑟Goldsipe 2022年5月2日
我回答类似的问题 在这里 。当我提到,目前还没有办法完全避免负数在所有情况下。但通常是安全的忽视负小(相对于你的解算器指定公差)。如果负数的大小很大,这可能表明一个建模错误和/或一个问题解决者公差。如果你看到这样的负数,你应该试着去理解是什么导致他们和您的模型作出相应的改变。如果有某种反馈导致负数mangified,您可能需要修改反应速率的表达式。例如,如果X是一个物种是负的,你可能想要取代X的出现率与马克斯(0,X)表达式。我建议这个试图使用一个事件或重复分配规则。
3评论
W Y
W Y 2022年5月3日
杰里米,调试器似乎也很有用。将检查出来。谢谢你!

登录置评。

更多的答案(2)

Achal Mahajan
Achal Mahajan 2022年5月2日
你好,
这篇文章可能是有用的 //www.tianjin-qmedu.com/matlabcentral/answers/78266-non-negative-values-for-species-in-simbiology 。同样的问题已经被详细讨论。随意接触又不为你工作!
1评论
W Y
W Y 2022年5月3日
谢谢你的及时回复。之前我发了这个问题,我已经读过那篇文章。主要处理问题时计算结果接近于零(微量小于0)。在这种情况下,我们可以设置公差让程序知道什么时候应该视为零,这不是我的问题。另一个解决方案解决了问题,但我真的appreacite输入。

登录置评。


社区

更多的答案SimBiology社区

类别

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

s manbetx 845


释放

R2021b

社区寻宝

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

开始狩猎!