Equation system with derivatives

69 Views Asked by At

I have to solve the following system:

X'(t) = -D(t)x(t)+μ(s(t), p(t))x(t);
S'(t) = D(t)(s(t)^in - s(t)) - Yxsμ(s(t), p(t))x(t)
p'(t) = -D(t)p(t)+(aμ(s(t), p(t))+b)x(t)

where

μ(s(t), p(t)) = Μmax ((1 - (p(t)/pm))s(t)) / (km+s(t)+(s(t) ^ 2)/ki)

where Yxs, a,b, Mmax, Pm, km, ki are constant variables, then I have to linearizate the system and find the balance Points of thiw system. any suggestion how to do it with Matlab or Mathematica??

1

There are 1 best solutions below

0
On

Matlab can help with some steps, but there might be few where you do have to write down some equations yourself. To start with a simple side note: Matlabs ODE45 function allows to simulate any function of the form dx/dt = f(x,u), regardless of how non-linear or time variant they might become.

to linearize such a system, you need to derive a jacobian matrix and substitute the linearization point in this matrix. This linearization point is any point where all state derivatives equal 0, it does not need to be a balance point. However, it is desired to have it a balance point as this means the linearization point is a stable equilibrium. So in MATLAB:

  1. create symbolic variables for all states and inputs (so x(t), s(t) and p(t))
  2. create symbolic state equations dx/dt = f(x,u) and output equation y = g(x,u)
  3. derive symbolic State space matrices A,B,C,D using the "jacobian" function
  4. substitute linearization point in these symbolic state space matrices using "subs"
  5. use eval(symbolic matrix) to retrieve a numeric matrix.

Depending on the non-linear complexity and the chosen linearization point, the linearized system might only within acceptable bounds from the actual system for a very tight region, so be aware of that.