Guest User

Untitled

a guest
Dec 17th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. from sympy import *
  2.  
  3. t = Symbol('t')
  4. x10 = Symbol('x10')
  5. k1, k2, k3 = symbols('k1 k2 k3')
  6.  
  7. A = Matrix([[-k1, 0, 0, 0],
  8. [ k1,-k2, 0, 0],
  9. [ 0, k2,-k3, 0],
  10. [ 0, 0, k3, 0]])
  11.  
  12. V, D = A.diagonalize()
  13.  
  14. print "V = ", V
  15. print "D = ", D
  16. print "x (t) = ", simplify(V * diag(1, exp(-k1*t),exp(-k2*t),exp(-k3*t)) * V**-1 * Matrix([x10,0,0,0]))
  17.  
  18. V = Matrix([[0, -(k1 - k2)*(k1 - k3)/(k2*k3), 0, 0], [0, k1*(k1 - k3)/(k2*k3), (k2 - k3)/k3, 0], [0, -k1/k3, -k2/k3, -1], [1, 1, 1, 1]])
  19. D = Matrix([[0, 0, 0, 0],
  20. [0,-k1, 0, 0],
  21. [0, 0,-k2, 0],
  22. [0, 0, 0,-k3]])
  23. x (t) = Matrix([
  24. [ x10*exp(-k1*t)],
  25. [ k1*x10*exp(-k2*t)/(k1 - k2) - k1*x10*exp(-k1*t)/(k1 - k2)],
  26. [ k1*k2*x10*((k1 - k2)*exp(t*(k1 + k2)) - (k1 - k3)*exp(t*(k1 + k3)) + (k2 - k3)*exp(t*(k2 + k3)))*exp(-t*(k1 + k2 + k3))/((k1 - k2)*(k1 - k3)*(k2 - k3))],
  27. [x10*(-k1*k2*(k1 - k2)*exp(t*(k1 + k2)) + k1*k3*(k1 - k3)*exp(t*(k1 + k3)) - k2*k3*(k2 - k3)*exp(t*(k2 + k3)) + (k1*k2*(k1 - k2) - k3*(k1*(k1 - k3) - k2*(k2 - k3)))*exp(t*(k1 + k2 + k3)))*exp(-t*(k1 + k2 + k3))/((k1 - k2)*(k1 - k3)*(k2 - k3))]])
Add Comment
Please, Sign In to add comment