Anda di halaman 1dari 2

Maths 6 TP Interpolations - Travail la maison (HomeWork N1) L2/S4 : GC & TP

1. Objectif :
On veut interpoler la fonction f(x) = x/(x+sin(x) laide des polynmes dinterpolation de Newton et corriger le
phnomne de Runge aux bords par la transformation de Tchebychev (polynmes de Tchebychev).
2. Interpolation de newton :
On utilise pour cela une fonction newton(x,y), tels que x et y sont deux vecteurs de donnes correspondantes aux
abscisses x et aux valeurs y de la fonction y = f(x) ou extraites de donnes exprimentales prises dun essai au
laboratoire.
Daprs la mthode dinterpolation de Newton, on calcule tout dabord les diffrences divises pour former un
tableau dlments triangulaire de dimension nxn :
Exemple pour n= 5 points :

j=0
x
x0
x1
x2
x3
X4

j=1
y=f[xi]
y0
y1
y2
y3
y4

j=2
f[xi,xi+1]
*
f[x0,x1]
f[x1,x2]
f[x2,x3]
f[x3,x4]

j=3
f[xi,xi+1,xi+2]
*
*
f[x0,x1,x2]
f[x1,x2,x3]
f[x7,x8,x9]

j=4
f[xi,xi+1,xi+2,xi+3]
*
*
*
f[x0,x1,x2,x3]
f[x1,x2,x3,x4]

j=5
f[x0,x1,x2,x3,x4]
*
*
*
*
f[x0,x1,x2,x3,x4]

j=0
x
x0
x1

j=1
y=f[xi]
y0
y1

j=2, i=1:4
f[xi,xi+1]
*

j=3, i=1:3
f[xi,xi+1,xi+2]
*
*

j=4, i=1:2
f[xi,xi+1,xi+2,xi+3]
*
*

j=5, i=1
f[x0,x1,x2,x3,x4]
*
*

x2

y2

x3

12 =

y3

X4

23 =

y4

34 =

y1 y0
x1 x0
y2 y1

x2 x1
y3 y2

123 =

x3 x2
y4

y3

234 =

x4 x3

y12 y01
x2 x0
y23 y12

y34

y23

1234 =

x4 x2

y123 y012

x3 x1

x3 x0
y234 y123

x4 x1

y1234

y0123

x4 x0

Polynme dinterpolation de Newton :


( )=

0 + 01. ( 0) + 012. ( 0). ( 1) + 0123. ( 0). (


+ 01234. ( 0). ( 1). ( 2). ( 3)

1). (

2)

Qui peut-tre crit sous la forme rcursive suivante :


( )=

.(

3) +

). (

2) +

.(

1) +

.(

0) +

Quon peut lexprimer par le code scilab :


p=c(n)
for k=n-1:-1:1
p=p.*(x-x(k))+c(k)
end
Pour remplir le tableau, on utilise deux indices : j=2,n en colonne et i=n-(j-1) sur les lignes et pour chaque colonne. n
peut tre dfini par n=length(x). Les lments du tableau sont stocks dans la matrice c = y avant et aprs le calcul
des diffrences divises.
for k=2:n
c(k:n)=(c(k:n)-c(k-1))./(x(k:n)-x(k-1))
end
Pour former un polynme avec scilab, on dfinit dabord "x", remplace par "t" dans la forme de newton, comme
tant une variable non affecte (exclue de laffectation) avant de rcuprer ses coefficients en utilisant le
code scilab suivant :
t=poly(0,'t')
p=c(n)
for k=n-1:-1:1
p=p.*(t-x(k))+c(k)
end
Cette procdure force scilab exprimer le rsultat comme suivant :
= 0.1509005 + 1.2735907
1.9017097 + 1.6237301
0.8115516 + 0.2492765
0.0454676 + 0.0044545
0.0001793
Le trac du graphique dinterpolation peut tre fait en utilisant la fonction scilab dvaluation horner(p,x) qui
value le rsultat du polynme pour nimporte quelle valeur de t.

