拉格朗日插值法的Matlab实现

构造拉格朗日插值函数

function y=Lagrange_Interpolation(X,Y,x)
%%X是用于插值的x数组,Y是对应的函数值,x是输入,y是插值算出的函数值

len=length(X);
sum1=0;
for j=1:len
    w(j)=1; %将lk初始置为1
    w1(j)=1;
    for jj=1:len
        if jj ~= j %除去xk那项
    w(j)=w(j)*(x-X(jj));
    w1(j)=w1(j)*(X(j)-X(jj));
        end
    end
     lk(j)=w(j)/w1(j);
     sum1=sum1+lk(j)*Y(j);
end
    y=sum1;

一个实际应用例子

clear
clc
format short

X=0:0.1:1;
Y=sin(X);
x=pi/6;
y=Lagrange_Interpolation(X,Y,x);

 

  • 13
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值