• Aucun résultat trouvé

1 Gérer des EDO d’ordre 2, 3, . . .

N/A
N/A
Protected

Academic year: 2022

Partager "1 Gérer des EDO d’ordre 2, 3, . . ."

Copied!
5
0
0

Texte intégral

(1)

Équations différentielles (suite)

Skander Zannad et Judicaël Courant 2014-01-31

1 Gérer des EDO d’ordre 2, 3, . . .

Équation d’un amortisseur soumis à une excitation de pulsationω: my00=−cy0ky+αcosωt

Pas une équation d’ordre1. Comment la gérer ? On introduitY(t) = (y(t), y0(t)).

En posantπ0: (x, y)7→xetπ1: (x, y)7→1:

Y0(t) = (y0(t), y00(t))

= (y0(t),(−cy0(t)−ky(t) +αcosωt)m1)

= (π1(Y(t)),(−cπ1(Y(t))−0(Y(t)) +αcosωt)m−1)

=F(t, Y(t)) oùF: (t, Y)7→. . .

On s’est ramené à une équation d’ordre1! Résolution :

m = 250 # kg

omega = 1 # s ∗∗ (1) alpha = 0 # N

k = 1000 # N / m

c = 500 # Nms∗∗(1) y0 = 1 # m

yp0 = 0 # m . s∗∗(1) t0 = 0

t1 = 20 # s n = 1000

h = f l o a t(t1 − t0) / n

def F(t, Y) : y, yp = Y

ypp = (−c∗yp − k∗y + alpha∗cos(omega∗t) ) / m return array( [yp, ypp] )

les_t, les_y = euler_vectoriel(F, t0, t1, array( [y0, yp0] ) , h)

0 5 10 15 20

t 0.8

0.6 0.4 0.2 0.0 0.2 0.4 0.6 0.8 1.0

y(t)

Amortisseur

c=100Nms1

(2)

0 5 10 15 20 t

0.4 0.2 0.0 0.2 0.4 0.6 0.8 1.0 1.2

y(t)

Amortisseur

c=400Nms1

0 5 10 15 20

t 0.2

0.0 0.2 0.4 0.6 0.8 1.0

y(t)

Amortisseur

c=600Nms1

0 5 10 15 20

t 0.2

0.0 0.2 0.4 0.6 0.8 1.0

y(t)

Amortisseur

c=800Nms1

0 5 10 15 20

t 0.0

0.2 0.4 0.6 0.8 1.0

y(t)

Amortisseur

c=1000Nms1

(3)

0 5 10 15 20 t

0.0 0.2 0.4 0.6 0.8 1.0

y(t)

Amortisseur

c=1200Nms1

0 5 10 15 20

t 0.0

0.2 0.4 0.6 0.8 1.0

y(t)

Amortisseur

c=2000Nms1

2 Portraits de phase

On porte sur le graphe les couples(y(t), y0(t)):

def phase(legende, nomfichier) :

_, les_y = euler_vectoriel(F, t0, t1, array( [y0, yp0] ) , h)

pl.clf( )

pl.xlabel( ’ $y ( t )$ ’ ) pl.ylabel( " $y ’ ( t )$ " ) pl.grid( )

pl.plot(array(les_y) [ : , 0] , array(les_y) [ : , 1]) pl.title(legende)

pl.savefig(nomfichier)

30 20 10 0 10 20 30 40 50

y(t)

100 80 60 40 20 0 20 40 60 80

y0(t)

