数模--拉格朗日多项式插值、matlab实现

本文介绍了拉格朗日多项式插值原理,并提供了MATLAB代码实现,包括单点插值和多点插值的示例。
摘要由CSDN通过智能技术生成

拉格朗日多项式公式:

        

Matlab编程实现拉格朗日插值法计算插值

matlab中插入一个值的代码

function yh=lagrange(x,y,xh)  %定义拉格朗日插入函数
n=length(x);                  %统计x和xh的长度
m=length(xh);            
yh=zeros(1,m);                %构建一行m列的zero矩阵
c1=ones(n-1,1);               %构建n-1行一列的单位矩阵
c2=ones(1,m);
for i=1:n
    xp=x([1:i-1 i+1:n]);
    yh=yh+y(i)*prod((c1*xh-xp'*c2)./(x(i)-xp'*c2));  
end


%  '* 表示转置乘,如r'*c 则表示将r转置后在与c相乘
%  求乘函数prod();prod(A)、prod(A,dim);
%  默认情况下dim的值为1,表示直接分别得出A中的每个列结果
%  dim值为2表示分别得出A中的每行的结果
>> x=[2003 2004 2005 2006 2007];
>> y=[13124000 13299000 13314000 13551100 14101800];
>> xh=2008;
%先对函数调用所需要的参数进行赋值

>>lagrange(x,y,xh)

        上述程序一次只能实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值