bonjour, j'ai besoin de votre aide à tous pour mon projet matlab. je dois écrire une fonction matlab qui calcule les coefficients du polynome d'interpolation L(x) de lagrange sachant que :

L(x) = somme des bi.Pi(x) avec bi=b(xi) la fonction à interpoler (qui est sinus )et Pi(x)= produit des (x-xj)/(xi-xj) = 1 pour tout i et 0 quand j différent de j.

j'ai déja une fonction qui me calcule le polynome, mais après je ne sais pas quoi faire. voici ma fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function P = lagrange(xi,n,f)
 
%xi= vecteur (intervalle)
for i=1:n,
   R=[0 1];%R est un polynome
   for j=1:n, 
      if j==i,
         F(j,:)=[0 1] ; % F est un polynome
      else
         F(j,:)=[1 -xi(j)]/(xi(i)-xi(j));
      end
      R = conv(F(j,:),R)
   end
   L(i,:) = R % L est un polynome
end
 
for i=1:n,
   S(i,:) = L(i,: )*f(xi(i))%termes du polynome de lag: P(x)=som Li(x)fi
end
 
P = sum(S) %polynome final d'interpolation
 
return

merci pour votre aide!!!