拉格朗日插值的Matlab实现
Matlab中没有现成的拉格朗日插值函数,必须编写一个M文件实现拉格朗日插值。设n个节点数据以数组x0, y0输入(注意Matlab的数组下标从1开始),m 个插值点以数
组x输入,输出数组y 为m 个插值。编写一个名为lagrange.m的M文件:
function y=lagrange(x0,y0,x);
n=length(x0);m=length(x);
for i=1:m
z=x(i);
s=0.0;
for k=1:n
p=1.0;
for j=1:n
if j~=k
p=p*(z-x0(j))/(x0(k)-x0(j));
end
end
s=p*y0(k)+s;
end
y(i)=s;
end 您好,我想请问下,能不能把s=0.0和p=1.0放在最前面,谢谢!
页:
[1]