[PDF] Informatique en CPGE (2018-2019) Résolution numérique d



Previous PDF Next PDF







Résolutionnumériqued’équationsdifférentielles

Elle permet de résoudre des ED du type y0(t) = F(y(t),t) avec y(t 0) = y 0 Elle prend en argument la fonction F, la condition initiale y 0 et une liste de temps



Résolution numérique d’équations différentielles

Résolution numérique d’équations différentielles dans cette section nous ne considérons que des équations différentielles de la forme Sortie Python



Résolution numérique d’une équation différentielle

Résolution numérique d’une équation différentielle Exercice 1 On commence par importer les différents modules et fonctions dont nous auront besoin : import numpy as np import matplotlib pyplot as plt from scipy integrate import odeint



Résolution numérique des équations différentielles 1 Les

Résolution numérique des équations différentielles 1 Les équations différentielles ordinaires (O D E) Sébastien Charnoz & Adrian Daerr Université Paris 7 Denis Diderot CEA Saclay 2 Les systèmes dynamiques L’évolution des systèmes dynamiques sont régis par des équations différentielles • Chute d’un corps :



A HASSAN

Résolution des équation différentielles ordinaires (EDO) Le Problème Le Problème (suite) Problème de Cauchy Méthodes de résolution: Ordres 1 et 2 Méthode d’Euler ou RK1 (Runge-Kutta d’ordre 1) Implémentation de l’algorithme d’Euler Implémentation de la méthode d’Euler en Python Runge Kutta d’ordre 4 (RK4) Méthode de



Résolution des Équations Différentielles

Résolution des Équations Différentielles •Déjà vues •Le plus souvent, résolution analytique •Nombreux problèmes sans solution analytique –Par ex pb à 3 corps –Résolution numérique † a˙ y ˙ +by ˙ +cy=0 D=b2-4ac D>0,y=ler1x+mer2x D



Méthodes numériques de résolution d’équations différentielles

Nous voulons simplement tester notre capacité à trouver la solution de façon numérique La connaissance d’une solution exacte nous permet de tester différentes méthodes de résolution numérique d’équations différentielles Pour résoudre les équations différentielles d’ordre 2 de l’éq (16) on va définir des fonctions



Informatique en CPGE (2018-2019) Résolution numérique d

Résolution numérique d’équations différentielles: méthode d’Euler Lycée des EK 26 mars 2019 (2018-2019) Résolution numérique d'équations



MÉTHODES NUMÉRIQUES ET SIMULATIONS

d’un système d’équations linéaires, diagonalisation d’une matrice, etc ) sont omniprésentes en calcul scientifique, quel que soit le domaine d’application Mais tout n’est pas qu’algorithme La représentation numérique des objets mathématiques ou phy-siques est également très importante



Equations Différentielles Ordinaires et Partielles

L’objet de ce cours est de proposer une introduction à l’étude des équations différentielles ordinaires (EDO) et de certaines équations aux dérivées partielles (EDP) Beaucoup de résultats existent dans ce domaine : il est possible de trouver des solutions explicites à ces équations, mais elles ne sont pas nombreuses

[PDF] pavage 5ème

[PDF] construction pavage maths

[PDF] pavage maths 5ème

[PDF] pavage du plan translation

[PDF] pavage mathématique

[PDF] pavage du plan quadrilatère

[PDF] pavage du plan geogebra

[PDF] qu'est ce qu'un pavage

[PDF] activité introduction angles 6eme

[PDF] mot de passe netflix oublié

[PDF] mot de passe netflix gratuit

[PDF] compte et mots de passe netflix

[PDF] partage identifiant netflix

[PDF] modifier mot de passe netflix

[PDF] pavé droit patron

Méthode d"Euler

Exemples

ComplémentInformatique en CPGE (2018-2019)

Résolution numérique d"équations

différentielles: méthode d"Euler S. B.

Lycée des EK

26 mars 2019

S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentLes équations différentielles permettent de modéliser de nombreux phénomènes physiques. En général, on ne dispose pas de solutions analytiques : par exemple, l"équation

00=k1sink20permet d"étudier le mouvement d"un

pendule amorti et il donc est intéressant de pouvoir visualiser une approximation de la solution.

S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentS"il existe une unique solutiony, sur un intervalle[a;b], de l"équationy0(x) =f(x;y(x))avecy(a)fixé, il s"agit d"approcher yen un certain nombre de points répartis dans cet intervalle. En particulier, sin+1 points sont répartis régulièrement sur [a;b], on définit le pash=ban , soitxk=a+khpour k=0;1;2;:::;n. L"objectif est de calculer des approximations y kdes valeursy(xk).S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentOn utilise l"approximation

y(x+h)y(x)h 'y0(x)appliquée pour chaquexk, et on obtient y(xk+1)y(xk)'hy0(xk) =hf(xk;y(xk))'hf(xk;yk)

Schéma :on calcule les approximations pour

k=0;1;2;:::;n1 par : x k+1=xk+hetyk+1=yk+hf(xk;yk) On initialise avecy0=y(x0) =y(a)(qui est la seule valeur exacte).

