Você está na página 1de 1

%--------------------------------------------------------------% Esta funo constri o polinmio interpolador de Newton, dado um % conjunto de pontos % Executar: X=[0,pi/4,pi/2]; Y=sin(X); %[C] = Newton(X,Y)

%[C,D] = Newton(X,Y) % Parmetros de entrada: % X - vector das abcissas % Y - vector das ordenadas % Parmetros de sada: % C - vector com os coeficientes do polinmio interpolador de Newton % D - a tabela das diferenas divididas %--------------------------------------------------------------n = length(X); % determina o nmero de pontos D = zeros(n,n); % inicializa a tabela com as diferenas %divididas D(:,1) = Y'; % atribui coluna 1 o vector das ordenadas(inversa de Y) for j=2:n, % para cada coluna da tabela das diferenas divididas for k=j:n, % calcula os elementos debaixo da diagonal % a frmula para calcular as diferenas D(k,j) = (D(k,j-1)-D(k-1,j-1))/(X(k)-X(k-j+1)); end end disp(D); % algoritmo de Horner com centros para determinar o polinmio de Newton % y=D(n,n) % para i=n-1 at 0 fazer: % y= D(i,i)+ y x (x-x(i)) % fim do ciclo i % Pn(x)=y C = D(n,n); for i=(n-1):-1:1, C = conv(C,poly(X(i))); m = length(C); C(m) = C(m) + D(i,i); end; disp(C); syms x; disp('Os coeficientes do polinmio interpolador de Newton: ');disp(C);