Signaler

Polynôme d'interpolation de Lagrange MATLAB [Résolu]

Posez votre question gumuslive 48Messages postés jeudi 14 août 2008Date d'inscription 21 mars 2014 Dernière intervention - Dernière réponse le 22 mars 2016 à 21:18
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?
Afficher la suite 
Utile
+31
moins plus
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);
hamdy- 23 janv. 2010 à 19:01
jeveux l"interpolation de lagage de la fonctoin 1/1+x*x
Répondre
anis- 19 mai 2015 à 22:50
donnez moi ca complexite de calcule svp
Répondre
dadia- 27 déc. 2011 à 14:03
pas vraiment trés claire
Répondre
machin- 22 oct. 2014 à 12:14
je cherche la méthode d'interpolation des polynômes de Lagrange et la méthode de splines cubiques. merci
Répondre
Ajouter un commentaire
Utile
+13
moins plus
Salut

Comme ce sujet est remonté, j'en profite pour signaler que sous Matlab, l'utilisation de polyfit suffit pour calculer le polynôme d'interpolation de Lagrange associé aux valeurs x et y.
P=polyfit(x,y,numel(x)-1)
Ciao
Ajouter un commentaire
Utile
+0
moins plus
merci beaucoup je vais la essayer
machin- 5 nov. 2014 à 12:42
svp comment faire un programme avec le polynome de Lagrange et la méthode des splines cubiques sur Scilab, mercii
Répondre
Ajouter un commentaire
Utile
+0
moins plus
%%% le programme fonctionne correctement

function p=lagrange(xd,x,y)
a=xd;
p=0;
n=length(x);


for i=1:n;
l=1;
for j=1:n;
if j~=i
l=((a-x(j))/(x(i)-x(j))*l);
end
end
t=(y(i)*l);
p=p+t;
end
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !