Polynôme d'interpolation de Lagrange MATLAB
Résolu
gumuslive
Messages postés
63
Statut
Membre
-
Mourad. H -
Mourad. H -
Bonjour,
je veux faire un programme qui calcule le polynome d'interpolation avec la methode d'agrange dans MATLAB
mon programme d'essaye me donne toujours une erreur ;voici le code
function YY=lagrange(X,Y,XX)
YY=zeros(size(XX));
n=length(Y);
for i=1:n
Z=ones(size(XX));
for j=1:n
if i~=j
Z=Z.*(XX-X(j)/X(i)-X(j));
end
end
YY=YY+Z(i).*Y(i);
end
comment faire marcher cette fonction merci de vouloire m'aider?
je veux faire un programme qui calcule le polynome d'interpolation avec la methode d'agrange dans MATLAB
mon programme d'essaye me donne toujours une erreur ;voici le code
function YY=lagrange(X,Y,XX)
YY=zeros(size(XX));
n=length(Y);
for i=1:n
Z=ones(size(XX));
for j=1:n
if i~=j
Z=Z.*(XX-X(j)/X(i)-X(j));
end
end
YY=YY+Z(i).*Y(i);
end
comment faire marcher cette fonction merci de vouloire m'aider?
Configuration: Windows Vista Firefox 2.0.0.20
4 réponses
-
normalement voici le programme
function []=fonc_lagrange(a,x,y)
dif= fopen('lagrange.res','w');
n=length(x)
p=0;
l=1;
for i=1:n;
for j=1:n;
if j~=i
l=((a-x(j))/(x(i)-x(j))*l);
end
end
fprintf(dif,'%d\n',l);
fprintf(dif,'%d\n',a);
disp(['lag(',num2str(i),')=',num2str(l)])
t=(y(i)*l);
end
p=p+t;
disp(['Pn(',num2str(a),')=',num2str(p)])
fprintf(dif,'%d\n',p);
fclose(dif);