Use Lagrange interpolating polynomial method and cubic spline interpolation to evaluate the function f(x) at 100 equally spaced points in the interval [0,5].
Mostrar comentarios más antiguos
X1 = [0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5];
Y1 = [0 0.247466462 0.881373587 1.550157957 2.094712547 2.532068064 2.893443986 3.200334942 3.466711038 3.70191108 3.912422766];
xx = linspace(0,5,100);
yy = lagrange_self(X1,Y1,xx);
s = spline(X1,Y1,xx);
plot(X1,Y1,'o',xx,yy,'.',xx,s,'*')
legend('ORIGINAL','LAGRANGE-CUBIC','CUBIC-SPLINE')
Error_lagrange = sum(((yy-7*xx).^2).^0.5)
Error_spline = sum(((s-7*xx).^2).^0.5)
function v = lagrange_self(x,y,u)
n = 4;
v = zeros(size(u));
for k = 1:n
w = ones(size(u));
for j = [1:k-1 k+1:n]
w = (u-x(j))./(x(k)-x(j)).*w;
end
v = v+w*y(k)
end
end
1 comentario
Kutlu Yigitturk
el 25 de Dic. de 2020
Respuestas (0)
Categorías
Más información sobre Interpolation en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
