UNIVERSITE KASDI MERBAH OUARGLA UNIVERSITE KASDI MERBAH OUARGLA Faculté des Hyd

UNIVERSITE KASDI MERBAH OUARGLA UNIVERSITE KASDI MERBAH OUARGLA Faculté des Hydrocarbures, des Energies Renouvelable, des Sciences de la Terre et l'Univers Département de production des Hydrocarbures Préparé par: (G2) Haithem Bendoubba Ali Boutera Belouanase Seif Eddine Année scolaire : 2022-2023 rapport tp°1 Methodes numerique Polynome de Lagrange Interpolation de Lagrange: Soit f une fonction de la variable réelle x, f est définée sur l’intervalle [a, b] ; soit n un entier et {x0, x1, ..., xn} n+1 points distincts de [a, b] ; il existe un polynôme et un seul Pn(x) de degré au plus égal à n tel que : ∀i ∈N et i ≤n : Pn(xi) = f(xi) Définition: Le polynôme Pn(x) est appelé “polynôme d’interpolation de Lagrange de la fonction f aux points {x0, x1, ..., xn}. Expression du polynôme est donnée par : Program 1: clc disp('---------lagrange interpolation method---------') syms x s=[-1 2 4 5]; f=[-2 43 213 376]; n=size(s,2); %length p=0; m=size(f,2); if (n~=m) disp('erreur lagrange: nombre de coordonnees et le nombre de valeurs de la fonction doit etre egale') s=input('les valeur de x= '); %[-1 2 4 5]; f=input('les valeur de y= '); %[-2 43 213 376]; n=length(s); end for i=1:n; l=1; for j=1:n; switch i~=j; %i est different de j case 1 l=((x-s(j))/(s(i)-s(j)))*l; end end l pretty(l) u=collect(l) p=l.*f(i)+p; end disp('--------------------------------|') disp(' X(i) F(Xi) ') disp('--------------------------------|') for i=1:n fprintf(' \t%.f\t %.f\n',s(i),f(i)); disp('--------------------------------|') end p p=collect(p) h=inline(p); u=min(s)-1:0.001:max(s)+1; a=1.5 plot(s,f,'k-',s,f,'ko',u,h(u),'r-','linewidth',2) h(a) Resultat ---------lagrange interpolation method--------- l = -(x/3 - 2/3)*(x/5 - 4/5)*(x/6 - 5/6) / x \ / x \ / x \ - | - - 2/3 | | - - 4/5 | | - - 5/6 | \ 3 / \ 5 / \ 6 / u = - x^3/90 + (11*x^2)/90 - (19*x)/45 + 4/9 l = (x/2 - 2)*(x/3 + 1/3)*(x/3 - 5/3) / x \ / x \ / x \ | - - 2 | | - + 1/3 | | - - 5/3 | \ 2 / \ 3 / \ 3 / u = x^3/18 - (4*x^2)/9 + (11*x)/18 + 10/9 l = -(x/2 - 1)*(x/5 + 1/5)*(x - 5) / x \ / x \ - | - - 1 | | - + 1/5 | (x - 5) \ 2 / \ 5 / u = - x^3/10 + (3*x^2)/5 - (3*x)/10 - 1 l = (x/3 - 2/3)*(x/6 + 1/6)*(x - 4) / x \ / x \ | - - 2/3 | | - + 1/6 | (x - 4) \ 3 / \ 6 / u = x^3/18 - (5*x^2)/18 + x/9 + 4/9 --------------------------------| X(i) F(Xi) --------------------------------| -1 -2 --------------------------------| 2 43 --------------------------------| 4 213 --------------------------------| 5 376 --------------------------------| p = 43*(x/2 - 2)*(x/3 + 1/3)*(x/3 - 5/3) + 2*(x/3 - 2/3)*(x/5 - 4/5)*(x/6 - 5/6) - 213*(x/2 - 1)*(x/5 + 1/5)*(x - 5) + 376*(x/3 - 2/3)*(x/6 + 1/6)*(x - 4) p = 2*x^3 + 4*x^2 + 5*x + 1 a = 1.5000 ans = 24.2500 Program 2 : function p=lagrange(a,x,y) clc; clear all; syms a x=[-1 2 4 5]; y=[-2 43 213 376]; n=length(x); p=0; for i=1:n; l=1; for j=1:n; if j~=i l=((a-x(j))/(x(i)-x(j)))*l; end end p=l.*y(i)+p end p=simplify(p); disp('--------------------------------|') disp(' X(i) F(Xi) ') disp('--------------------------------|') for i=1:n fprintf(' \t%.f\t %.f\n',x(i),y(i)); disp('--------------------------------|') end '--------------------------------| Main function p=lagrange(a,x,y) clc; clear all; syms a x=[-1 2 4 5] y=[-2 43 213 376] p=lagrange(a,x,y) Resultat p = 2*(a/3 - 2/3)*(a/5 - 4/5)*(a/6 - 5/6) p = 43*(a/2 - 2)*(a/3 + 1/3)*(a/3 - 5/3) + 2*(a/3 - 2/3)*(a/5 - 4/5)*(a/6 - 5/6) p = 43*(a/2 - 2)*(a/3 + 1/3)*(a/3 - 5/3) - 213*(a/2 - 1)*(a/5 + 1/5)*(a - 5) + 2*(a/3 - 2/3)*(a/5 - 4/5)*(a/6 - 5/6) p = 376*(a/3 - 2/3)*(a/6 + 1/6)*(a - 4) - 213*(a/2 - 1)*(a/5 + 1/5)*(a - 5) + 43*(a/2 - 2)*(a/3 + 1/3)*(a/3 - 5/3) + 2*(a/3 - 2/3)*(a/5 - 4/5)*(a/6 - 5/6) --------------------------------| X(i) F(Xi) --------------------------------| -1 -2 --------------------------------| 2 43 --------------------------------| 4 213 --------------------------------| 5 376 --------------------------------| ans = 2*a^3 + 4*a^2 + 5*a + 1 Polynome de Newton Polynôme D’interpolation de Newton : Une autre façon de construire p ϵ IPn tel que p(xi) = fi est d’utiliser la formule de Taylor et d’introduire les différences divisées. En effet, par la formule de Taylor, on écrit : Program 1: clear; clc; X=[4 6 8 10]; Y=[1 3 8 20]; syms x p=Y; ni=length(x); n=length(X)-1; for i=2:(length(p)); p(i:end)=(p(i:end)-p((i-1):(end-1)))./(X(i:end)-X(1:end-i+1)); end Yi=p(n+1)*ones(1,ni); for k=1:length(X)-1 Yi=p(n+1-k)+Yi.*(x-X(n+1-k)); end Yi=collect(Yi) f=inline(Yi); f(5) Resultat Yi = x^3/12 - (9*x^2)/8 + (71*x)/12 - 10 ans = 1.8750 Program2 clc clear all syms x X=[4 6 8 10]; y=[1 3 8 20]; r=y a=size(x,1) m=size(X,2)-1 for i=2:(size(r,2)); r(i:end)=(r(i:end)-r((i-1):(end-1)))./(X(i:end)-X(1:end-i+1)) end b=r(m+1) p=r(m+1)*ones(1,a) for T=1:length(X)-1 p=r(m+1-T)+p.*(x-X(m+1-T)) end p=collect(p) h=inline(p); u=min(X)-1:0.001:max(X)+1; plot(X,y,'k-',X,y,'ko',u,h(u),'r-','linewidth',2) s=h(4.5) Resultat : r = 1 3 8 20 a = 1 m = 3 r = 1.0000 1.0000 2.5000 6.0000 r = 1.0000 1.0000 0.3750 0.8750 r = 1.0000 1.0000 0.3750 0.0833 b = 0.0833 p = 0.0833 p = x/12 - 7/24 p = (x/12 - 7/24)*(x - 6) + 1 p = ((x/12 - 7/24)*(x - 6) + 1)*(x - 4) + 1 p = x^3/12 - (9*x^2)/8 + (71*x)/12 - 10 s = 1.4375 Commentaire : A travers les résultats, on constate que la méthode d'intégration de Newton est relativement plus proche des résultats corrects que l'intégrale de Lagrange. Explication Des instruction de MATLAB : Disp : présente comme de l'affichage digital sur un site partenaire. Syms : Est une fonction invariante par permutation de ses variables. Le cas le plus fréquent est celui d'une fonction polynomiale symétrique, donnée par un polynôme symétrique. Size : La fonction retourne dans chaque argument la valeur de la dimension correspondante. Appliquée à : une liste, size en renvoie le nombre d'éléments. Length : Comme son nom l'indique la fonction length renvoie une longueur, dans le sens d'une dimension d'un tableau. Input : La fonction input renvoie une valeur dont le type correspond à ce que l'utilisateur a entré. Switch : Évalue une liste d'expressions et renvoie une valeur Variante ou une expression associée à la première expression de la liste qui a la valeur Vrai. Inline : Le mot clé inline indique au compilateur de substituer le code dans la définition de fonction pour chaque instance d'un appel de fonction. Min : La fonction Excel MIN renvoie le plus petit nombre d'une série de valeurs. Max : Une fonction f définie dans un sous-ensemble E de nombres réels admet un maximum M en un point a de E. Plot : Est la fonction standard du logiciel statistique R permettant de produire les graphiques de base. Simplify : Comme son nom l'indique, la fonction simplify est chargée de simplifier l'expression qui lui est fournie en argument. Fprintf : La fonction fprintf envoie la chaîne formatée dans un flux de caractère. uploads/Geographie/ g02-raport-tp1-methode-numerique.pdf

  • 17
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager