matlab上的简单拉格朗日插值代码

备注: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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值