0% ont trouvé ce document utile (0 vote)
47 vues6 pages

Remender Matlab

Transféré par

mohamed.bedka
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
47 vues6 pages

Remender Matlab

Transféré par

mohamed.bedka
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

2.3.

Interpolation de Lagrange

Algorithme 2 : Polynôme d’interpolation par la méthode de Lagrange


Données : 1. Les (n + 1) points {(xi , yi ) , i = 0, · · · , n}.
2. Un point x en lequel à évaluer le polynôme d’interpolation pn .
1 début
2 n := degré du polynôme pn
3 pour i ← 0 à n faire
4 si x = xi /* Vérifier si x = xi , i = 0, 1, · · · , n. */
5 alors
6 p = yi
7 écrire p ome de Lagrange en x. */
/* La valeur du polyn^
8 stop

9 pour i ← 0 à n faire
10 di = 1
11 pour j ← 0 à n faire
12 si i 6= j alors
13 di = di ∗ (xi − xj ) /* Calcul des dénominateurs de `i . */

14 num = 1
15 pour i ← 0 à n faire
n
Q
16 num = num ∗ (x − xi ) /* Calcul de (x − xi ) . */
i=0

17 p=0
18 pour i ← 0 à n faire
19 q = num/(x − xi ) /* Évaluation de pn (x). */
20 p = p + yi ∗ q/di

21 écrire p. ome de Lagrange en x. */


/* La valeur du polyn^
Résultat : La valeur du polynôme de Lagrange en x.

17
2.3. Interpolation de Lagrange

Code Matlab 2 : Polynôme d’interpolation de Lagrange


1 function p = polynome lagrange(xi, fxi, x)
2 % Polynôme d'interpolation de Lagrange
3 % Entrée:
4 % 1)xi: Un vecteur ligne contenant les abscisses xi.
5 % 2)fxi: Un vecteur ligne contenant les valeurs f(xi)
6 % de la fonction à interpoler pour les xi correspondants.
7 % 3)x : Un point en lequel à évaluer le polynôme d'interpolation.
8 % Sortie:
9 % 1) p : La valeur du polynôme de Lagrange en x.
10 % Exemple d'appel:
11 % >> xi=[-1 0 1 2 3]
12 % >> fxi=[-2 -1 0 3 2]
13 % >> p = polynome lagrange(xi, fxi, 2.5)
14 n = length(xi);
15 for i = 1 : n
16 if x==xi(i) %Vérifier si x est égal à l'un des xi.
17 p=fxi(i)
18 return
19 end
20 end
21 d = zeros(1,n);
22 for i=1:n
23 d(i)=1;
24 for j=1:n
25 if i6=j
26 d(i) = d(i)*(xi(i)-xi(j)); %Calcul des dénominateurs de L i.
27 end
28 end
29 end
30 num=1;
31 for i=1:n
32 num = num*(x - xi(i)); %Calcul du produit de (x-x i).
33 end
34 p=0;
35 for i=1:n
36 q=num/(x-xi(i));
37 p = p+fxi(i)*q/d(i); %Évaluation de p n(x).
38 end

18
2.4. Interpolation de Newton

Algorithme 3 : Polynôme d’interpolation sous la forme de Newton


Données : 1. Les (n + 1) points {(xi , f (xi )) , i = 0, · · · , n}.
2. Un point x en lequel à évaluer le polynôme d’interpolation pn .
1 début
2 n := degré du polynôme pn
3 pour i ← 0 à n faire
4 di0 := f (xi ) /* La colonne 0 ième de la matrice de */
/* différences divisées d. */

5 pour i ← 1 à n faire
6 pour j ← 1 à i faire
di,j−1 − di−1,j−1
7 dij = /* La table des différences divisées. */
xi − xi−j+1

8 écrire d00 , d11 , · · · , dnn /* Noter que dii = f [x0 , x1 , · · · , xi ]. */


9 définir p = dnn pour i ← n − 1 à 0 faire
10 p = p ∗ (x − xi ) + dii /* pn (x) en utilisant le polyn^
ome de Newton. */

11 écrire p. ome de Newton en x. */


