备注:1.由于是敲实验报告自用,所以不能保证代码的通用性,具体问题还要具体分析
2.这里只有函数文件,脚本文件还请读者自行建立
function s=l2(m,x,y,n)
#x为自变量矩阵,y为因变量矩阵,如x=[0.4,0.5,0.6,0.7,0.8];
#y=ln(x),y=[-0.916291,-0.693147,-0.510826,-0.356675,-0.223144]
#n为x矩阵的长度(这里是5),m为预测值的自变量
s=0;
w=zeros(1,n);
for k=2:n-1
a=1;
b=1;
for i=1:k-1
a=a*(m-x(i));
b=b*(x(k)-x(i));
end
for i=k+1:n
a=a*(m-x(i));
b=b*(x(k)-x(i));
end
w(k)=a/b;
end
w(1)=1;
for i=2:n
w(1)=w(1)*(m-x(i))/(x(1)-x(i));
end
w(n)=1;
for i=1:n-1
w(n)=w(n)*(m-x(i))/(x(n)-x(i));
end
for k=1:n
s=s+w(k)*y(k);
end