拉格朗日
function yy = lagronge()
x=[25,40,50,60];
y=[95,75,63,54];
xx=70;
a = length(x);
f = 0;
for i = 1:a
t = 1;
for j = 1:a
if j~=i
t=t*(xx-x(j))/(x(i)-x(j));
end
end
f = f+t*y(i);
end
fprintf('%.1f',f);
end
牛顿插值法(先计算出差商表再进行计算)
n = 10;
f = zeros(n,n);
xi = [1994,1995,1996,1997,1998,1999,2000,2001,2002,2003];
x = 2010;
yi = [67.052,68.008,69.803,72.024,73.400,72.063,74.669,74.487,74.065,76.777];
for k = 1:n
f(k) = yi(k);
end
for i=2:n
for k=i:n
f(k,i)=(f(k,i-1)-f(k-1,i-1))/(xi(k)-xi(k+1-i));

本文介绍了在Matlab中如何实现三种插值方法:拉格朗日插值、牛顿插值以及样条插值。通过给出的函数代码,展示了每种插值法的计算过程,并提供了样例数据进行演示。
&spm=1001.2101.3001.5002&articleId=117620388&d=1&t=3&u=8544a66fe38148d08042ff5e998c6891)
2万+

被折叠的 条评论
为什么被折叠?