(2/2)
Le plus simple trac du graphique est effectu par le code scilab suivant :
Exemples :
t=1:0.1:10, y=x./(x+sin(x)), plot(x, y) // pour tracer la fonction y = x./(x+sin(x)),
plot(x,horner(p,x)) // pour le trac du polynme p(x). A changer x par t si t est
la variable utilise.
On peut utiliser optionnellement des marques de diffrents symboles et couleurs
offerts par Scilab.
Exemple :
t=1:0.1:10, y=x./(x+sin(x)), plot(x, y, "*r") // * en rouge. Voir aussi "*b" pour le bleu, "*g" pour le vert.
On peut aussi utiliser la syntaxe suivante pour dfinir la couleur :
Exemple :
t=1:0.1:10, y=x./(x+sin(x)), plot(x, y, "color", "red") // Couleur "rouge" pour le trac de la courbe.
3. Transformation de Tchebychev (Phnomne de Runge) :
La fonction dinterpolation de Newton prsente dans les bornes de lintervalle [a, b] des dispersions (oscillations)
plus importantes que le degr du polynme est lev. Elle sappelle le phnomne de Runge.
Polynme de Tchebychev :
Le phnomne de Runge est d en fait lquidistance des abscisses. Pour cette raison, on se sert aux polynmes
de Tchebychev pour corriger ces fluctuations aux bords. Ces polynmes permettent de rendre les donnes des
abscisses serres aux bords et largies lintrieur. Pour cela une transformation des abscisses est possible laide
de la formule suivante :
1
1
2 1
= ( + ) + ( ).
. ,
= 1,
2
2
2
Avec des donnes en abscisses non-quidistantes, lapplication de linterpolation de Newton de nouveau diminuera
nettement le phnomne de Runge aux bords.
Le code de transformation Tchebychev de scilab est assez simple (n : nombre de points des donnes dinterpolation)
dans lintervalle [a,b] :
function [ap]=chebyshev(a, b)
n=(b-a)+1
x=(a+b)/2+(b-a)/2*cos((2*(n-(1:0.5:n))+1)*%pi/(2*n+2));
y=x./(x+sin(x))
ap =newton(x,y);
clf()
plot(t,horner(ap,t))
plot(x,y,"*g")
endfunction
4. Dtails du travail demand :
1. Introduire les donnes exprimentales ou extraites de la fonction relle f(x) = x/(x+sin(x)) prsentes sous forme
de deux vecteurs x et y n dimensions ;
2. Confection dune fonction dinterpolation de Newton qui permet de :
- Calculer les diffrences divises ;
- Former et dexprimer (afficher) le polynme dinterpolation de Newton ;
3. Evaluer le polynme dinterpolation de Newton par lutilisation de la fonction prdfinie de scilab horner (p,x) et
faire son trac sur un graphique. Une comparaison avec le trac de la courbe de la fonction relle est ncessaire ;
4. Confection dune fonction de transformation de Tchebychev qui permet de :
- Transformer les abscisses x pour les rendre non-quidistantes et calculer de nouveau les valeurs y ;
- Appeler la fonction de Newton de nouveau pour refaire linterpolation de Newton avec les nouveau
vecteurs x et y (dtermins de la transformation de Tchebychev) et afficher le polynme dinterpolation de
Newton ;
- Tracer la courbe dinterpolation sur le mme graphique prcdent ainsi que les points de Tchebychev par
des marques.
5. Confectionner un programme qui permet :
- dintroduire les diffrents paramtres de raffinement des rsultats thoriques ou exprimentaux : a, b, n
(nombre de points pour lever le degr du polynme), d (le pas des abscisses pour amliorer le trac dune
courbe),
- dutiliser les deux fonctions, de Newton et de Tchebychev pour le calcul, laffichage des diffrents rsultats
et le trac de diffrents graphiques demands.
6. Conclure.

Document en bauche Prire minformer de toute erreur ou omission.


OMAR El-Hadj www.hajomar.com/jpa
Universit Hassiba Benbouali de Chlef Facult de Gnie Civil & Architecture Dpartement dArchitecture

Anda mungkin juga menyukai