Je dois interpoler la fonction
1/(1+x^2)
à l'aide du polynôme de lHermite ( http://lumimath.univ-mrs.fr/~jlm/travaux/livretab/node9.html) sur le logiciel scilab (peu connu je suppose)
J'ai essayé avec ces lignes de code :
- Code: Tout sélectionner
clear
x=[-5:5:5];
t=[-5:0.1:5];
y=(1)./((x.^2)+1);
w=((-2).*x)./((1+x.^2).^2);
n=length(x);
Qxj = 1
S=0
for i=1:n
for j=1:n
if i j then
Qxj=Qxj.*((x(i)-x(j)).^2);
S=S+((2)./(x(i)-x(j)));
dQxj=Qxj.*S;
end
end
L(i)= (w(i)-((dQxj)./(Qxj)).*y(i));
end
function z=f(t)
for i=1:n
z=0
Qx=1
for j=1:n
if i j then
Qx=Qx.*((t-x(j)).^2);
end
end
z=z+(((t-x(j).*L(i))+1).*((Qx)./(Qxj)));
end
endfunction
plot(t,(1)./((t.^2)+1).^2,'b',t,f(t),'r')
Le "polynome" trouvé est égal à 0, cela doit venir que toutes les composantes ont des valeurs quasi nulles mais je n'arrive pas à voir l'erreur.
Merci de votre aide
:help:
