TP Diagraphie en Milieux Poreux
TP Diagraphie en Milieux Poreux
TP Diagraphie en Milieux Poreux
TP N°1 :
Polynômes et interpolation
GROUP : 05
Année universitaire
2021/2022
I. Introduction :
Matlab est un logiciel interprété (donc sans phase préliminaire de compilation) qui
exécute les opérations demandées séquentiellement, avec possibilité de boucle, test et saut. Il
ne manipule que des données numériques et ne sait effectuer aucun calcul formel à priori.
Ecran de base (présentation pouvant légèrement différer selon version)
L'écran de base comprend l'écran de contrôle Command Windows ainsi que des
fenêtres complémentaires permettant de suivre le fonctionnement général d'une application.
Les instructions frappées (ou collées) dans la Command Windows s'exécutent
directement.
II. Objectif :
L’objectif de ce TP est l’implémentation de l’algorithme d’interpolation
polynômiale de Lagrange et Polynôme de newton.
C’est l’instruction interp qui les calcule en s’appliquant à deux listes contenant
respectivement les abscisses et les ordonnées.
Voir programme :
Program 1 :
clc;clear
syms X
x=[4 6 8 10];
y=[1 3 8 20];
n=size(x,2);
p=0;
for i=1;n
L=1
for j=1:n
if(j~=i)
L=((X-x(j))/(x(i)-x(j)))*L;
end
end
p=p+y(i)*L;
pretty (L)
end
simplify (p)%collect (p)
p=inline(p);
p(5)
Résulta 1 :
n =
4
L =
/ X \ / X \ / X \
- | - - 3 | | - - 2 | | - - 5/3 |
\ 2 / \ 4 / \ 6 /
ans =
ans =
0.3125
Program 2 :
clc
disp('------------lagranges interpolation method-----------------')
syms x
%s=input ('les valeur de x= '); %[-1 2 4 5];
%f=input ('les valeur de y= '); %[-2 43 213 376];
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(' ]')
disp( 'erreur lagrange: nomber de coordonnees et le nomber de
valeurs de la fonction doit etre egale')
s=input ('les valeurs de x= '); %[-1 2 4 5];
f=input ('les valeurs 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;
Résulta 2:
------------lagranges interpolation method-----------------
n =
4
l =
/ x \ / x \ / x \
- | - - 2/3 | | - - 4/5 | | - - 5/6 |
\ 3 / \ 5 / \ 6 /
u =
l =
/ x \ / x \ / x \
| - - 2 | | - + 1/3 | | - - 5/3 |
\ 2 / \ 3 / \ 3 /
u =
l =
/ x \ / x \
- | - - 1 | | - + 1/5 | (x - 5)
\ 2 / \ 5 /
u =
l =
/ x \ / x \
| - - 2/3 | | - + 1/6 | (x - 4)
\ 3 / \ 6 /
u =
]
X(i) F(Xi)
]
-1 -2
]
2 43
]
4 213
]
5 376
]
p =
p =
a =
1.5000
ans =
24.2500
Voir programme :
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)
Résulta 1:
Yi =
1.8750
Program 2:
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)
Résulta 2:
a =
m =
r =
r =
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 =
p =
s =
1.4375
V. La différence méthode Polynôme de Lagrange et Polynôme de
newton :
En analyse numérique, l'interpolation newtonienne, du nom d'Isaac Newton, est une
méthode d'interpolation polynomiale permettant d'obtenir le polynôme de Lagrange
comme combinaison linéaire de polynômes de la « base newtonienne ».
VI. Conclusion :