Portrait de phase (amortisseur,

c=100Nms1

3 Influence du pas de discrétisation

On reprend l’exemple de l’amortisseur, avecc= 100et avec différentes valeurs du pas de discrétisationh= (t1t0)/n:

(4)

0 5 10 15 20 t

0.8 0.6 0.4 0.2 0.0 0.2 0.4 0.6 0.8 1.0

y(t)

Amortisseur

n=4000

0 5 10 15 20

t 1.0

0.5 0.0 0.5 1.0

y(t)

Amortisseur

n=400

0 5 10 15 20

t 30

20 10 0 10 20 30 40 50

y(t)

Amortisseur

n=100

Le dernier graphe est clairement délirant sur le plan physique... (voir livre, notamment fig 9.19 p243)

Plusieurs facteurs contribuent à l’erreur :

— des erreurs de méthode (la méthode d’Euler n’est pas parfaite)

— des erreurs de calcul (les flottants ne sont pas les réels)

Pour les erreurs de méthode, on dit qu’il y a convergence si, quandntend vers+∞ (donc quandhtend vers0), l’erreur de méthode tend vers0.

Il y a convergence si

1. certaines conditions de stabilité de la méthode employée sont respectée 2. et la sommee(h)des petites erreurs commises à chaque étape tend vers0quand

htend vers0(e(h): erreur de consistance).

On dit qu’une méthode est d’ordrepsi l’erreur de consistance est unO(Khp).

La méthode d’Euler est une méthode d’ordre1.

4 Autres méthodes

4.1 Méthode d’Euler implicite

La méthode d’Euler présentée jusqu’ici est diteexplicite: yk+1=yk+hF(tk, yk)

(5)

Méthode d’Euler implicite

yk+1=yk+hF(tk, yk+1)

Inconvénient : pour trouveryk+1, il faut résoudre une équation (numériquement).

Avantage : souvent plus stable.

4.2 Méthode de Heun

Siyn=y(tn), il existec∈]tn, tn+1[tel que

y(tn+1) =yn+hy0(c) Tout le problème est d’estimery0(c).

Idée de la méthode d’Euler explicite :

y0(c)≈y0(tn) =k1k1=y0(tn) =F(tn, yn) Idée de la méthode de Heun :

y0(c)≈y0(tn) +y0(tn+1) 2

F(tn, y(tn)) +F(tn+1, y(tn+1))

2 (y0=F(t, y))

k1+F(tn+1, yn+hk1)

2 (y(tn+1)≈yn+hk1)

On pose donc :

yn+1=yn+h 2

F(tn, yn) +Ftn+1, yn+hF(tn, yn) La méthode de Heun est d’ordre (de convergence) deux.

4.3 Méthode de Runge-Kutta

Pour évaluery0(c), on calcule

k1+ 2k2+ 2k3+k4

6 oùk1,k2,k3etk4sont des évaluations des pentes : k1 pente enyn

k2 pente évaluée entn+h2 en utilisantk1pour estimery(tn+h2) k3 pente évaluée enyn+h2en utilisantk2pour estimery(tn+h2) k4 pente évaluée entn+hen utilisantk3pour estimery(tn+h).

k1=f(tn, yn) k2=f(tn+h

2, yn+h 2k1) k3=f(tn+h

2, yn+h 2k2) k4=f(tn+h, yn+hk3) Il s’agit d’une méthode d’ordre de convergence4.

Elle est facile à programmer et donc très populaire.

Références

Documents relatifs

A l’aide d’un tableur, construit les diagrammes représentant la température et les précipitations sur l’ile Heard.. Quelle est l’étendue

Un programme principal (fichier ordre1_scal.{c,f90}) assurant le dialogue avec l’utilisateur pour choisir l’abscisse de début, le pas et l’abscisse de fin, la valeur initiale y 0 1

Lorsqu'il existe en outre une influence de l'écart de vitesse sur l'écart de couple résistant, dons le sens d'une augmentation du couple par voleurs croissantes de la vitesse,

Par comparaison entre ce qui est pareil et ce qui est différent, le binôme trouve ce qu’il faut donner à Minibille pour qu’elle ait autant que Maxibille.. Le

construire une petite boîte pour mettre les petits cailloux perdus au cours de la partie qui peuvent être récupérés par un joueur chanceux et la poser à côté du plateau de

(Collagenous OR lymphocytic) colitis 1814 réf.. Qui peut le moins peut

premier ordre du système Y. Enfin nous déterminerons toutes les équations s = f ayant une intégrale intermédiaire du premier ordre qui sont de la première

Carvallo dans le dernier numéro de Y Intermédiaire des Mathématiciens (question 173) me remet en mémoire quelques remarques que j'ai faites autrefois sur la détermination des