3
$\begingroup$

The ordinary differential equations to solve have symbolic parameters $k_1,k_2,k_3,k_4,k_5,k_6 \in \mathbb{R}$. $$ \left\{ \begin{array}{l} {y_1}'(t)=-{k_1} {y_1}(t)-{k_2} {y_1}(t),\\ {y_2}'(t)={k_2} {y_1}(t)-{k_3} {y_2}(t),\\ {y_3}'(t)={k_1} {y_1}(t)+{k_3} {y_2}(t)-{k_4} {y_3}(t),\\ {y_4}'(t)={k_4} {y_3}(t)-{k_5} {y_2}(t) {y_4}(t)+{k_6} {y_5}(t),\\ {y_5}'(t)={k_5} {y_2}(t) {y_4}(t)-{k_6} {y_5}(t)\\ \end{array} \right.$$

The ODE system itself seems simple when all $k_i$ are numerical numbers. How to solve it symbolically ? Is it possible to obtain explicit solutions?

Update:

Expressions in MMA:(DSolve does not work for such nonlinear ODE system)

  DSolve[{D[y1[t], t] == -k1*y1[t] - k2*y1[t],
  D[y2[t], t] == k2*y1[t] - k3*y2[t],
  D[y3[t], t] == k1*y1[t] + k3*y2[t] - k4*y3[t],
  D[y4[t], t] == k4*y3[t] - k5*y2[t]*y4[t] + k6*y5[t],
  D[y5[t], t] == k5*y2[t]*y4[t] - k6*y5[t]}, {y1[t], y2[t], y3[t], 
  y4[t], y5[t]}, t]
$\endgroup$
  • $\begingroup$ Did you already try DSolve? It would be good if you could provide the equations in Mathematica input form. It would let potential answerers try their solutions. $\endgroup$ – C. E. Aug 9 '14 at 23:28
5
$\begingroup$

This ODE system can't be solved symbolically with the given information.
First let's define the differential equations:

dg1 = y1'[t] == -k1 y1[t] - k2 y1[t]
dg2 = y2'[t] == k2 y1[t] - k3 y2[t]
dg3 = y3'[t] == k1 y1[t] + k3 y2[t] - k4 y3[t]
dg4 = y4'[t] == k4 y3[t] - k5 y2[t] y4[t] + k6 y5[t]
dg5 = y5'[t] == k5 y2[t] y4[t] - k6 y5[t]

Now the first three differential equations can be solved, because these are independent of the last two.

pSol = DSolve[{dg1, dg2, dg3}, {y1[t], y2[t], y3[t]}, t]
{{y1[t] -> E^((-k1 - k2) t) C[1], 
  y2[t] -> (E^(-k3 t) (-1 + E^((-k1 - k2) t + k3 t)) k2 C[1])/(-k1 - k2 + k3) + E^(-k3 t) C[2], 
  y3[t] -> (E^(-k3 t - k4 t) (E^(k3 t) k1^2 k3 - 
     E^((-k1 - k2) t + k3 t + k4 t) k1^2 k3 + 
     2 E^(k3 t) k1 k2 k3 - E^(k4 t) k1 k2 k3 - 
     E^((-k1 - k2) t + k3 t + k4 t) k1 k2 k3 + E^(k3 t) k2^2 k3 - 
     E^(k4 t) k2^2 k3 - E^(k3 t) k1 k3^2 + 
     E^((-k1 - k2) t + k3 t + k4 t) k1 k3^2 - E^(k3 t) k2 k3^2 + 
     E^((-k1 - k2) t + k3 t + k4 t) k2 k3^2 - E^(k3 t) k1^2 k4 + 
     E^((-k1 - k2) t + k3 t + k4 t) k1^2 k4 - E^(k3 t) k1 k2 k4 + 
     E^((-k1 - k2) t + k3 t + k4 t) k1 k2 k4 + E^(k3 t) k1 k3 k4 -
      E^((-k1 - k2) t + k3 t + k4 t) k1 k3 k4 + 
     E^(k4 t) k2 k3 k4 - 
     E^((-k1 - k2) t + k3 t + k4 t) k2 k3 k4) C[1])/((k1 + k2 - k3) (k1 + k2 - k4) (k3 - k4)) - 
     (E^(-k3 t - k4 t) (-E^(k3 t) + E^(k4 t)) k3 C[2])/(k3 - k4) + 
     E^(-k4 t) C[3]
}}

From the last differential equation we get

Solve[dg5, y5[t]]
{{y5[t] -> (k5 y2[t] y4[t] - y5'[t])/k6}}

This (or even easier to see k6 y5[t]) can be inserted into the fourth differential equation

dg4 /. (First@%)
y4'[t] == k4 y3[t] - y5'[t]

(Note that there is no y5[t] left.)
Inserting also pSol and applying Simplify provides the remaining equation

% /. (First@pSol) // Simplify
(E^(-(k3 + k4) t) k4 (E^((-k1 - k2 + k3 + k4) t) (k1 + k2) (k1 - k3) (k3 - k4) C[1] - 
  E^(k4 t) k3 (-k1 - k2 + k4) ((k1 - k3) C[2] + k2 (C[1] + C[2])) - 
  E^(k3 t) (k1 + k2 - k3) (k4 (k4 C[3] - k3 (C[2] + C[3])) + 
  k2 (-k4 C[3] + k3 (C[1] + C[2] + C[3])) + 
  k1 (-k4 (C[1] + C[3]) + k3 (C[1] + C[2] + C[3])))))/((k1 + k2 - k3) (k1 + k2 - k4) (k3 - k4)) + 
  y4'[t] + y5'[t] == 0

If one tries to solve this equation using

DSolve[%, {y4[t], y5[t]}, {t}]

the following message is received

DSolve::underdet: There are more dependent variables than equations, so the system is underdetermined. >>

The remaining equation can be solved for y4[t], though.

DSolve[%%, {y4[t]}, {t}]
{{y4[t] -> 
   C[4] + (E^(-(k1 + k2) t) (k1 - k3) (k3 - k4) k4 C[1] + 
   E^(-(k3 + k4) t) (-E^(k4 t) k4 (-k1 - k2 + k4) ((k1 - k3) C[2] + k2 (C[1] + C[2])) - 
   E^(k3 t) (k1 + k2 - k3) (k4 (k4 C[3] - k3 (C[2] + C[3])) + 
   k2 (-k4 C[3] + k3 (C[1] + C[2] + C[3])) + 
   k1 (-k4 (C[1] + C[3]) + 
   k3 (C[1] + C[2] + C[3])))) - (k1 + k2 - k3) (k1 + k2 - k4) (k3 - k4) y5[t])/((k1 + k2 - k3) (k1 + k2 - k4) (k3 - k4))
 }}

The ODE system can also be solved, e.g. if y5'[t] is a constant.


Additional note:
With the solutions of the first three equations (pSol), the remaining equations can be rewritten as

y4'[t] == k6 y5[t] - a[t] y4[t] + b[t]
y5'[t] == a[t] y4[t] - k6 y5[t]

Therefore the remaining problem is to solve this non-homogeneous first-order linear differential equation with variable coefficients.

$\endgroup$
  • $\begingroup$ I also tried the same methods. I originally was trying to fit $k_i$s via measured data as below {{30.0, 9.1300, 0.0931, 0.0899, 0.1000, 0.0000}, {60.0, 8.9261, 0.1270, 0.1229, 0.2272, 0.0049}, {90.0, 8.6006, 0.1509, 0.1392, 0.4917, 0.0153}, {120.0, 8.2823, 0.1537, 0.1491, 0.7783, 0.0249}, {150.0, 7.9652, 0.1537, 0.1567, 1.0716, 0.0329}, {180.0, 7.8637, 0.1536, 0.1603, 1.1659, 0.0348}, {210.0, 7.8120, 0.1530, 0.1532, 1.2140, 0.0404}, {240.0, 7.7652, 0.1403, 0.1417, 1.2795, 0.0432}}, columns represents $t$ and $y_i$ respectively $\endgroup$ – LCFactorization Aug 10 '14 at 2:24
  • $\begingroup$ Is it to solve the prolbem mathoverflow.net/questions/178192/… via MMA? $\endgroup$ – LCFactorization Aug 10 '14 at 2:42
  • $\begingroup$ @LCFactorization at least you can use pSol to fit k1, k2, k3, and k4. $\endgroup$ – Karsten 7. Aug 10 '14 at 11:39
  • $\begingroup$ so it is still impossible to obtain them all? $\endgroup$ – LCFactorization Aug 11 '14 at 1:46
  • $\begingroup$ @LCFactorization It isn't impossible. The remaining problem (see my additional note) generally has a formal solution, but it is in general not a simple function that would be suitable for a fitting procedure. So far I didn't encounter this class of equations in my experimental systems and therefore can't give you any further advice on how to tackle it. $\endgroup$ – Karsten 7. Aug 11 '14 at 8:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.