Red de conocimiento informático - Material del sitio web - Cómo escribir métodos de interpolación lagrangiana y newtoniana en Matlab

Cómo escribir métodos de interpolación lagrangiana y newtoniana en Matlab

función

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=sym(0);

para

(i=1:n)

l=sym(y(i)) ;

for(k=1:i-1)

l=l*(t-x(k))/(x(i)-x(k));

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