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!!!
Partager