S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentUne programmation de ce schéma consiste à construire deux listes, une pour la suite(xk)des abscisses et une pour la suite (yk)des ordonnées. On définit une fonctioneulerqui prend en arguments les valeurs extrêmes de l"intervalleaetb, la valeur initialey(0), le pash, la fonctionfet renvoie les listes des abscisses et des ordonnées.

S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

Complémentdef euler(a, b, y0, h, f) :

y = y0 x = a liste_y = [y0] # la liste des valeurs renvoyées liste_x = [a] while x + h <= b : y += h * f(x, y) liste_y.append(y) x += h liste_x.append(x) return liste_x, liste_y

S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentExemple 1

Exemple 2

Exemple 3On cherche une solution approchée de l"équation différentielle y

0=2x+1, avecy(0) =2, sur l"intervalle[0;4]. La solution

exacte esty(x) =x2+x+2. Avec la méthode d"Euler, on calculeyk+1=yk+hf(xk;yk).S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentExemple 1

Exemple 2

Exemple 3On obtient la figure suivante avec un pash=0:5 :S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentExemple 1

Exemple 2

Exemple 3On cherche une solution approchée de l"équationy0=y, avec y(0) =1, sur l"intervalle[0;5]. La solution exacte esty(x) =ex. Avec la méthode d"Euler, on calculeyk+1=yk+hyk, soit y k+1= (1+h)yk. Avecy0=1, on obtientyk+1= (1+h)k+1.S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentExemple 1

Exemple 2

Exemple 3La figure suivante est réalisée avec différentes valeurs du pas h.S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentExemple 1

Exemple 2

Exemple 3Avec la méthode d"Euler, l"erreur a deux causes constatées sur les exemples précédents : des erreurs d"arrondi dans les opérations effectuées par l"ordinateur et une erreur de

discrétisation, (ek=yky(xk)), due au procédé de calcul.S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentExemple 1

Exemple 2

Exemple 3Il est important que l"erreur de discrétisation diminue lorsque le pashdiminue. On dit que la méthode converge si, pour toutk, y ktend versy(xk)quandhtend vers 0. Dans ce cas il faudra comme souvent faire un compromis entre la précision de l"approximation et le temps de calcul.

S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentExemple 1

Exemple 2

Exemple 3Problème de stabilité : on résout l"équationy0=yavec y(0) =1 sur l"intervalle[0;30]. La solution exacte est y(x) =ex. Ici l"intervalle est "grand" et si le pas n"est pas assez petit, on a un problème de stabilité.

S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentExemple 1

Exemple 2

Exemple 3Instabilité pourh=2;5 :S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentExemple 1

Exemple 2

Exemple 3Stabilité pourh=1;5 :S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentOn peut résoudre une équation différentielle de degré 2 ou plus en vectorisant l"équation.

L"équationy00+y=0 est équivalente à

(y;y0)0= (y0;y) =F(y;y0), soit en posantY= (y;y0), on obtient l"équationY0=F(Y). (OuY0=F(x;Y)dans le cas général). La méthode d"Euler peut s"appliquer ici et pour la programmation,Ysera un objet de typetupleoulist.S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentMais les calculs se compliquent car par exemple : (3,4)+(2,5)=(3,4,2,5) (concaténation des deux couples) et non pas (5,9) comme on le souhaiterait. Il faudra donc en particulier détailler le calcul deY+hF(Y)dans la définition de la fonction euler.S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentOn commence par modifier la définition de la fonction f : def f(x, y) : # y est un couple return (y[1], -y[0])

S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentPuis la définition de la fonctioneuler:def euler(a, b, y0, h, f) : x = a y = y0 liste_x = [a] liste_y = [y0] while x + h <= b : y = (y[0] + h * (f(x, y)[0]), y[1] + h * (f(x, y)[1])) liste_y.append(y) x += h liste_x.append(x) return liste_x, liste_y

S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentIl est aussi possible et plus simple d"utiliser un objet de type array, (tableau en français). Un objet de typearrayressemble à un objet de typelist, mais ici, tous les éléments doivent être du même type et le nombre d"éléments doit être connu à la création. Les objets de type arrayse trouvent dans une bibliothèque appelée "Numerical

Python" (NumPy) élaborée pour un calcul numérique optimisé.S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentIl est alors plus simple de calculer avec des tableaux car les opérations mathématiques sont prédéfinies.

Exemples d"utilisation :import numpy as np

a = np.array([3, 4]) # convertit une liste en tableau b = np.array([2, 5]) print(a + b) # affiche [5 9] print(3 * a) # affiche [9 12] print((a + b)[0]) # affiche 5

S. B.Présentation en Latex avec Beamer

Méthode d"Euler

Exemples

ComplémentMaintenant, il n"est plus nécessaire de modifier la définition de la fonctioneuler.def euler(a, b, y0, h, f) : x = a y = y0 liste_x = [a] liste_y = [y0] while x + h <= b : y = y + h * (f(x, y) # calcul sur des tableaux liste_y.append(y) x += h liste_x.append(x) return liste_x, liste_y

S. B.Présentation en Latex avec Beamer

Méthode d"Euler

quotesdbs_dbs44.pdfusesText_44