拉格朗日插值算法Matlab实现
2017-12-04 16:39
274 查看
拉格朗日插值算法是什么网上有更多详细的解释,这里附上自己所写的Matlab源代码:
代码1(计算拉格朗日多项式系数):
代码2(求对应点的拉格朗日多项式的值):
代码1(计算拉格朗日多项式系数):
function [ result ] = lagr( X,Y ) %lagr 返回所求拉格朗日多项式的系数 % X为每个点的横坐标,Y为对应的纵坐标 % 输入n个点,求n-1次拉格朗日多项式 n=length(X);%输入点的个数 syms x;%参数x sum=0;%最终多项式 for i=1:n%n次求和 p=Y(i);%子项初始值为y的值 for j=1:n if j~=i p=p*((x-X(j))/(X(i)-X(j)));%连乘 end end sum=p+sum;%求和 end %sum=polyfit(x,sum,n); result=coeffs(sum,x);%提取多项式的系数 result=vpa(result);%将系数化为小数 end
代码2(求对应点的拉格朗日多项式的值):
function [ sum ] = lagrEver( X,Y,x ) %lagrEver 返回输入点的朗格朗日计算的值 % X为每个点的横坐标,Y为对应的纵坐标 % 输入n个点,求n-1次拉格朗日多项式 n=length(X);%输入点的个数 m=length(x); sum=zeros(1,m);%最终多项式 for k=1:m%依次对x中的点进行拉格朗日求值 for i=1:n%n次求和 p=Y(i);%子项初始值为y的值 for j=1:n if j~=i p=p*(x(k)-X(j))/(X(i)-X(j));%连乘 end end sum(k)=p+sum(k);%求和 end end end
相关文章推荐
- SAP ABAP:获取汇率的完整实现之一
- PHP页面跳转实现/定时跳转
- 手动编译安装LAMP架构,并且实现nagios图形化监控(三)
- 一次一密加密解密算法实现
- 用javascript实现的纵版飞行射击游戏—《天机》javascript
- Linux下,在Eclipse中实现用c++连接Mysql
- 点击标签,通过jquery.jcarousel动态axaj加载内容,实现跑马灯效果
- js将iframe中控件的值传到主页面控件中的实现方法
- 轻松实现大数据量下的折叠报表
- 编程实现strncpy
- (2013-5-5日记)实现接口后 接口型变量调用方法浅析
- 简单远程控制(仅传递鼠标和键盘消息)的实现
- Jsonlib实现Json字符串和Java对象的互相转换
- 根据数据库ID实现网页跳转
- 基于JDK http包实现的简单代理服务器
- VC++编程实现镜像劫持
- 第三十四天-rsync+inotify实现实时同步案例
- php实现当前用户在线人数
- Android 使用AsyncTask后台线程实现数据异步刷新
- android的手机任务管理器,关键功能实现方法总结