Introduction à l’Analyse Numérique H.Douzi Université IbnZohr, Faculté des Sciences BP8106 Agadir
Chapitre 4 : Approximation et Interpolation des fonctions
Approximation de fonctions Soit une fonction f (inconnue explicitement) connue seulement en certains points x0,x1…xn ou évaluable par un calcul coûteux. Principe : représenter f par une fonction simple, facile à évaluer Problème : il existe une infinité de solutions ! 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 -4 -3 -2 -1 2
Approximation de fonctions Il faut se restreindre à une famille de fonctions polynômes, exponentielles, fonctions trigonométriques… 2 1 -1 -2 -3 -4 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
Quelques méthodes d'approximation Interpolation polynomiale polynômes de degré au plus n polynômes de Lagrange différences finies de Newton Interpolation par splines polynômes par morceaux Interpolation d'Hermite informations sur les dérivées de la fonction à approcher ... True function Approx 1 Approx 2
Interpolation polynomial Théorème d’approximation de Weierstrass Interpolation : Trouver un polynôme qui coïncide avec la fonction sur n+1 point données n+1 points n+1 équations avec n+1 inconnus (les coefficients du polynôme) Polynôme de degré n
Example Données: (0,2), (1,0.3975), (2, -0.1126), (3, -0.0986). Interpolation par un polynôme cubique:
Attention aux interpolations En rouge: fonction exacte En bleu : interpolation cubique
Interpolation polynomiale Le problème : les données, la solution recherchée Mauvaise solution : résoudre le système linéaire Solution: Combinaison linéaire de polynômes:
Interpolation polynomiale de Lagrange Théorème Soient n+1 points distincts xi réels et n+1 réels yi, il existe un unique polynôme p Pn tel que p(xi) = yi pour i = 0 à n Construction de P : avec Li polynôme de Lagrange Propriétés de Li Li(xi)=1 Li(xj)=0 (j i) Démonstration L i est un polynôme d’ordre n
Lagrange : Exemple n°1 Exemple avec n=1 on connaît 2 points (x0,y0) et (x1,y1) on cherche la droite y=ax+b (polynôme de degré 1) qui passe par les 2 points : y0 = a x0 + b a = (y0 - y1) / (x0 - x1) y1 = a x1 + b b = (x0 y1 - x1 y0) / (x0 - x1) y1 y0 x0 x1 L0(x) L1(x)
Lagrange : Exemple n°2 Exemple avec n=2 on connaît 3 points (0,1), (2,5) et (4,17) polynômes de Lagrange associés : - 2 4 2 4 2 4
Lagrange : Exemple n°2 calcul du polynôme d'interpolation p(x)=L0(x) + 5 L1(x) + 17 L2(x) en simplifiant, on trouve p(x)=x2+1
Lagrange : l’algorithme Fonction y = lagrange(x,xi,yi) Complexité du calcul : n2
Lagrange : Exemple n°3 Exemple avec n=2 : (fonction à approcher y=ex) on connaît 3 points (0,1), (2,7.3891) et (4,54.5982) Polynôme d'interpolation: p(x) =L0(x) + 7.3891 L1(x) + 54.5982 L2(x) 60 50 40 30 20 10 -10 -1 1 2 3 4 5
Lagrange : erreur d'interpolation Théorème : si f est n+1 dérivable sur [a,b], x [a,b], notons: I le plus petit intervalle fermé contenant x et les xi (x)=(x-x0)(x-x1)…(x-xn) alors, il existe I tel que NB : dépend de x Utilité = on contrôle l’erreur d’approximation donc la qualité de l’approximation
Interpolation polynomiale : Newton Polynômes de Newton : base = {1, (x-x0), (x-x0)(x-x1), …, (x-x0)(x-x1)…(x-xn-1)} On peut réécrire le polynôme d’interpolation P(x) : P(x)=a0 + a1(x-x0) + a2(x-x0)(x-x1)+…+ an(x-x0)(x-x1)…(x-xn-1) Calcul des ak : méthode des différences divisées
Newton : différences divisées Définition : Soit une fonction f dont on connaît les valeurs en des points distincts a, b, c, … On appelle différence divisée d’ordre 0, 1, 2,...,n les expressions définies par récurrence sur l’ordre k : k=0 f [a] = f (a) k=1 f [a,b] = ( f [b] - f [a] ) / ( b - a ) k=2 f [a,b,c] = ( f [a,c] - f [a,b] ) / ( c - b ) … f [X,a,b] = ( f [X,b] - f [X,a] ) / ( b - a ) a X , b X , a b
Newton : différences divisées Théorèmes : Détermination des coefficients de P(x) dans la base de Newton : f [x0, x1,…, xk] = ak avec k = 0 … n Erreur d'interpolation : e(x) = f [x0, x1,…, xn, x] (x)
Newton : différences divisées Calcul pratique des coefficients : x0 f [x0] x1 f [x1] f [x0, x1] x2 f [x2] f [x1, x2] f [x0, x1, x2] … … … ... … … … f [xn-3, xn-2, xn-1] xn f [xn] f [xn-1, xn] f [xn-2, xn-1, xn] … f [x0, ..., xn] a0 a1 a2 an
Newton : Exemple (ex. n°2) : n=2 (0,1), (2,5) et (4,17) 0 f [x0]=1 2 f [x1]=5 f [x0, x1] =(1-5)/(0-2)=2 4 f [x2]=17 f [x1, x2] f [x0, x1, x2] =(5-17)/(2-4)=6 = (2-6)/(0-4)=1 a0 a1 a2 p(x)=1 + 2x + x(x-2) (et on retombe sur p(x) = 1 + x2)
Newton : l’algorithme Fonction a = Newton(xi,yi) Complexité du calcul : n2
Interpolation par splines Ex : y=2(1+tanh(x)) - x/10 avec 9 points Entre les points, le polynôme fait ce qu'il veut… Plus son degré est élevé plus il est apte à osciller !
Interpolation par splines cubiques Principe : on approche la courbe par morceaux (localement) on prend des polynômes de degré faible (3) pour éviter les oscillations
Splines cubiques : définition On appelle spline cubique d’interpolation une fonction notée g, qui vérifie les propriétés suivantes : g C2[a;b] (g est deux fois continûment dérivable), g coïncide sur chaque intervalle [xi; xi+1] avec un polynôme de degré inférieur ou égal à 3, g(xi) = yi pour i = 0 … n Remarque : Il faut des conditions supplémentaires pour définir la spline d’interpolation de façon unique Ex. de conditions supplémentaires : g"(a) = g"(b) = 0 spline naturelle.
Splines : illustration P2(x)=a2 (x-x2) 3+b2 (x-x2) 2+c2 (x-x2) +d2 P1(x)=a1x3+b1x2+c1x+d1 =a1 (x-x1)3+b1 (x-x1) 2+c1 (x-x1) +d1
Splines cubiques : Détermination Détermination de la spline d’interpolation g coïncide sur chaque intervalle [xi; xi+1] avec un polynôme de degré inférieur ou égal à 3 g" est de degré 1 et est déterminé par 2 valeurs: mi = g"(xi) et mi+1 = g"(xi+1) (moment au noeud n°i) Notations : hi = xi+1 - xi pour i = 0 … n-1 i= [xi; xi+1] gi(x) le polynôme de degré 3 qui coïncide avec g sur l’intervalle i
Splines cubiques : Détermination g"i(x) est linéaire : x i on intègre (ai constante) on continue (bi constante) gi(xi) = yi gi(xi+1) = yi+1 1 2
Splines cubiques : détermination g'(x) est continue : et on remplace les ai dans : Rappel : on cherche les mi (n+1 inconnues) on a seulement n-1 équations grâce à il faut rajouter 2 conditions, par exemple m0 = mn =0 (spline naturelle) 3 1 2 3 4 4
Splines cubiques : détermination Ex de résolution avec hi = xi+1 - xi constant : forme matricielle : Tm=f T inversible (diagonale strictement dominante) 4
Splines cubiques : l’algorithme Complexité du calcul : complexité du solveur
Splines cubiques : exemple Ex : y=2(1+tanh(x)) - x/10 avec 9 points 6 4 spline 2 -2 -4 polynôme de degré 8 -6 -6 -4 -2 2 4 6
Conclusion Interpolation polynomiale évaluer la fonction en un point : Polynôme de Lagrange -> méthode de Neville compiler la fonction : Polynôme de Newton Interpolation polynomiale par morceau : splines spline cubique d’interpolation spline cubique d’approximation (on régularise) b spline spline généralisée : splines gausiènnes (multidimensionelle)
Chapitre 5: Intégration Numérique H. Douzi Analyse Numérique 34
Intégration numérique Méthodes polynomiales On connaît la fonction sur n+1 points 2 solutions : calculer le polynôme d'interpolation de degré n : Pn(x) calculer l'intégrale du polynôme de degré n problème = les polynômes de degré élevé oscillent énormément regrouper les n+1 points en sous-intervalles de p+1 points (avec p+1 faible) calculer les polynômes d'interpolation de degré p sommer les intégrales de chaque sous-intervalle H. Douzi Analyse Numérique 35
Intégration numérique Méthode des trapèzes : p+1=2 points polynôme d'interpolation=droite A = soit h = xi+1 - xi A H. Douzi Analyse Numérique 36 0.5 1 1.5 2 2.5 3
Intégration numérique Méthode de Simpson: p+1=3 points polynôme d'interpolation de degré 2 (i va de 0 à n-2 avec un pas de 2) A H. Douzi Analyse Numérique 37 0.5 1 1.5 2 2.5 3
Intégration numérique Méthode générale Newton-Cotes: p+1 points polynôme d'interpolation de degré p: Pp(x) Car d’après l’interpolation de Lagrange: comment trouver les i ? A H. Douzi Analyse Numérique 38 0.5 1 1.5 2 2.5 3
Intégration numérique Méthode générale Newton-Cotes: p+1 points calcul des i = décomposition de l'intégrale dans la base {1, t, … tp} A H. Douzi Analyse Numérique 39 0.5 1 1.5 2 2.5 3
Intégration numérique Erreur de quadrature pour : les trapèzes Simpson H. Douzi Analyse Numérique 40
Chapitre 6: Résolution Numérique d'équations différentielles H. Douzi Analyse Numérique 41
Problème de Cauchy Définition Soit f : [a,b] x R R et y0R. Le problème de Cauchy ou le problème de la condition initiale est le suivant : Trouver une fonction y : [a,b] R dérivable sur [a,b] qui vérifie : H. Douzi Analyse Numérique
Résolution analytique des Équations Différentielles Dans certaines équations différentielles on a la solution analytique Mais en général : problèmes sans solution analytique : Par ex. pb. à 3 corps Obligation de recourir à la Résolution numérique ED solution dx/dt - x = et x(t) = tet + cet d2x/dt2 + 9x = 0 x(t) = c1sin3t + c2cos3t dx/dt + 1/2x = 0 x(t) = Ö(c-t)
Théorème (Cauchy-Lipschitz) On suppose que la fonction f vérifie les conditions suivantes : f est continue par rapport à ses deux variables. f (x,y) est Lipchitzienne en y uniformément par rapport à x, c'est-à-dire : Alors dans ce cas le problème de Cauchy admet une solution unique. H. Douzi Analyse Numérique
Principes généraux Equation différentielle de 1er ordre : avec t I = [t0,T] idée générale : Discrétiser t: tn = t0 + nh; h = (T-t0)/n = pas de la méthode Trouver une suite itérative zn qui approche yn = y(tn) Taylor : schéma d'Euler simple H. Douzi Analyse Numérique 45
Méthode d’Euler Méthode d’Euler: La méthode numérique la plus simple mais pas la plus efficace. On subdiviser l’intervalle [a,b] en points équidistants : x0 = a, x1, …, xn = b avec x(i+1)-xi=(b-a)/n=h est le pas de la subdivision. On en déduit: xi=a+ih pour i=0,1,…,n. H. Douzi Analyse Numérique
Méthode d’Euler Supposons que la solution du problème soit deux fois dérivable : d’après le développement de Taylor et pour chaque indice i=0…n-1, il existe ci[xi , xi+1 ] tel que : Puisque y(x) satisfait l’équation différentielle on peut écrire : H. Douzi Analyse Numérique
Méthode d’Euler La méthode d’Euler consiste à négliger pour chaque indice i le terme On obtient ainsi une estimation de la solution sur les points de la subdivision : H. Douzi Analyse Numérique
Exemple méthode d’Euler On considère l’ équation différentielle: Elle admet comme solution analytique: Méthode d'Euler, influence du nombre de points H. Douzi Analyse Numérique
Convergence de la méthode d’Euler Définition: Une méthode numérique fournissant des valeurs approchées (y0, y1, …,yn) de la solution exacte (y(x0), y(x1), … , y(xn)) est dite d’ordre p s’il existe une constante K telle que : La méthode d’Euler est d’ordre 1 ne converge pas rapidement. En général on utilise des méthodes d’ordre plus élevé comme les méthodes de Runge-Kutta qui peuvent atteindre l’ordre 4. H. Douzi Analyse Numérique
Méthodes de Taylor d’ordre plus élevés Développement de Taylor d’ordre m: On utilise la même approche d’Euler mais on doit calculer pour chaque fonctions f les dérivées:
Exemple f(t,y)=t-y
Méthodes de Runge-Kutta Les méthodes de Runge-Kutta peut être considérée comme une généralisation de la méthode de Euler. Elle est définie par Pour la méthode d’Euler =f L’objectif est d’avoir une meilleur convergence en choisissant Pour cela on utilise des approximations de Taylor d’ordre supérieur H. Douzi Analyse Numérique
Formules dérivées de Runge-Kutta
Formules dérivées de Runge-Kutta Développement dérivée de Runge-Kutta d’ordre 4 :
Méthodes de Runge-Kutta d’ordre 2 La méthode Runge Kutta est plus symétrique puisqu’elle revient à évaluer numériquement la dérivée au centre de l’intervalle. Les équations de cette méthode sont :
Exemple de Runge-Kutta RK4 C’est une méthode d’ordre 4 Considérons le problème suivant : La méthode RK4 est donnée par l'équation : où H. Douzi Analyse Numérique
Exemple de RK4 On considère l’ équation différentielle: Elle admet comme solution analytique: H. Douzi Analyse Numérique