How do I calculate a derivative of a time-variable parameter in SimBiology ?
显示 更早的评论
In SimBiology project I have a parameter that is time dependent. I need its time derivative to use in a formula. How do I calculate the time derivative in Simbiology ?
3 个评论
Ingrid Tigges
2015-9-9
How does the equation for your parameter look like? Can you post an example? In principle you can calculate it using delta parameter/delta t but I am not sure whether this what you are looking for.
Sergey Ermakov
2015-9-9
Ingrid Tigges
2015-9-11
Can you post a small example (the .sbproj file) here?
采纳的回答
更多回答(1 个)
Chao'en Li
2015-10-20
0 个投票
I met the same problem.
For a reaction a + b = c, I set unknown Kinetic Law, with Reaction Rate as k*Ca*Cb,(Ca and Cb are concentrations of a and b)and repeated assignments: dc_dt = k*Ca*Cb, and Ca = Ca_0 + time*dc_dt (dc_dt is the derivative dc/dt, Ca_0 is the initial concentration of a).
But I got error message as "Repeated assignment rules cannot create algebraic loops (for example, 'x = y' and 'y = x'). The following rules introduce algebraic loops into the model: Ca = Ca + time*dc_dt'"
How to write the following rules: dc/dt(i)=k*Ca(i)*Cb(i), Ca(i+1)=Ca(i)+dc/dt(i)*dt(i)?
1 个评论
Arthur Goldsipe
2015-10-21
Repeated assignments are not systems of equations that are solved simultaneously. They are simple assignments that are evaluated sequentially at each time step, so they must have a well-defined order of evaluation. You cannot simultaneously have a repeated assignment rule for dc_dt that depends on Ca and a repeated assignment rule for Ca that depends on dc_dt.
I think the real problem is that the rule for Ca isn't really doing what you want. You want Ca to be defined by integrating dc_dt. In SimBiology, you do that with a rate rule. So what I think you want to do is:
- Add a repeated assignment rule, "dc_dt = k*Ca*Cb", and
- Add a rate rule, "Ca = dc_dt"
One thing that is potentially confusing here is that the left-hand side of the rate rule really means "the time derivative of Ca". In other words, a more traditional mathematical representation of this rate rule would be "d(Ca)/dt = dc_dt".
类别
在 帮助中心 和 File Exchange 中查找有关 Extend Modeling Environment 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!