El método de Neville fue propuesto por el matemático británico Eric Harold Neville a mediados del siglo XX. Se diseñó como una forma sistemática y eficiente de construir polinomios de interpolación utilizando un enfoque iterativo basado en diferencias divididas, sin necesidad de obtener explícitamente el polinomio completo. Este método permite interpolar valores en puntos intermedios a partir de una tabla de datos conocidos, de manera rápida y con buen control del error.
Se utiliza para estimar el valor de una función f(x) en un punto x a partir de n+1 puntos conocidos
Donde: Se construye una tabla triangular de valores hasta obtener P0,n(x) que es la interpolación final.
📊 Interpolación numérica precisa de funciones en puntos intermedios.
Ajuste de datos experimentales para obtener valores no medidos.
Cálculo de valores aproximados en simulaciones físicas y químicas.
Interpolación en métodos numéricos de integración y solución de ecuaciones diferenciales.
Evaluación de tablas de datos discretos en ingeniería y astronomía.
.
function P = neville(x_vals, y_vals, x)
% x_vals: vector de puntos conocidos
% y_vals: vector de valores conocidos en x_vals
% x: valor donde se desea interpolar
n = length(x_vals);
Q = zeros(n, n);
% Inicializar diagonal principal con valores conocidos
for i = 1:n
Q(i, i) = y_vals(i);
end
% Construir tabla de Neville
for j = 2:n
for i = 1:n-j+1
Q(i, j) = ((x - x_vals(i+j-1)) * Q(i, j-1) - (x - x_vals(i)) * Q(i+1, j-1)) / (x_vals(i) - x_vals(i+j-1));
end
end
P = Q(1, n);
fprintf('Valor interpolado en x=%.4f: %.10f\n', x, P)
end