函数插值之Lagrange插值(原理及代码实现)

     对于一个函数,有时我们我们并不知道这个函数本身,知道的只是一些点,但是我们还想近似的描绘出函数,那么这时我们就要用到插值了,当然仅通过一些点就想得到函数的具体走势还是非常困难的,通过插值得到的函数一定是通过这些已知点的,所以插值可以说是一种近似,来近似的反应未知函数的走势。

插值的类型有很多种,Lagrange插值便是其中之一

考虑特殊的n次多项式:

​​​​​​​

              记   

               则  

                    

              它满足

                             

              则Lagrange插值多项式为(其中已知)

              

function f=lan(a,b)
syms x
n=length(a);
f=0;
for i=1:n
    g=1;
    L=1;
    for j=1:n
        if j~=i
            g=g*(x-a(j));
            L=L*(a(i)-a(j));
        end
    end
    f=f+g/L*b(i);
end
f=expand(f);
disp(f);


>> a=[1,2,4];%自变量
>> b=[8,1,5];%因变量

>> lan(a,b)
3*x^2 - 16*x + 21

ans =
 
3*x^2 - 16*x + 21

     

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值