Cómo escribir métodos de interpolación lagrangiana y newtoniana en Matlab
main()
clear; cerrar
todo
x=linspace(-5, 5, 11);
y=1./(1 x.^2)
;x0=[0.3
0.5];.
f =Idioma(x, y, x0);
Función
f
=
Idioma(x, y, x0)
Encuentra el polinomio de interpolación lagrangiana para el punto de datos conocido
El vector de coordenadas x del punto de datos conocido:
x
Ya Conozca el vector de coordenadas Y del punto de datos:
y
La coordenada X del punto de interpolación:
x0
Encuentre el trapo en x0 Polinomio de interpolación de Lange o interpolación:
f
x=[0.0
0.4
0.8
1.2
1.6]; entrada
x
datos (se puede reemplazar con sus propios datos)
y=[0
0.428392
0.742101
0.910314
0.970348]; entrada
y
datos (disponible Reemplazar con tus propios datos)
x0=[0.3
0.5]; input
x0
datos (puedes usar sus propios datos Reemplazar)
syms
t
l
if(length(x)
==
longitud(y))
n
=
longitud(x);
más
disp('¡x e y no tienen el mismo tamaño!') )
return;
Error al comprobar
fin p>
p=sym(0);
para
(i=1:n)
l=sym(y(i)) ;
for(k=1:i-1)
l=l*(t-x(k))/(x(i)-x(k)); p>
fin;
for(k=i 1:n)
l=l*(t-x(k))/(x(i)-x(k ));
end;
p=p l;
end
simplificar(p); Simplificar el polinomio
f
=
subs
(p, 't', x0
Calcular el valor de la función punto de interpolación
f
=
vpa(f, 6);
Simplifica la interpolación polinómica a un decimal con 6 dígitos de precisión
fin