MATLAB两点式方程,§
§4.2Lagrange插值方法
4.2.1拉格朗日插值多项式的基本概念
1线性插值
由存在性唯一性定理的证明过程可知,每一个代数插值问题实质上对应一个线性代数方程组的求解问题。对于插值方法的研究实际上是围绕插值条件所引出的线性方程组的求解方法的研究来展开的。常用的方法是插值基函数方法,具有代表性的基函数是拉格朗日基函数,由此而构造的插值多项式称为拉格朗日插值多项式。首先来讨论拉格朗日插值方法的线性插值。
已知数据(
,
),(
,
)
求满足插值条件:,
的线性插值函数:
。
从几何上看,的图形是通过平面上两个定点的直线。由直线的点斜式方程(也可以用两点式方程),所求线性插值函数可表示为:
。(4.2.1)
【例4.2.1】由常用的正弦函数特殊值出发,利用线性插值求的值。
解 常用的正弦函数特殊值有:,
,
,
⑴取,
,则有
,
,利用公式(4.2.1)计算可以得到:
⑵ 若取,
,则有
,
,利用公式(4.2.1)计算可以得到:
这个数较好的接近于正弦函数在该点的值0.5878(取小数点后四位)。
为了将两点插值公式推广到多点插值问题,公式(4.2.1)可以写成对称形式:
(4.2.2)
上式被称为拉格朗日线性插值函数。在这一表达式中,是两个函数值
和
的线性组合,组合系数是两个线性函数:
,
,并且
。
通常,我们称与
为拉格朗日线性插值基函数。插值基函数在插值节点处满足条件:
即:,
,
,
。
公式(4.2.2)揭示了拉格朗日插值的特点,即插值多项式由插值基函数组成,插值基函数是一类简单而有特点的多项式。于是一个插值问题可分解为几个求基函数的特殊插值问题。
【例4.2.2】已知,
,计算
。
解取,
,则有
,
,利用公式(4.2.2)可以得到:
所以。(查表可得
2.6458)
2抛物插值
若已知数据为:(,
),(
),求满足插值条件
,
,
的二次插值函数
。由线性插值的启示及拉格朗日插值公式的特点,可令:
其中,(
),为二次多项式,并满足:
(4.2.3)
称,(
),为二次拉格朗日插值基函数。
由于每个插值基函数的零点都是插值结点,利用待定系数法及零点原理可以写出三个插值基函数。以
为例,由公式(4.2.3)可知,插值结点
与
为
的两个零点,故应有
,而在
处,
的值为1。所以
,则
,同理可得:
,
这三个插值基函数是与插值结点有关的二次函数,同样满足:
≡1。若取
=0,
,
=2,可绘制出三个基函数在区间[0,2]上的图形。所以,拉格朗日二次插值函数为:
(4.2.4)
【例4.2.3】以知,
,
,计算
。
解取,
,
,则有
,
,
,利用公式(4.2.4)可以得到:
所以。(查表可得
2.6458)
与的准确值相比较,可以发现
比
的误差小。这就需要考虑两个问题:① 通常准确值是不知道的,如何估计误差?② 是不是插值多项式的次数越高,结果越精确?后面要专门讨论这两个问题。
【例4.2.4】已知,
,
,
,试选用合适的插值结点,利用二次插值多项式计算
的近似值,使其有尽可能高的精度。
解 ⑴ 选x0=-1,x1=0,x2=0.5为插值节点,拉格朗日插值基函数为:
l0(x)==
=
x(x-0.5)
l1(x)==
=-2(x+1)(x-0.5)
l2(x)==
=
x(x+1)
二次插值多项式为:L2(x)=l0(x)y0+l1(x)y1+l2(x)y2
=y0+
y1+
y2
=l0(x)+2l1(x)+3l2(x),
于是:f(-0.5)≈L2(-0.5)=l0(-0.5)+2l1(-0.5)+3l2(-0.5)=4/3。
⑵ 选x0=-2,x1=-1,x2=0为插值节点,拉格朗日插值基函数为:
l0(x)==
=
l1(x)==
=-
l2(x)==
=
二次插值多项式为:
L2(x)=l0(x)y0+l1(x)y1+l2(x)y2
=2l0(x)+l1(x)+2l2(x)
于是:f(-0.5)≈L2(-0.5)
=2l0(-0.5)+l1(-0.5)+
2l2(-0.5)=1.25。
两个二次插值函数图形见右图。
若用程序ldk421做三次插值,结果如下:
x0=[-2 -1 0
0.5];y0=[2 1 2 3];
x1=-0.5;ldk421(x0,y0,x1)
ans = 1.3000
3n次插值
由线性代数的基本理论,所有不高于n次的代数多项式全体组成一个n+1维线性空间,其基有各种不同的取法。如果取满足条件:
()的一组n次代数多项式作为上述线性空间的基(读者试证明,满足上述条件的一组代数多项式必定线性无关),则容易看出:
(4.2.5)
必定是一个次数不高于n次的代数多项式,而且它在结点,
…,
上的值依次为
,
,…
。也就是说,由n+1个n次代数多项式
,
,…
线性生成的多项式(4.2.5),就是满足插值条件的n次代数多项式。
n次代数多项式,称为n次拉格朗日插值基函数,由此构造出的多项式(4.2.5)称为n次拉格朗日插值多项式,记为
。与计算二次拉格朗日插值基函数的方法类似,利用待定系数法及零点原理可以求出n次拉格朗日插值基函数的表达式:
,
则n次拉格朗日插值多项式可写成以下形式:
==
(4.2.6)
【例4.2.5】已知数据列表如下,利用拉格朗日插值公式计算,
,
的值。
1
2
3
4
5
6
7
8
9
10
11
12
12
234
34
-1
34
2
5
23
34
9
45
23
解:利用MATLAB程序ldk421,计算出结果:
x=[1:12];fx=[12 243
34 -1 34 2 5 23 34 9 45 23];
x3=[6.5 7.2
11.5];ldk421(x,fx,x3)
f = -2.55909.3943236.6987
4拉格朗日插值多项式的性质
定理4.2.1设,
…,
为n+1个互异的结点,
为拉格朗日n次基本插值多项式,则有以下结论:⑴
⑵
⑶ 设为任意一个首1的n+1次多项式,则:
4.2.2余项及误差估计
定理4.2.2若函数在区间
上有直到n+1阶的导数,
是
在n+1个结点
处的n次拉格朗日插值多项式,则对任何
有余项公式:
。(4.2.7)
其中,
且依赖于
。若
,则有误差估计:
≤
。(4.2.8)
由存在性唯一性定理可知,拉格朗日插值多项式与一般多项式
相同,因此拉格朗日插值多项式所确定的余项公式与定理4.1.2给出的一般多项式的余项公式完全一致。同时注意以下问题:
⑴ 若本身就是次数不超过
次的多项式,则有:
。
⑵ 在误差估计公式≤
中,当插值点
在某结点的邻域内时,误差可能会很小。而在一般情况下,不能保证误差会很小,这将取决于
以及
的值,如果
和
的值较大时,误差可能会较大,说明当
时,误差不一定趋向于零,即插值多项式随次数的增加不一定收敛于被插值函数。
⑶ 余项公式(4.2.)与泰勒公式余项是不同的,前者涉及到
个结点的乘积
,而后者仅涉及一个点的
次幂。
对线性插值有以下的结论:
且当时,
。(4.2.9)
但对大多数函数而言,插值余项会随插值结点的增加而减小,因而可以用增加插值结点的方法来提高插值公式的精度。
定理4.2.3已知插值结点,则当
,
时(等距插值),有:⑴
线性插值的误差估计为:
⑵ 二次插值多项式的误差估计为:
⑶ 三次插值多项式的误差估计为:
*4.2.3
MATLAB程序
% Lagrange插值公式
function dk=ldk421(x,fx,inx)
n=length(x);
m=length(inx);
for i=1:m;
z=inx(i);
s=0.0;
for
k=1:n;
p=1.0;
for
j=1:n;
if
j~=k
p=p*(z-x(j))/(x(k)-x(j));
end
end
s=p*fx(k)+s;
end
f(i)=s
end
*4.2.4理论证明
定理4.2.1设,
…,
为n+1个互异的结点,
为拉格朗日n次基本插值多项式,则有以下结论:⑴
⑵
⑶ 设为任意一个首1的n+1次多项式,则:
定理4.2.3已知插值结点,则当
,
时(等距插值),有:⑴
线性插值的误差估计为:
⑵ 二次插值多项式的误差估计为:
⑶ 三次插值多项式的误差估计为:
MATLAB两点式方程,§相关推荐
- 如何用matlab求方程的整数解
如何用matlab求方程的所有整数解?其解决方案,可以通过下列途径解决: 方法一.利用三循环语句和判断语句,求解其所有整数解 方法二.整数线性规划分支定界法,求解其所有整数解 下面按第一种方法求解,其 ...
- Matlab 隐函数方程求解最小二乘法拟合一阶线性拟合二阶拟合传感器实验
九层妖塔 起于垒土 Matlab 最小二乘法拟合一阶线性拟合&传感器实验 一.代码 二.数据处理结果 三.Notes 一.代码 %电容传感器位移实验数据 最小二乘法一阶线性拟合 x = ...
- matlab中solve解方程,怎么用Matlab解方程?
Matlab是一款功能强大的数学软件,我们常常会使用它来解决一些数学难题,但是有时候我们刚装上这个软件的时候,就有一些问题不懂得怎么处理,比如说怎么用Matlab解方程,为了帮助大家解决这个问题,小编 ...
- 用matlab2018解方程,【2018年整理】MATLAB解方程的三个实例
<[2018年整理]MATLAB解方程的三个实例>由会员分享,可在线阅读,更多相关<[2018年整理]MATLAB解方程的三个实例(4页珍藏版)>请在金锄头文库上搜索. 1.M ...
- matlab 解函数方程,MATLAB程序设计教程(7)—MATLAB解方程与函数极值
MATLAB程序设计教程(7)--MATLAB解方程与函数极值 第7章MATLAB解方程与函数极值 7.1 线性方程组求解 7.2 非线性方程数值求解 7.3 常微分方程初值问题的数值解法 7. ...
- MATLAB怎么解方程解,怎么用Matlab解方程?
工具/材料 matlab 2016a 打开matlab,首先定义变量x: syms x; matlab中solve函数的格式是solve(f(x), x),求解的是f(x) = 0的解. 第一个例子, ...
- matlab求方程实根,matlab怎么求方程的根
MATLAB解方程_IT/计算机_专业资料.一般的代数方程函数solve用于求解一般代数方程的根,假定S为符 号表达式,命令solve (S)求解表达式等于0的根,也 可以再输入一个...... MA ...
- MATLAB求解方程和多元方程组
MATLAB求解方程和多元方程组 0. 说明 1. 核心函数solve 2. 单个方程求解 3. 带未知参数的方程 4. 多元方程组求解 5. 数值近似解 6. 无解的情况 7. 多多留言点赞! 0. ...
- 使用MATLAB求解方程求根——学习笔记
使用MATLAB求解方程求根--学习笔记 碎碎念:终于参加完了某比赛,连续大约摸了两天的鱼,就在昨天由于自己的操作失误,亲手将电脑给烧了,这就是上天在暗示我是时候加油为接下来的两场比赛和一个考试努力啦 ...
最新文章
- Python学习之数组
- shell脚本:一键安装LAMP、LNMP脚本
- EMNLP 2021 | 大道至简:微软提出可生成高质量文本表示的预训练语言模型
- 前端学习(599):模拟移动设备
- Sysmon勘验、分析现场(主机监控)
- 高德地图获取坐标距离_【转】根据高德地图得出的坐标算出两点之间的距离
- ios网络学习------1get post异步请求
- 中国土壤全磷含量空间分布数据
- 异步更新php数据库,ajax异步刷新实现更新数据库_jquery
- WPS简历模板的图标怎么修改_新媒体运营-简历模板范文,【工作经历+项目经验+自我评价】怎么写?...
- Python3调用新浪微博API抓取数据
- [黑苹果]黑苹果折腾记 -- 升级10.14.6 macOS Mojave
- 施努卡:什么是视觉定位系统 视觉系统如何定位
- 儒家学派有哪些代表人物?
- 在线IDE的原理及设计思路 以Java为例
- 隐枚举法求解0-1整数规划
- openwrt新3路由lede动态dns如何使用,阿里云ddns+ipv6
- 外包公司派遣到网易,上班地点网易大厦,转正后工资8k-10k,13薪,包三餐,值得去吗?
- 从浏览器输入URL到页面显示的过程
- 远程GPU服务器运行Python
热门文章
- “POW'ER 2019全球开发者大会”明天开幕,共议技术跨界融合,7大亮点抢先看
- 11月25日手机客户“MeeGo战略发展方向及体系架构和技术”主题活动
- es搜索大量多个索引
- 鑫藍技術GHOST XP SP3繁體版V2.0
- python3.4.4下载安装教程_python 环境搭建 及python-3.4.4的下载和安装过程
- Navicat导入excel报cannot open
- 青少年python系列 25.turtle库绘制一个田字方格的方框
- Python输出田字格
- 03论文阅读与分享————2020年中国知网六自由度机器人轨迹规划相关论文统计
- 【Vue】Vue项目报错Analyzer will use module sizes from stats file.