Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Interpolaciondelagrange
Interpolaciondelagrange
CURSO
Laboratorio de Métodos Numéricos
TEMA
Interpolación de Lagrange
DOCENTE
2022
MÉTODOS NUMÉRICOS- INTERPOLACIÓN DE
LAGRANGE
Para la siguiente nube de puntos:
xdato = [0 0.6 1 1.6 2 2.5 ]
ydato = [1 0.9359 0.5403 - 0.83559 - 0.6536 0.9994]
a) Hallar analíticamente (al detalle), el polinomio interpolante
de Lagrange, puede dejarlo sin reducir (indicado).
b) Use polyval para interpolar los valores: x=1.3 y 2.2.
c) Use el algoritmo de interpolación de Lagrange dado en las
páginas 15, 16 y 17 del PPT dado en clase, para verificar la
Interpolación de los valores x=1.4 y 2.3, hecho en el ítem (b).
d) Las coordenadas (xdato, ydato) corresponde a la función
cos(x2). Grafique el polinomio interpolante de Lagrange, la
función exacta cos(x2) en el intervalo [0, 2.5], las coordenadas
datos y los puntos interpolados en x=1.4 y 2.3, en una misma
ventana. Use títulos, textos, leyendas, ejes, color y marcas.
Código
clc;
x=linspace(-pi,pi,50);
xdato=[0 0.6 1 1.6 2 2.5];
ydato=[1 0.9359 0.5403 -0.83559 -0.6536 0.9994];
function y=fbaselag(x,i,z)
z=6;
n=length(z)-1;
y=1;
for j=0:n
if i~=j
y=y.*(x-z*(j+1)). /(z*(i+1)-z*(j+1));
endif
endfor
endfunction
function y=plagrange(w)
xdato=[0 0.6 1 1.6 2 2.5];
ydato=[1 0.9359 0.5403 -0.83559 -0.6536 0.9994];
n=length(xdato)-1; y=0;
for i=0:n
y= y + fbaselag(w,i,xdato).*ydato(i+1);
endfor
endfunction
disp("plagrange(1.3)");
plagrange(1.3)
disp("plagrange(2.2)");
plagrange(2.2)
y=plagrange(x);
plot(x,y,"--");
hold on
yexacta=cos(x.^(2));
plot(x,yexacta,"--g")
plot(xdato,ydato,"om")
prueba=[1.3 1.4 2.2 2.3];
plot(prueba,plagrange(prueba),"ob")
grid on
axis([0 2.5 -1.5 1.5])
legend("Pol. Interpolante: P(x)",...
"Sol. Exacta:","Cos(x^(2))","Puntos interpolados")
xlabel("X")
ylabel("Y")
text(1.12,0.5,"Cos(x^(2))")
text(0.5,0,"P(x)")
title({'\color{magenta}Interpolacion via:';'\color{cyan}El
Polinomio de Lagrange'})