Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

All published worksheets from http://sagenb.org

Views: 168731
Image: ubuntu2004

On étudie l'exemple d'une équation linéaire du premier ordre à coefficients constants x+2x=t22t+3x'+2x = t^2-2t+3 tiré du livre "Calcul mathématique avec Sage" p.239-240, version 1.0 pour laquel on trace le champ de vecteurs associé dans l'espace des phases (t,x)(t,x). On commence par initialiser l'équation dans une variable appelée Eq.

var('t') x = function('x',t) Eq = diff(x) + 2*x == t^2 - 2*t +3 print Eq
2*x(t) + D[0](x)(t) == t^2 - 2*t + 3

La fonction desolve (le de pour differential equation) permet de trouver la forme générale de l'équation sous forme symbolique.

sol = desolve(Eq,x) print sol.expand()
c*e^(-2*t) + 1/2*t^2 - 3/2*t + 9/4

On voit que dans la solution générale il y a un paramètre cc. L'ajout de conditions initiales dans la commande desolve permet d'obtenir des solutions particulières.

sol0 = desolve(Eq,x,ics=[0,0]) print sol0.expand()
1/2*t^2 - 3/2*t - 9/4*e^(-2*t) + 9/4
sol1 = desolve(Eq,x,ics=[0,1]) print sol1.expand()
1/2*t^2 - 3/2*t - 5/4*e^(-2*t) + 9/4
sol2 = desolve(Eq,x,ics=[0,-1]) print sol2.expand()
1/2*t^2 - 3/2*t - 13/4*e^(-2*t) + 9/4

On trace maintenant le champ de vecteur défini par {t=1x=2x+t22t+3\left\{ \begin{array}{ll} t' =& 1 \\ x' =& -2x + t^2 - 2t + 3 \end{array} \right. ainisi que les trois solutions ci-dessus dans sur le même graphique.

# plot the vector field (f(x,y),g(x,y)) f = lambda t,x: 1 g = lambda t,x: -2*x + t^2 - 2*t + 3
P = (plot_vector_field((f,g),(-1,3),(-2,2),frame=False,plot_points=30) + plot(sol0, (t,-1,3),color='blue',ymin=-2,ymax=2) + plot(sol1, (t,-1,3),color='red',ymin=-2,ymax=2) + plot(sol2, (t,-1,3),color='green',ymin=-2,ymax=2))
P.show(figsize=[12,5])