Buscar

Interpolacao Polinomial

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

clear
clc
function [delta] = Delta(x,y)
 n = length(x)
 delta(:,1) = y
 for j = 2:n
 for i = 1:n-j+1
 delta(i,j) = (delta(i,j-1) - delta(i+1,j-1))/(x(i) - x(i+j-1))
 end 
 end 
endfunction
function [p] = Newton(x,y,ponto)
//p -> resultado da interpolação
p = y(1)
n = length(x)
tabela = Delta(x,y)
for i = 2:n
 m = 1
 for j = 1:i-1
 m = m*(ponto-x(j)) 
 end 
 p = p + tabela(1,i)*m
end
endfunction
function [p] = Gregory_Newton(x,y,ponto)
 //p -> resultado da interpolação
 //delta -> diferenças entre y+1 - y
 n = length(x)
 delta(:,1) = y
 for j = 1:n-1
 for i = n:-1:j+1
 delta(i) = delta(i)-delta(i-1)
 end
 end
 //Processo de Horner
 u = (ponto - x(1))/(x(2)-x(1))
 p = delta(n)
 for i = n-1:-1:1
 p = p*(u-i+1)/i + delta(i)
 end
endfunction
x = [110 120 130]
y = [2.041 2.079 2.114] 
ponto = input('Digite o ponto:')
r = Gregory_Newton(x,y,ponto)
r1 = Newton(x,y,ponto)
disp(r1)
disp(r)

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais