拉格朗日插值 matlab

本文介绍了一种使用MATLAB实现拉格朗日插值法的方法,通过定义函数lagrange1来计算给定点集的插值多项式,并绘制函数图像。示例中给出了X和Y坐标,展示了如何利用这些点绘制原始点和插值后的曲线。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function L = lagrange1(x,X,Y)
%UNTITLED2 此处显示有关此函数的摘要
%   此处显示详细说明
n=numel(X);%变量个数
if numel(X) ~=numel(Y)
    disp('ERROR');
end 
m=numel(x);%最终图上要画的点的个数
temp=ones(n,m);
for k=1:1:m
    %求每一个x对应的函数值,共m个自变量取值x
    for i=1:1:n
        for j=1:1:n
           if i~=j
               temp(i,k)=temp(i,k).*(x(1,k)-X(1,j))./(X(1,i)-X(1,j));
           end
        end
    end 
end

L=zeros(1,m);
for k=1:1:m
    for j=1:1:n
      L(1,k)=L(1,k)+temp(j,k).*Y(1,j);
    end
end
end

在脚本文件里输入已有点的横纵坐标字符串,然后直接可以画出函数图像了

X=[-1,1,3,4];
Y=[-2,0,-6,3];
plot(X,Y)
x=-1:0.1:5;
plot(x,lagrange1(x,X,Y)) 
grid minor

x数组是画图像取得横轴,L数组是其对应的纵轴坐标值

 

因为想输出函数表达式,后来又做了如下更改:(使用符号变量)

 

 

(对不起,太难了,不更改了,就这样叭....留个坑我考完再来研究)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值