Seguinte,
Que eu estou sem muito tempo para escrever já é sabido.
Não vou entrar em detalhes agora sobre cálculo de diferenças divididas. Enfim, serve para interpolar polinômios.
Só quero registrar aqui, em “txt” ( não pdf, ppt…) um algoritmo do scilab para calcular isso.
Sei que ninguém está muito interessado nisso… mas sou a favor do conhecimento matemático na internet também. É difícil achar um monte de coisa. Por incrível que pareça. E eu quero colaborar para o crescimento desse lado obscuro da internê.
=D
Vetor de pontos x e y=f(x)
x = [ x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 ]
y = [ y0 y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 ]
recebe os vetores e devolve o polinômio bonitinho.
function difdiv(x,y),
npoint=length(x);
disp(’Diferenças divididas ‘);
dely=y;
disp(dely);disp(’ ‘);
for k=1:(npoint-1),
printf(’Diferenças divididas de ordem %d\n’,k);
for i=npoint:-1:(k+1),dely(i)=(dely(i) - dely(i-1))/(x(i)-x(i-k)),end;
for i=k+1:npoint,printf(’%3.5f’,dely(i)),end;disp(’ ‘);
end;
p=poly(0,’p');
r=dely(npoint);
for i=npoint-1:-1:1,
r=r*(p-x(i))+ dely(i);
end;
disp(’A equação do polinômio interpolador é’);
disp(r);
endfunction
//chamada:
difdiv(x,y)
é isso,
( e a diversidade não acaba!!)

