数值分析·学习 | 拉格朗日插值法matlab实现
目录
前言
一、拉格朗日(Lagrange)插值是什么?
二、matlab实现代码
1.线性插值:
2.抛物线插值:
3.拉格朗日(Lagrange)插值:
总结:
前言
本篇内容为个人所学知识分享
一、拉格朗日(Lagrange)插值是什么?
对于构造通过n+1个不同的节点的n次插值多项式,假定它满足条件
为了构造,我们先定义n次插值基函数。
若n次多项式在n+1个节点上满足条件
则称这n+1个n次多项式为节点上的n次插值基函数。
且
使得插值多项式可以表示为
由的定义,知
形如上式的插值多项式便称为拉格朗日(Lagrange)插值多项式。线性插值和抛物线插值只是拉格朗日插值的特殊情况。
拉格朗日(Lagrange)插值多项式的另外一种表示形式如下:
其中
二、matlab实现代码
1.线性插值:
即n=1的时候,一次的插值函数,即已知条件为两个插值节点及其值
function y0=Linear_interpolation(x,y,x0)
%功能:线性插值
%输入:x为插值节点,y为插值节点对应的值,x0为计算点
%输出:x0处的值
y0=y(1)+(y(2)-y(1))/(x(2)-x(1))*(x0-x(1));%点斜式
y0=y(1)*(x(2)-x0)/(x(2)-x(1))+y(2)*(x0-x(1))/(x(2)-x(1));%两点式
end
2.抛物线插值:
即n=2的时候,二次的插值函数,即已知条件为三个插值节点及其值
function y0=Parabolic_interpolation(x,y,x0)
%功能:抛物线插值
%输入:x为插值节点,y为插值节点对应的值,x0为计算点
%输出:x0处的值
y0=y(1)*(x0-x(2))*(x-x(3))/(x(1)-x(2))/(x(1)-x(3))+y(2)*(x0-x(1))*(x0-x(3)).../(x(2)-x(1))/(x(2)-x(3))+y(3)*(x0-x(1))*(x0-x(2))/(x(3)-x(1))/(x(3)-x(2));
end
3.拉格朗日(Lagrange)插值:
(一般情况)即已知条件为一串插值节点及其值
function y0 = Lagrange_interpolation(x,y,x0)
%功能:拉格朗日插值多项式求解
%输入:x为插值节点,y为插值节点对应的值,x0为计算点集
%输出:x0处值的集合y0
y0 = zeros(1,length(x0));
for i = 1:1:length(x0) %循环作用:遍历x0X = ones(1,length(x)); for k = 1:1:length(x)%循环作用:(x0(i)-x(j))/(x(k)-x(j))的加和;for j= 1:1:length(x)%循环作用:(x0(i)-x(j))/(x(k)-x(j))的乘积if j ~= k X(k) = X(k) * (x0(i)-x(j)) / (x(k)-x(j));endend y0(i) = y0(i) + X(k)*y(k); end
end
end
总结
拉格朗日插值的插值对象为:一串不同的插值节点,且知道插值节点及其值。
代码部分由于线性插值和抛物线插值是拉格朗日的特殊情况,所以小编在编写的时候,为了让看起来没有重复,选择了直接按照运算形式编写代码。
数值分析·学习 | 拉格朗日插值法matlab实现相关推荐
- 拉格朗日插值法matlab上机,拉格朗日插值法使用MATLAB做的例题
<拉格朗日插值法使用MATLAB做的例题>由会员分享,可在线阅读,更多相关<拉格朗日插值法使用MATLAB做的例题(2页珍藏版)>请在人人文库网上搜索. 1.一物体廓线数据如下 ...
- 【数值分析】拉格朗日插值法与牛顿插值法的C++实现
数值分析--拉格朗日插值法与牛顿插值法的C++实现 文章目录 数值分析--拉格朗日插值法与牛顿插值法的C++实现 一.插值法 1.1 插值法定义 1.2 插值多项式唯一性定理 二.拉格朗日(Lagra ...
- 【数值分析】拉格朗日插值法
在数值分析中,拉格朗日插值法是以法国十八世纪数学家约瑟夫·拉格朗日命名的一种多项式插值方法.许多实际问题中都用函数来表示某种内在联系或规律,而不少函数都只能通过实验和观测来了解.如对实践中的某个物理量 ...
- 数值分析1_拉格朗日插值法牛顿插值法
实验名称 拉格朗日插值法以及牛顿插值法的实现 实验要求 实现拉格朗日插值 验证随着插值结点的增多插值曲线的变化情况 实现牛顿插值,显示差商结果 比较拉格朗日 ...
- 拉格朗日插值法MATLAB实现(附代码、实例、详解)
第一部分:问题分析 (1)实验题目:拉格朗日插值算法 具体实验要求:要求学生运用拉格朗日插值算法通过给定的平面上的n个数据点,计算拉格朗日多项式Pn(x)的值,并将其作为实际函数f(x)的估计值.用m ...
- 2021-01-07 matlab数值分析 插值法 拉格朗日插值法 牛顿插值法
matlab数值分析 插值法 1 拉格朗日插值法 function yh=lagrange(x,y,xh) n=length(x); m=length(xh); yh=zeros(1,m); for ...
- 【数学建模笔记】【第三讲】拉格朗日插值法,牛顿插值法,分段三次埃尔米特插值法及其MATLAB实践
温馨提示:本文共有3748字,阅读并理解全文大概需要15-20分钟 插值算法 一.插值法的定义 1.插值函数一共有三种: 2.多项式插值法原理 3.分段插值法原理: 4.具体如何求插值函数呢? (1) ...
- rstudio拉格朗日插值法_拉格朗日插值法学习笔记
拉格朗日插值法是一个根据点对求回原函数的算法,原理挺好懂的. 原理和优化方法上面的大佬都讲得很好. 其实主要就是这个式子: 然后暴力算这个式子的话是每求一项f(k)的时间复杂度都是n^2. 这个时间很 ...
- 拉格朗日插值法学习笔记
文章目录 STEP1 问题引入 STEP2 拉格朗日插值公式 存在性 唯一性 代码模板 STEP3 算法优化 重心拉格朗日插值 xxx连续取值的情况 STEP4 经典例题 The Sum of the ...
最新文章
- ini配置文件的读取
- 30、自定义gridview
- Yandex.Algorithm 2011 Round 2 D. Powerful array 莫队
- bin文件如何编辑_如何为高通固件创建rawprogram0和patch0文件
- edge浏览器怎么恢复默认设置 edge恢复默认设置方法
- mysql 当前timestamp_MySQL表结构使用timestamp以自动获取当前时间
- 画一个空心圆_圆形在PPT中的6大妙用,每一个都能瞬间提升PPT的逼格!
- 虚拟环境virtualenv
- PHP文件中定义加载资源文件
- [渝粤教育] 南京师范大学 会计学基础 参考 资料
- for能否作为matlab的变量名,matlab中for语句用法
- python编程加减法_python编程题关于二进制加减法运算解析
- tumblr android app,6 Best Tumblr Apps for Android and iOS (2018)
- json-lib将xml转json报错java.lang.NoClassDefFoundError: nu/xom/ParentNode
- 26个字母的html代码多少,标准的26个字母的读法 二十六个汉语拼音字母怎么读才算正确...
- C语言学习之路-由浅入深(快速掌握c基础)
- AI科普(一):什么是人工智能?
- 关于python数字的一种下划线奇怪写法
- 一阶电路实验报告心得_rc一阶电路的响应测试心得体会
- Kubernetes实战吴龙辉
热门文章
- Android中 .stub类的使用
- Linux常用命令——mailq命令
- 从微软官网下载VS离线安装包的方法VS2017,VS2019
- 【顺序表】顺序表的就地逆置
- AR模型参数估计、Y-W方程、L-D算法原理部分
- 用keil语言定义c51,51单片机Keil C51的使用(C语言)
- 关于java字符流Reader.read()方法的个人理解
- VSCode 如何设置启动时打开上次关闭时在编辑的文件
- Staged Event Driven Architecture (SEDA) 介绍
- 学习总结和方法经验一