[Licence 3] Runge Kutta

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Anonyme

[Licence 3] Runge Kutta

par Anonyme » 30 Avr 2005, 18:02

Bonjour,

Je recherche l'ordre de cette méthode de Runge Kutta :

0 | 0 0 0 0
1/2 | 1/2 0 0 0
1/2 | 0 1/2 0 0
1 | 0 1 0 0
-----|-----------------------
| 1/6 2/6 2/6 1/6

En notant A la matrice 4*4 ci-dessus, B la matrice horizontale et C la
matrice verticale.
Je trouve que cette méthode est d'ordre 3 (elle ne peut pas être d'ordre 4
car A²C=0).
Or un livre de math affirme qu'elle est d'ordre 4 (mais sans le démontrer).
Qui a raison ?
(Je ne sais pas si ça peut servir mais j'ai remarqué que la 2ème ligne est
la méthode d'intégration des rectangles à gauche, la 3ème ligne est la
méthode des rectangles à droites, la quatrième ligne est la méthode des
points médians et la dernière ligne est la méthode de Simpson).

Merci d'avance pour votre aide !





Anonyme

Re: [Licence 3] Runge Kutta

par Anonyme » 30 Avr 2005, 18:02

"Nico" wrote in message news:...
> Bonjour,
>
> Je recherche l'ordre de cette méthode de Runge Kutta :
>
> 0 | 0 0 0 0
> 1/2 | 1/2 0 0 0
> 1/2 | 0 1/2 0 0
> 1 | 0 1 0 0
> -----|-----------------------
> | 1/6 2/6 2/6 1/6
>
> En notant A la matrice 4*4 ci-dessus, B la matrice horizontale et C la
> matrice verticale.
> Je trouve que cette méthode est d'ordre 3 (elle ne peut pas être d'ordre 4
> car A²C=0).
> Or un livre de math affirme qu'elle est d'ordre 4 (mais sans le démontrer).
> Qui a raison ?


Tu as peut-etre fait une erreur de notation: "la" methode classique
d'ordre 4 donne dans tous les bouquins est:

0 | 0 0 0 0
1/2 | 1/2 0 0 0
1/2 | 0 1/2 0 0
1 | 0 0 1 0
-----|-----------------------
| 1/6 2/6 2/6 1/6

il y a dans A une sous-diagonale complete et rien en-dehors.

De toute facon erreur d'enonce ou pas tu peux verifier par un calcul
direct ici (il y a beaucoup de coeffs nuls):

1) l'equa diff que l'on resout est y'=f(x,y) avec comme condition
initiale y(x_0)=y_0.
2) La methode te donne une approximation de y(x_0+h) de la forme: y_1
= y_0 + h*(somme b_i*k_i), les k_i etant f evaluee a certains point
(voir ton cours).

Donc: tu developpes en serie la methode (y_1, c'est une fonction de
h), tu remplace ensuite tous les coeffs par leur valeur, et tu
regardes jusqu'a quel ordre ca annule les termes du developpement de
la vraie solution y(x_0+h).

Bon courage.
--
thomas.

Anonyme

Re: [Licence 3] Runge Kutta

par Anonyme » 30 Avr 2005, 18:04

Thomas Sauvaget wrote:

> Donc: tu developpes en serie la methode (y_1, c'est une fonction de
> h), tu remplace ensuite tous les coeffs par leur valeur, et tu
> regardes jusqu'a quel ordre ca annule les termes du developpement de
> la vraie solution y(x_0+h).
>
> Bon courage.



[Ce qui suit est la copie d'une reponse a un message recu en prive.]

>Quand je développe y_(n+1), j'obtiens :
>y_(n+1)=y_(n)+h*[1/6*f(t_n_1,y_n_1)+2/6*f(t_n_2,y_n_2)+2/6*f(t_n_3,y_n_3)+1/
>6*f(t_n_4,y_n_4)].


Ca c'est bon.

>Mais après, je ne vois pas comment calculer l'ordre
>(même en remplaçant les y_n_i par leur valeur.)



Les y_n_i *et* les t_n_i s'expriment tous en fonction de h en
utilisant les coeffs de la methode.

En notant k_j = f(t_n_j,y_n_j) alors on a:

t_n_i = t_n + c_i * h

et y_n_i = y_n + h*[somme sur u des a_(i,u)*k_u ]

Ainsi,

premier terme: t_n_1 = t_n et y_n_1 = y_n
[car c_1=0 et a_(1,u)=0 pour tout u]

deuxieme terme: t_n_2 = t_n + h * (1/2) et y_n_2 = y_n + h * (1/2) *
k_1
[car c_2=1/2 et a_(2,1)=1/2]

Je te laisse faire les deux derniers termes.

Et ensuite on se retrouve donc bien avec une grosse expression qui est
une fonction de h uniquement (puisque le point (t_n, y_n) est connu, le
point (t_(n+1),y_(n+1)) etant celui qu'on veut evaluer).

Donc il te faut deriver cette grosse expression, en utilisant les
regles de derivation partielle des fonctions composees...Sauf que c'est
pas tres complique puisqu'a l'interieur des deux variables de f on a
juste de gentilles fonctions lineaires de h, qui sont donc faciles a
deriver.

Je te laisse finir.


>Il y a autre chose que je ne comprend pas, pourquoi est-ce que je ne

trouve
>pas transposée(B) * A² * C * e = 1/24 si cette méthode est vraiment

d'ordre
>4 (j'ai fais le calcul 3 fois (à la main et avec Maple)).


Ca je ne sais pas, je connais pas ce critere et j'ai pas le temps d'y
reflechir.

--
thomas.

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 59 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite