发酵人社区,发酵技术论坛,发酵产品,发酵工艺,发酵服务

 找回密码
 立即注册

微信扫一扫,快捷登录!

搜索
热搜: 活动 交友 discuz
查看: 5284|回复: 1

拉格朗日插值的Matlab实现

[复制链接]

2676

主题

5878

回帖

1万

积分

超级版主

将我的知识与大家分享

Rank: 8Rank: 8

积分
12363

社区居民忠实会员社区劳模终身成就奖优秀斑竹奖宣传大使奖

QQ
发表于 2006-9-14 12:32:34 | 显示全部楼层 |阅读模式
Matlab中没有现成的拉格朗日插值函数,必须编写一个M文件实现拉格朗日插值。
设n个节点数据以数组x0, y0输入(注意Matlab的数组下标从1开始),m 个插值点以数
组x输入,输出数组y 为m 个插值。编写一个名为lagrange.m的M文件:
function y=lagrange(x0,y0,x);
n=length(x0);m=length(x);
for i=1:m
     z=x(i);
     s=0.0;
     for k=1:n
           p=1.0;
           for j=1:n
                if j~=k
                   p=p*(z-x0(j))/(x0(k)-x0(j));
                end
           end
           s=p*y0(k)+s;
      end
      y(i)=s;
end
欢迎关注发酵人自己的微信号: comefajiaoren
回复

使用道具 举报

0

主题

1

回帖

5

积分

新会员

积分
5

终身成就奖

发表于 2017-5-17 13:17:09 | 显示全部楼层
您好,我想请问下,能不能把s=0.0和p=1.0放在最前面,谢谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|发酵人社区发酵技术论坛,发酵产品,发酵工艺,发酵服务 ( 沪ICP备16030267号

GMT+8, 2024-5-3 18:42 , Processed in 0.168552 second(s), 9 queries , MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表