/* La valeur du polyn^
Résultat : 1. La matrice contenant la table de différences divisées.
2. Les coefficients du polynôme de Newton.
3. La valeur du polynôme de Newton en x.

Code Matlab 3 : Polynôme d’interpolation en utilisant la méthode des différences divisées


1 function [d, a, p] = polynome newton(xi, fxi, x)
2 % Polynôme d'interpolation de Newton
3 % Entrée:
4 % 1)xi: Un vecteur ligne contenant les abscisses xi.
5 % 2)fxi: Un vecteur ligne contenant les valeurs f(xi)
6 % de la fonction à interpoler pour les xi correspondants.
7 % 3)x : Un point en lequel à évaluer le polynôme d'interpolation.
8 % Sortie:
9 % 1) d : Matrice contenant la table de différences divisées.
10 % 2) a : Vecteur contenant les coefficients du polynôme de Newton.
11 % 3) p : La valeur du polynôme de Newton en x.
12 % Exemple d'appel:
13 % >> xi=[-1 0 1 2 3]

25
2.4. Interpolation de Newton

14 % >> fxi=[-2 -1 0 3 2]
15 % >> [d, a, p] = polynome newton(xi, fxi, 2.5)
16 n = length(xi);
17 d = zeros(n,n);
18 a = zeros(1,n);
19 d(:,1) = fxi;
20 a(1) = d(1,1);
21 for i=2:n
22 for j=2:i
23 d(i,j) = (d(i,j-1)-d(i-1,j-1))/(xi(i)-xi(i-j+1));
24 end
25 a(i) = d(i,i);
26 end
27 p=a(n);
28 for i=n-1:-1:1
29 p = p*(x - xi(i))+a(i);
30 end

26
2.7. Interpolation d’Hermite

Algorithme 4 : Polynôme d’interpolation d’Hermite


Données : 1. Les (n + 1) points {(xi , f (xi )) , i = 0, · · · , n} et les valeurs f 0 (xi ).
2. Un point x en lequel à évaluer le polynôme d’interpolation d’Hermite
p2n+1 .
1 début
2 n + 1 := nombre de points d’interpolation
3 pour i ← 0 à n faire
4 si x = xi /* Vérifier si x = xi , i = 0, 1, · · · , n. */
5 alors
6 p = f (xi )
7 écrire p ome d’Hermite en x. */
/* La valeur du polyn^
8 stop

9 p=0
10 pour i ← 0 à n faire
11 `i = 1
12 pour j ← 0 à n faire
13 si i 6= j alors
14 `i = `i ∗ (x − xj )/(xi − xj ) /* Calcul des `i (x). */
15 ci = ci + 1/(xi − xj ) /* Calcul des `0i (xi ). */

16 p = p + ((1 − 2 (x − xi ) ci ) f (xi ) + (x − xi ) f 0 (xi )) ∗ `2i /* Calcul de p(x). */

17 écrire p. ome d’interpolation d’Hermite en x. */


/* La valeur du polyn^
Résultat : La valeur du polynôme d’interpolation d’Hermite en x.

Code Matlab 4 : Polynôme d’interpolation d’Hermite


1 function p = polynome hermite(xi, fxi, fpxi, x)
2 % Polynôme d'interpolation d'Hermite
3 % Entrée:
4 % 1)xi: Un vecteur ligne contenant les abscisses xi.
5 % 2)fxi: Un vecteur ligne contenant les valeurs f(xi)
6 % de la fonction à interpoler pour les xi correspondants.
7 % 3)fpxi: Un vecteur ligne contenant les valeurs f'(xi).
8 % 3)x : Un point en lequel à évaluer le polynôme d'Hermite.
9 % Sortie:

42
2.8. Approximation au sens des moindres carrés discrets

10 % 1) p : La valeur du polynôme d'interpolation d'Hermite en x.


11 % Exemple d'appel:
12 % >> xi=[-1 0 1 2 3]
13 % >> fxi=[-2 -1 0 3 2]
14 % >> fpxi=[1 2 1 4 -2]
15 % >> p = polynome hermite(xi, fxi, fpxi, 2.5)
16 n = length(xi);
17 for i = 1 : n
18 if x==xi(i) %Vérifier si x est égal à l'un des xi.
19 p=fxi(i)
20 return
21 end
22 end
23 p=0;
24 L = zeros(1,n);
25 c = zeros(1,n);
26 for i=1:n
27 L(i)=1;
28 for j=1:n
29 if i6=j
30 L(i) = L(i)*(x-xi(j))/(xi(i)-xi(j)); %Calcul de L i(x).
31 c(i) = c(i)+1/(xi(i)-xi(j)); %Calcul de L' i(x i).
32 end
33 end
34 p = p + ( (1-2*(x-xi(i))*c(i))*fxi(i) + (x-xi(i))*fpxi(i) ...
)*L(i)ˆ2; %Évaluation de p {2n+1}(x).
35 end

43

Vous aimerez peut-être aussi