Algorithme de Euler Vectoriel
Cet algorithme est proche de celui d’Euler dans la façon d’appréhender la méthode.
Il permet cependant d’approximer numériquement les solutions d’équations
différentielles de degré supérieur à 2. La principale différence de traitement consiste
dans le fait que l’on calcule des vecteurs de dimension égale au degré de l’équation
différentielle initiale (on recherche y et y’). Dans la méthode d’Euler l ‘équation est de
degré 1 on calcule alors un vecteur à 1 dimension (on recherche y).
Programmation
On crée une table de dimension nx3 (2 coordonnées pour chaque points + la
dérivé en ce point et n : nombre de point calculés).
Nous rentrerons dans cette table le point initial et nous créons une procédure de
calcul des points suivants suivant l’algorithme suivant :
xi-1 + h xi
"
'
*
'1
1
1
1
i
i
i
iy
y
h
y
y
Détail de l’exemple traité.
Soit le système de départ :
y’’(x) = 1+ y²(x) x [0 , 1]
y’(0) = 1
y(0) = 0
On renvoie suite à notre programmation la liste de {x , y } et la liste de { x , y’ } (sur
les copie mathematica est renvoyer la liste L : {x, y, y’}).
On simule un perturbation sur y0 puis sur y’0. On constate que les solutions sont très
peu perturbées puisque les valeurs numériques des points ne varient de quelque %
(cf page 4 et 5 des copies matematica) la méthode semble plus robuste.
Ensuite, on désire raffiner la solution en calculant plus de point. On obtient des
courbes plus ‘raffinées’ mais on constate que la Liste L renvoyer par mathematica (cf
page 5 et 6 des copies mathematica) est composée de fraction de nombres entiers
‘grands’ (temps de calcul rallonger). On comprend l’intérêt de ne pas chercher à
calculer ces fractions mais peut être en donner une approximation décimale et donc
des approximations supplémentaires sur la solution réelle.