插值多项式系数求解
6.2 牛顿插值多项式
x1 f [ x1 ] f [ x0 , x1 ]
x2 f [ x2 ] f [ x1 , x2 ] f [ x0 , x1 , x2 ]
x3 f [ x 3 ]
… …… x f [ xn ]
n
f [ x2 , x3 ]
f [ x1 , x2 , x3 ]
N n ( x ) = a0 + a1 ( x − x0 ) + a2 ( x − x0 )( x − x1 ) + L + an ( x − x0 )( x − x1 )L ( x − xn−1 )
ak ( k = 0,1,L , n) 为待定系数 形如上式的插值 待定系数.
多项式称为牛顿 插值多项式. 多项式称为牛顿(Newton)插值多项式 牛顿 插值多项式 由插值条件 N n ( x j ) = f ( x j ) ( j = 0,1,L , n),
证毕. 证毕.
的离散数据如下表: 例 1 已知 f ( x ) = shx 的离散数据如下表:
xi
0.00
0.20 0.20134
0.30 0.30452
0.50 0.52110
f ( xi ) 0.00000
用 Newton插值多项式 计算 f (0.23) 的近似值并 插值多项式, 插值多项式 估计误差. 估计误差
解 均差计算的结果如下表
xi
0.00 0.20 0.30 0.50
f [ xi ]
0.00000 0.20134 0.30452 0.52110
一阶均差
二阶均差
三阶均差
1.0067 1.0318 1.0829
0.08367 0.17033
讲解多项式插值(包含例题)
第三章多项式插值方法教学目的及要求:要求掌握基本的定理及各种插值方法。
插值方法是数学分析中很古老的一个分支.它有悠久的历史.等距结点内插公式是由我国隋朝数学家刘焯(公元544—610年)首先提出的;而不等距结点内插公式是由唐朝数学家张遂(公元683—727年) 提出的.这比西欧学者相应结果早一千年.插值方法在数值分析的许多分支(例如, 数值积分, 数值微分, 微分方程数值解,曲线曲面拟合,函数值近似计算,等等)均有应用.下面仅以近似计算函数值为例来说明设已知某个函数关系()x f y =的列表函数值nn y y y yx x x x110而()n i x x i ,1,0=≠问应该如何估值().x f y =对于函数关系()x f y =,我们所知道仅仅上述的表列值,它们常常是间接求得的.例如是由实验(观测)得来的,或者是从级数或微分方程求得的.我们可以使用插值方法估计y. 插值方法的目的是寻求简单的连续函数()x ϕ,使它在n+1个点n x x x ,,,10 处取给定值()()),,1,0(n i x f y x i i i ===ϕ,而在别处希望它也能近似地代表函数()x f .因为()x ϕ已是有解析表达式的简单函数,所以它在x x =处的值可以按表达式精确地计算出来.这样我们就可以将()x ϕ看成().x f y =的近似值了给定点n x x x ,,,10 为插值结点.称函数()x ϕ为函数()x f 的关于n x x x ,,,10 的插值函数.称()x f y =为被插函数.严格的说,插值方法一词只用于x 落在给定点n x x x ,,,10 之间的情形,所以也称它为内插法.如果x 落在给定点n x x x ,,,10 之外,并且仍以插值函数()x ϕ在x 处近似地代替().x f ,则一般称这种近似计算函数的方法为外插法.本章我只研究多项式插值,亦即()x ϕ是x 的多项式的情形.这不仅仅因为多项式是最简单的函数,而且因为在许多场合,函数()x f 容易用多项式近似地表示出来.此外,用多项式作插值函数可满意地解决一系列有应用价值的重要问题.特别是数值积分与数值微分的问题.本章讲不涉及三角插值法.其实,只要理解了代数多项式插值方法的实质读者就不难自行导出关于三角多项式插值方法的一系列相应与代数多项式插值方法的理论结果§1. Lagrange 插值公式设()x f y =是实变量x 得单值函数,且已知()x f 在给定的n+1个互异点n x x x ,,,10 处的值n y y y ,,,10 ,即().,,0,n i x f y i i ==插值的基本问题是,寻求多项式()x p ,使得 ()()1.1.,0,n i y x p i i ==设()x p 是一个m 次多项式()0,2210≠++++=m m m a x a x a x a a x p则插值问题是,如何确定()x p 中的系数m a a a ,,,10 ,使得(1.1)式得以满足.所以该问题等价于求解下述的线性方程组:()2.1,,,22101121211000202010⎪⎪⎩⎪⎪⎨⎧=++++=++++=++++n m n m n n mm mm y x a x a x a a y x a x a x a a y x a x a x a a上述的线性方程组的系数矩阵为⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=m n m m nnx x x x x x x x x A102211200111 它是一个(n+1)×(m+1)矩阵.当m>n 时,A 的列数大于行数.不难证明矩阵A 的秩数为n+1.因为A 的前n+1列所组成的行列式为(称为Vandermonde 行列式)()mnmm n n n n x x x x x x x x x d e f x x x W10221120010111,.,-我们有()()()3.1,.,10∏>--=ij i j n n x x x x x W为证(1.3),考虑n 次多项式()nnnn n n n n n xx xx x x x x x x x x x x x W2121112110200101111,.,----= 显然110,,,-n x x x 均为它的零点,且它的n x 系数恰为()10.,-n x x W 即 ()()()()101010.,,.,-----=n n n x x x x x x W x x x W 从而有下述递推关系式()()()()101010.,,.,-----=n n n n n n x x W x x x x x x x W运用它即可证明(1.3)式根据(1.3),并注意到诸n x x x ,,,10 互异,从而线性方程组(1.2)的系数矩阵的秩数为n+1 .它表明(1.2)的解是不唯一的,即插值问题(1.1)的解不唯一。
多次插值计算公式
多次插值计算公式在数学和计算机科学中,插值是一种常见的数值分析技术,用于估计在给定数据点之间的未知数值。
多次插值是一种特殊的插值技术,它使用多项式函数来逼近数据点之间的值。
在本文中,我们将讨论多次插值的计算公式和其应用。
多次插值的基本思想是使用多项式函数来逼近已知数据点之间的值。
假设我们有一组数据点{(x1, y1), (x2, y2), ..., (xn, yn)},其中xi和yi分别是已知的数据点的横纵坐标。
我们希望找到一个多项式函数P(x)来逼近这些数据点,使得P(xi) = yi,其中i = 1, 2, ..., n。
多项式函数的一般形式为:P(x) = a0 + a1x + a2x^2 + ... + anx^n。
其中a0, a1, ..., an是多项式的系数。
为了找到这些系数,我们可以使用插值公式来计算。
拉格朗日插值公式是一种常用的多次插值方法,它使用拉格朗日插值多项式来逼近数据点之间的值。
拉格朗日插值多项式的一般形式为:L(x) = ΣyiLi(x)。
其中Li(x)是拉格朗日基函数,它的定义为:Li(x) = Π(j≠i)(x xj) / (xi xj)。
在这里,Σ表示对所有i的求和。
通过计算拉格朗日插值多项式,我们可以得到多次插值的结果。
除了拉格朗日插值公式外,牛顿插值公式也是一种常用的多次插值方法。
牛顿插值公式使用牛顿插值多项式来逼近数据点之间的值。
牛顿插值多项式的一般形式为:N(x) = f[x0] + Σf[x0, x1, ..., xi](x x0)(x x1)...(x xi-1)。
其中f[x0, x1, ..., xi]是差商,它的定义为:f[x0, x1, ..., xi] = Σf(xi) / Π(xj xi)。
通过计算牛顿插值多项式,我们也可以得到多次插值的结果。
在实际应用中,多次插值常常用于数据的逼近和插补。
例如,在地理信息系统中,我们常常需要对地理数据进行插值处理,以便在未知点上估计地理属性的值。
多项式插值的原理及其应用
多项式插值的原理及其应用在数学领域中,插值是指基于一系列已知的数据点,通过构造一个合适的函数,来推断出在数据点之间的其他未知数值。
在实际应用中,许多问题都可以通过插值来得到解决,比如图像处理、信号处理、金融模型以及物理模拟等。
其中,最常用的插值方法就是多项式插值。
一、多项式插值的原理多项式插值的原理基于拉格朗日插值法,其基本的思想是利用已知的 n 个数据点,构造一个 n 次多项式,使这个多项式经过这 n 个数据点,从而可以通过这个多项式来推算出其他的数据点。
假设我们已知的 n 个数据点为(x1, y1), (x2, y2), …, (xn, yn),那么一个 n 次多项式的一般表达式可以表示为:f(x) = a0 + a1x + a2x^2 + … + anxn其中,a0, a1, …, an 是多项式的系数。
根据拉格朗日插值公式,我们可以用这 n 个数据点来构造出 n次多项式:f(x) = Σ yi * L(x, i)其中,L(x, i) 是一个基函数,用来表达 f(x) 在 x = xi 处的取值,它可以表示为:L(x, i) = Π (x - xj) / (xi - xj) (j ≠ i)那么,对于多项式插值,我们需要做两个步骤:1. 找到合适的基函数,构造出 n 次多项式。
2. 利用已知的 n 个数据点,求解出多项式的系数。
二、多项式插值的应用1. 图像处理在数字图像处理中,多项式插值可以被用来进行图像重构,比如将缺失或损坏的像素点进行恢复。
另外,多项式插值还可以被用来进行图像缩放和图像旋转。
2. 信号处理在信号处理中,多项式插值可以被用来进行信号重构,比如信号平滑和信号插值。
除此之外,多项式插值还可以被用来进行谱估计以及信号滤波。
3. 金融模型在金融模型中,多项式插值可以被用来进行资产定价,比如期权和债券的定价。
另外,多项式插值还可以被用来进行股票市场预测和金融风险评估。
4. 物理模拟在物理模拟中,多项式插值可以被用来进行轨迹估计,比如弹道计算和航空航天工程。
插值多项式
由插值条件
Pn ( xi ) yi
i 0, 1, , n
得到如下线性代数方程组:
1
a0
1
a0
x0a1 x1a1
x0nan x1nan
y0 y1
1 a0 xna1 xnnan yn
7
存在唯一性定理证明(续)
此方程组的系数行列式为
且 ( x0 ) ( x1 ) 0 存在 (x0, x1)使得 。
( ) 0
推广:若 ( x0 ) ( x1 ) ( x2 ) 0 0 ( x0 , x1 ), 1 ( x1, x2 )
使得 (0 ) (1 ) 0
函数值:
x x0 x1
xn1 xn
y y0 y1
yn1 yn
• 插值问题:根据这些已知数据来构造函数
y f (x) 的一种简单的近似表达式,以便于计算 点 x xi ,i 0,1,L , n 的函数值 f (x) ,或计算函数 的一阶、二阶导数值。
3
多项式插值定义
在众多函数中,多项式最简单、最易计算,已知函数 y f (x)在n 1
0
0L
0
l1 ( x)
0
1
0
L
0
L
L
L
L
LL
ln (x)
0
0
0
L
1
24
N次插值多项式4
求n次多项式 lk ( x) , k = 0, 1,…, n
1, lk ( xi ) 0,
则
ki ki
n
三次样条插值函数求解例题
三次样条插值函数求解例题三次样条插值函数是一种常用的插值方法,用于在给定的一组数据点上构建一个连续的曲线。
下面我将通过一个例题来解释三次样条插值函数的求解过程。
假设我们有一组数据点{(x0, y0), (x1, y1), ..., (xn, yn)},其中x0 < x1 < ... < xn。
我们的目标是构建一个连续的曲线,使得曲线经过这些数据点。
首先,我们需要确定每个数据点之间的插值多项式。
在三次样条插值中,每个插值多项式的形式为:Si(x) = ai + bi(x xi) + ci(x xi)^2 + di(x xi)^3。
其中,ai、bi、ci、di是待求的系数,Si(x)是第i段插值多项式。
接下来,我们需要确定每个插值多项式的系数。
为了满足插值条件,我们需要确定每个数据点处的函数值和导数值。
具体而言,我们需要满足以下条件:1. 函数值条件,Si(xi) = yi,即插值多项式通过每个数据点。
2. 导数值条件,Si'(xi) = Si-1'(xi),即相邻插值多项式在数据点处的导数值相等。
通过这些条件,我们可以得到一系列的线性方程组,其中未知数为插值多项式的系数。
解这个线性方程组即可得到每个插值多项式的系数。
最后,我们可以将每个插值多项式的系数代入到对应的插值多项式中,得到最终的三次样条插值函数。
需要注意的是,在边界处,我们需要额外的条件来确定插值多项式的系数。
常见的边界条件有自然边界条件和固定边界条件。
自然边界条件要求插值函数的二阶导数在边界处为零,而固定边界条件要求插值函数在边界处通过给定的导数值。
综上所述,三次样条插值函数的求解过程包括确定插值多项式的系数和边界条件的确定。
通过解线性方程组,我们可以得到每个插值多项式的系数,从而构建出连续的三次样条插值函数。
希望以上回答能够满足你的要求。
如果你有任何其他问题,请随时提出。
03多项式插值方法(工程数学)
析表达式的简单函数,所以它在 x
= x 处的值可以按表达式精
确地计算出来。这样我们就可以将 g ( x ) 看成 y = f ( x ) 的近似 值了。
6
本章只研究多项式插值,亦即g(x)是x的多项式的 情形。这不仅仅因为多项式是最简单的函数,而且因 为在许多场合,函数容易用多项式近似地表示出来。 此外,用多项式作插值函数可满意地解决一系列有应 用价值的重要问题。特别是数值积分与数值微分的问 题。
22
同理可得
( x − x0 ) ( x − x2 ) l1 ( x ) = ( x1 − x0 ) ( x1 − x2 )
于是有二次插值多项式:
( x − x0 ) ( x − x1 ) l2 ( x ) = ( x2 − x0 ) ( x2 − x1 )
P2 ( x ) = y 0 l0 ( x ) + y1l1 ( x ) + y 2 l 2 ( x ) ,
x − x0 x − x1 P 1 ( x) = y0 + y1 x0 − x1 x1 − x0
17
记:
x − x1 l 0 ( x) = , x 0 − x1
x − x0 , l1 ( x ) = x1 − x 0
称为一次插值基函数。
该基函数的特点如下: 基函数的思想使得插值多项式形
式简洁和易于推广
19
1.3 二次插值(抛物线插值)问题
已 知 函 数 y = f ( x ) 在 三 点 x 0 , x1 , x 2 处 的 函 数 值
y0 = f ( x0 ) , y1 = f ( x1 ) , y2 = f ( x2 ) 。求一个次数不超过二次的
多项式 p2 ( x ) ,使其满足:
Hermite插值多项式
( xi1
4
xi )2
因此
|
Ri ( x) |
(
x i
+1
8
xi )2
max |
xi x xi1
f ( x) |
于是在[a,b]上,| R( x) ||
f
( x)
L1( x) |
h2 8
M2
优点:计算简单; 适用于光滑性要求不高的插值问题。
缺点:分段插值函数只能保证连续性, 失去了原函数的光滑性。
(1) L1(x) 在每个子区间[xi , xi+1](i=0,1,2,,n-1)上是
线性插值多项式;
(2) L1(xi ) yi , i=0,1,2,…,n (3) L1(x) 在区间[a , b]上连续; 则称 L1(x)是f(x)在[a ,b]上的分段线性插值函数。
2.分段线性插值函数的表达式
2
两点三次Hermit插值(续1)
5
直接设 H3 (x) ax3 bx2 cx d
待定系数法求出,但不易推广到高次。
3
基函数法:
令H3(x) y00 (x) y11(x) y00 (x) y11(x)
为使H3(x)是一个次数3的多项式且满足插值条件
H3 (xi ) yi , H3(xi ) yi i 0,1
并在每个 xi , xi子1区间上构造插值多项式,然后把 它们装配在一起,作为整个区间 上a,的b插值函数。
二、分段线性插值
1.问题的提法
定义 设f(x)是定义在[a,b]上的函数,在节点 a= x0< x1<x2<…<xn-1<xn=b,
的函数值为 y0 , y1 ,y2 ,…yn-1 ,yn ,若函数 L1(x)满足条件
点三次Hermite插值多项式
(x)
1 2
x2
3 2
x
1 4
(x
3)x(x
1)(x
2)
1 4
x2
(x
3)2
第五节 分段低次多项式插值
一.高次插值的龙格 (Runge)现象
从插值余项角度分析
Rn1( x)
f ( x) Ln1( x)
f (
(n1) ( )
n 1)!
n1
(
x
)
为了提高插值精度,一般来说应该增加插值节点的 个数,这从插值余项的表达式也可以看出,但不能简 单地这样认为,原因有三个:
10 n
i
(i 0,
x)
...,
n)
1
1 x
2
2.5
的 Ln(x)。
Ln(x) f (x)
2
n=10
1.5
1
n=2
0.5
0
增加插值多项式的次数 并不一定会有更好的插值结果, 这是因为高次多项式的振荡是很厉害的.
n 越大,
n=5
端点附近抖动
越大,称为龙格
(Runge) 现象
-0.5 -5 -4 -3 -2 -1 0 1 2 3 4 5
•插值余项与节点的分布有关; •余项公式成立的前提条件是f ( x有) 足够阶连续导数 (即函数足够光滑),但随着节点个数的增加,这 个条件一般很难成立;
•随着节点个数的增加,f (n1)(可 )能会增大。
随着节点个数增加到某个值,误差反而会增加。
例:在[5, 5]上考察 f (
取
xi
5
多项式插值计算方法
多项式插值计算方法引言:在数学和计算机科学中,插值是一种常见的数值计算方法,用于通过已知的数据点来估计未知的数据点。
多项式插值是插值方法中的一种,通过构造一个多项式函数来逼近数据点,从而实现插值的目的。
本文将介绍多项式插值的基本概念、计算方法和应用领域。
一、多项式插值的基本概念多项式插值是指通过已知的n个数据点(x1, y1), (x2, y2), ..., (xn, yn),构造一个n次多项式函数P(x)来逼近这些数据点。
通过将P(x)代入已知的数据点,可以满足P(xi) = yi,即多项式函数经过已知数据点。
二、多项式插值的计算方法1. 拉格朗日插值法拉格朗日插值法是一种常用的多项式插值计算方法。
通过构造一个满足已知数据点的n次多项式函数P(x),可以使用拉格朗日插值公式来计算多项式的系数。
具体步骤如下:- 构造插值多项式P(x) = L1(x)y1 + L2(x)y2 + ... + Ln(x)yn,其中Li(x)为拉格朗日基函数。
- 拉格朗日基函数的计算公式为Li(x) = Π(j=1 to n, j ≠ i)(x-xj)/(xi-xj),即除了第i个数据点外,其他数据点的插值基函数的乘积。
- 将已知数据点代入插值多项式,可以得到相应的系数,进而得到插值多项式P(x)。
2. 牛顿插值法牛顿插值法是另一种常用的多项式插值计算方法。
通过构造一个满足已知数据点的n次多项式函数P(x),可以使用牛顿插值公式来计算多项式的系数。
具体步骤如下:- 构造插值多项式P(x) = c0 + c1(x-x0) + c2(x-x0)(x-x1) + ... + cn(x-x0)(x-x1)...(x-xn-1),其中ci为差商。
- 差商的计算公式为ci = f[x0, x1, ..., xi]/(xi-x0)(xi-x1)...(xi-xi-1),即已知数据点的函数值的差商。
- 使用差商递推公式可以计算出所有的差商,进而得到插值多项式P(x)。
求的二次插值多项式
第二章 插值法1.当1,1,2x =-时,()0,3,4f x =-,求()f x 的二次插值多项式。
解:0120121200102021101201220211,1,2,()0,()3,()4;()()1()(1)(2)()()2()()1()(1)(2)()()6()()1()(1)(1)()()3x x x f x f x f x x x x x l x x x x x x x x x x x l x x x x x x x x x x x l x x x x x x x ==-===-=--==-+-----==------==-+--则二次拉格朗日插值多项式为220()()k k k L x y l x ==∑0223()4()14(1)(2)(1)(1)23537623l x l x x x x x x x =-+=---+-+=+- 2.给出()ln f x x =的数值表用线性插值及二次插值计算的近似值。
解:由表格知,01234012340.4,0.5,0.6,0.7,0.8;()0.916291,()0.693147()0.510826,()0.356675()0.223144x x x x x f x f x f x f x f x ======-=-=-=-=-若采用线性插值法计算ln 0.54即(0.54)f , 则0.50.540.6<<2112122111122()10(0.6)()10(0.5)()()()()()x x l x x x x x x l x x x x L x f x l x f x l x -==----==---=+6.93147(0.6) 5.10826(x x =--- 1(0.54)0.62021860.620219L ∴=-≈-若采用二次插值法计算ln 0.54时,1200102021101201220212001122()()()50(0.5)(0.6)()()()()()100(0.4)(0.6)()()()()()50(0.4)(0.5)()()()()()()()()()x x x x l x x x x x x x x x x x l x x x x x x x x x x x l x x x x x x x L x f x l x f x l x f x l x --==------==-------==----=++500.916291(0.5)(0.6)69.3147(0.4)(0.6)0.51082650(0.4)(0.5x x x x x x =-⨯--+---⨯--2(0.54)0.615319840.615320L ∴=-≈- 3.给全cos ,090x x ≤≤ 的函数表,步长1(1/60),h '== 若函数表具有5位有效数字,研究用线性插值求cos x 近似值时的总误差界。
Hermite插值多项式
1 例:在[5, 5]上考察 f ( x ) 1 x2 xi 5 10 i (i 0, ... , n) n
2.5 2
的 Ln(x)。取
1.5
n=10
1
0.5
n=2
n=5
0
n 越大, 端点附近抖动 越大
3 4 5
- 0.5
-5
-4
-3
-2
-1
0
1
2
事实上已被证明:对于 n 的高阶插值 公式 Ln ( x )只有当 x 3.63时才有 Ln ( x ) f ( x ).
( xi ) yi i 0,1 H3 ( xi ) yi , H3
则可选择基函数
0 ( x),1 ( x), 0 ( x), 1 ( x)
使它们都是次数不超过3的多项式 ,且满足如下条件: 0 ( x0 ) 1 1 ( x0 ) 0 0 ( x0 ) 0 1 ( x0 ) 0 ( x ) 0 ( x ) 1 (x ) 0 (x ) 0 1 1 0 1 0 1 1 1 ( x ) 0 ( x ) 1 ( x ) 0 1 0 0 0 1( x0 ) 0 0 0 1( x1 ) 0 ( x1 ) 0 ( x ) 0 1( x1 ) 1 0 0 1
所谓分段插值,就是将被插值函数逐段多项式 化。一般来说,分段插值方法的处理过程分两步, 先将所考察的区间作一分划 :a x0 x1 xn b
并在每个 xi , xi1 子区间上构造插值多项式,然后 把它们装配在一起,作为整个区间 a, b 上的插值 函数。
多项式插值
三次样条插值 (spline,csape)
interp1,interp2, griddata
Lagrange插值
• 方法介绍 对给定的n个插值点 x1 , x2 ,, xn 及对应的函 数值 y1 , y2 ,, yn ,利用n-1次Lagrange插值多项 式,则对插值区间内任意x的函数值y可通过 下式求的:
• 算例: >> years=1950:10:1990; >> service=10:10:30; >> wage = [150.697 199.592 187.625 179.323 195.072 250.287 203.212 179.092 322.767 226.505 153.706 426.730 249.633 120.281 598.243]; >> w = interp2(service,years,wage,15,1975) w= 190.6288
>> x=[0.3:0.005:0.35];y=hermite(x0,y0,y1,x); >> plot(x,y) >> y2=sin(x); hold on >> plot(x,y2,'--r')
Runge现象和分段插值
• 问题的提出:根据区间[a,b]上给出的节点做 插值多项式p(x)的近似值,一般总认为p(x)的 次数越高则逼近f(x)的精度就越好,但事实并 非如此。 1 f ( x) • 反例: 1 x2 在区间[-5,5]上的各阶导数存在,但在此 区间上取n个节点所构成的Lagrange插值多项 式在全区间内并非都收敛。 • 取n=10,用Lagrange插值法进行插值计算。
计算方法插值法(一)
浮点数的IEEE标准:舍入误差
当x在计算机中要求超过p个尾数位时,引起舍入误差
e* = x* - x (绝对误差)
计算机中的估计值
x*
e* < 2- p * 2E e Machine precision
相对误差 x* - x < 2- p = e
x
更多浮点数的内容见:
https:///wiki/Floating_point#IEEE_754:_floating_point_in_modern_computers
助教:赵渊明
上机实习作业
1.提交时间:作业布置下来两周内(如无特殊情况,晚交的作业做 零分处理。有特殊情况的,需要提前得到授课老师许可,一事一议) (一般是周三)。 2.提交内容:书面报告、源代码、源代码流程图及运行结果截图 3.源代码要求:简洁、清楚、有较好的注释(助教能够运行程序并 复制结果)。 4.完成作业要求:鼓励同学之间讨论、合作完成作业,但最终程序、 报告需要自己独立完成。如和别的同学交流过,请在上交作业中列 出一起合作交流过的同学名字。如发现上交作业雷同,雷同作业做 零分处理。 5. 编程语言:尽量选择Fortran或C语言,不建议使用Matlab。
| x1 x0 | 很小时
x1
15
由直线两点式可知,通过A,B的直线方程为
y
y0
y1 y0 x1 x0
(x
x0 )
L1( x)
称为线性插值(n=1的情况)
表示为如下对称形式: L1(x) y0l0 (x) y1l1(x)
其中,
l0(x)
x x1 x0 x1
l1 ( x)
x x0 x1 x0
精度提高的条件: ➢ 插值点与节点靠近 ➢ 内插精度一般比外推高 ➢ 插值点适当多
第4章-多项式插值方法
f [ x, x0 ,L , xn1] f [ x0 , x1,L , xn ]
f [ x, x0 , x1,L , xn ]( x xn ).
22
4.3.2 Newton均差插值多项式 只要把后一式代入前一式,就得到
f ( x) f ( x0 ) f [x0 , x1]( x x0 ) f [ x0 , x1, x2 ]( x x0 )( x x1) L
ln1.46 (1.46 1.5)(1.46 1.6) ln1.4 (1.46 1.4)(1.46 1.6) ln1.5
(1.4 1.5)(1.4 1.6)
(1.5 1.4)(1.5 1.6)
(1.46 1.4)(1.46 1.5) ln1.6 0.378402 (1.6 1.4)(1.6 1.5)
f (n1) ( )
(n 1)!
n1
(
x
),
x
[a,
b]
其中 ( x) (a, b).
注 (1)余项公式主要用于理论分析。实际使用时,代 之以误差估计式
Rn ( x)
Mn1 (n 1)!
n1( x)
11
(2)插值节点的选取应尽量靠近插值点,以使n1(x)
尽可能小,以减小误差。
若 f ( x) =xk (k n), 那么f (n1)( x) 0,
x( x
1)
13
L2( x) f ( x0 )l0( x) f ( x1)l1( x) f ( x2 )l2( x) 1.25l0( x) 0.75l1( x) 1.25l2( x)
5
5
x( x 1) 0.75( x 1)( x 1) x( x 1)
8
8
3 1 x2 42
多项式插值计算方法
多项式插值计算方法引言:多项式插值是数值分析中常用的一种方法,用于通过已知数据点构造一个多项式函数,以逼近或插值这些数据点。
本文将介绍多项式插值的基本概念、插值多项式的计算方法以及应用场景。
一、多项式插值的基本概念在实际问题中,我们经常需要通过有限个数据点来近似或还原一个函数。
多项式插值是一种常见的数值方法,通过构造一个多项式函数来逼近或插值已知的数据点。
多项式插值的基本思想是:假设我们有n+1个数据点(x0, y0), (x1, y1), ..., (xn, yn),其中xi为已知的节点,yi为对应的函数值。
我们希望找到一个次数不超过n的多项式P(x),使得P(xi)=yi。
这个多项式P(x)就是我们要求解的插值多项式。
二、拉格朗日插值多项式的计算方法拉格朗日插值多项式是多项式插值的一种常用方法。
它的基本思想是构造n次多项式,使得多项式在每个节点上都满足插值条件。
具体计算步骤如下:1. 根据已知的n+1个数据点(x0, y0), (x1, y1), ..., (xn, yn),构造n 次拉格朗日基函数:Li(x) = Π[j=0, j≠i]^(n) (x-xj) / (xi-xj),其中i=0,1,...,n。
2. 构造拉格朗日插值多项式:P(x) = Σ[i=0]^(n) yi * Li(x),其中i=0,1,...,n。
三、牛顿插值多项式的计算方法牛顿插值多项式是另一种常用的多项式插值方法。
它的基本思想是通过差商来递推计算插值多项式的系数。
具体计算步骤如下:1. 根据已知的n+1个数据点(x0, y0), (x1, y1), ..., (xn, yn),计算差商表:f[x0] = y0,f[x1] = (y1-y0) / (x1-x0),f[x2] = (f[x2]-f[x1]) / (x2-x1),...f[xn] = (f[xn]-f[xn-1]) / (xn-xn-1)。
2. 构造牛顿插值多项式:P(x) = f[x0] + Σ[i=1]^(n) f[x0, x1, ..., xi] * Π[j=0]^(i-1) (x-xj),其中i=1,2,...,n。
多项式插值的数学原理和实际应用案例
多项式插值的数学原理和实际应用案例众所周知,计算机和各种数学软件都可以用多项式插值(Polynomial Interpolation)来计算一些数值。
本文将介绍多项式插值的数学原理和实际应用案例。
一、数学原理多项式插值的数学原理就是根据给定的离散点(x1,y1),(x2,y2),...,(xn,yn),构造一个n−1次多项式函数P(x),使得该函数在上述离散点处的函数值与已知的函数值yi相同。
即,P(xi)=yi。
设P(x)为n−1次多项式函数,可以表示为以下的形式:P(x) = a0 + a1x + a2x^2 + ... + a(n-1)x^(n-1)因此,我们只需要求出一组系数a0,a1,...,a(n-1)即可得到P(x)函数。
针对于这种多项式插值的问题,最常用的方法就是拉格朗日插值法(Lagrange Interpolation)。
二、实际应用多项式插值在实际中的应用非常广泛,以下列举一些常见的实际应用案例。
1、医学图像处理在医学图像处理中,为了识别和测量各种生物组织和病理现象,通常根据离散数据点构造出一个连续的函数。
这时候就需要用到多项式插值的方法,将离散数据点拟合成一个光滑曲线,从而可以方便地进行图像处理。
2、地球物理学数据分析地球物理学家需要分析地球内部的物理参数分布,如地震波速度、密度等。
为了获得连续的曲线,通常需要对地球的物理参数进行采样并测量,得到离散数据点。
然后可以利用多项式插值的方法,将这些离散数据点插值成光滑的曲线,从而进行更准确的数据分析。
3、金融市场预测在金融市场预测中,经常需要根据历史数据预测未来趋势。
历史数据往往是离散的,此时可以利用多项式插值的方法来预测未来的走势。
通过将历史数据拟合成一个光滑的曲线,来更准确地预测未来的价格走势。
4、自然灾害预测在可能发生自然灾害的地区,科学家通常会安装各种传感器来监测地质和气象数据。
这些数据通常是离散的,因此可以用多项式插值的方法来进行光滑拟合,从而用于预测自然灾害。
插值多项式系数求解
插值多项式系数求解∑==++++++==ni i i nn x a x a x a x a x a x a a x f y 044332210)(根据给定的数据样本可以计算上述式中的系数i a ,很明显,如果要计算n 阶插值多项式的系数则需要1+n 个数据样本,将样本数据代入并写成矩阵形式,可以得到:⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⋅⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛n n n n nn n nn nn nny y y y y y a a a a a a x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x43210432104324443424434333233242322221413121104030200111111上述矩阵构成了一个以i a 为未知数的线性方程组,由线性代数知识可知其系数矩阵是范德蒙矩阵,由于其行列式非零,所以上述方程一定有解且有唯一解。
求解上述方程组可以使用通用的线性方程组解法,如选主元消去法等。
但由于其系数矩阵的特殊性,可以找到更简单的求解方法。
考虑拉格朗日插值基函数(参见《计算方法》易大义,1989,P36))())(())(()())(())(()(11101110n k k k k k k k n k k k x x x x x x x x x x x x x x x x x x x x x l ----------=+-+-上式展开后是关于x 的n 阶(分子部分共n 项,缺k x x -)多项式,即∑==++++++=ni i ki nkn k k k k k k x c x c x c x c x c x c c x l 044332210)(并且由分式形式可以注意到)(x l k 的取值特点,当k x x =时为1,当i x x =且k i ≠时,因为分子部分必有一项为0,所以)(x l k 的值为0,即⎩⎨⎧≠==ki ki x l i k 01)( 将x 依次取n i x i ,,2,1,0, =并写成向量相乘的形式,则有()()00100111111104414414033133132212212011043210=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛⋅+-+-+-+-+-n n n k n knk n n k k k n k k k n k k k n k k k kn k k k k k x x x x x x x x x x x x x x x x x x x x x x x x x c c c c c c 如果关于k 从0到n 将)(x l k 全部列出并与上式中的方阵相乘可以得到⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛⋅⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+-+-+-+-+-1000000100000010000001000000100000011111111044144140331331322122121143214441312414033433323130224232221201141312111000403020100n n nk nknk nn k kk n k k k n k k k n k kk nn n n n n n n n n n n x x x x x x x x x x x x x x x x x x x x x x x x x c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c上式说明等式左边两个矩阵是互逆阵,即⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+-+-+-+-+--n n n k n kn k n n k k k n k k k n k k k n k k k nn n n n n n n n n n n x x x x x x x x x x x x x x x x x x x x x x x x x c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c110441441403313313022122120110143210444131241403343332313022423222120114131211100040302010011111 根据转置矩阵的逆等于逆矩阵的转置可以得到Tnn n n n n n n n n n n Tn n n k n knk nn k k k n k kk n k k k n k kk c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c x x x x x x x x x x x x x x x x x x x x x x x x x ⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛-+-+-+-+-+-4321444131241403343332313022423222120114131211100040302010011144144140331331302212212011011111 即Tnn n n n n n n n n n n n n n nnnn n n nnc c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛- 4321444131241403343332313022423222120114131211100040302010014324443424434333233242322221413121104030200111111 则由⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⋅⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-n n n nnnnn nn nnn y y y y y y x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x a a a a a a432101432444342443433323324232222141312110403020043210111111 可得⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⋅⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛n Tnn n n n n n n n n n n n y y y y y y c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a a a a a a4321043210444131241403343332313022423222120114131211100040302010043210下面需要解决的问题是建立ki c 的计算公式,重新观察拉格朗日插值基函数)())(())(()())(())(()(11101110n k k k k k k k n k k k x x x x x x x x x x x x x x x x x x x x x l ----------=+-+-可见,对于任意一个k 值,由于分母部分固定不变,因此要得到ki c 的计算公式需要计算分子部分展开后的系数,即n n n k k x x x x x x x x x x x x x αααα++++=-----+- 22101110)())(())((下面推导的i α计算公式,为了便于计算,将i x 前的负号与看成一个整体,即将样本自变量取相反数,这样求解上式中的系数i α就变成了求解下式中的系数i α的问题了,可以看到系数都是由i x 的乘积及求和得到,而计算中不需再考虑n)1(-引起的问题了,n n n k k x x x x x x x x x x x x x αααα++++=++++++- 22101110)())(())((当不考虑缺少)(k x x +这一项的情况下,i α与n i x i ,,2,1,0, =的关系由下表可得上面规律说明,每多一项)(i x x +,多项式阶数增加一阶,增加一个系数l α,因此可以采用累乘的形式逐次各系数i l ,α,下面需要解决的是第增加一项)(i x x +,各系数i l ,α如何计算。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
插值多项式系数求解∑==++++++==ni i i nn x a x a x a x a x a x a a x f y 044332210)(根据给定的数据样本可以计算上述式中的系数i a ,很明显,如果要计算n 阶插值多项式的系数则需要1+n 个数据样本,将样本数据代入并写成矩阵形式,可以得到:⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⋅⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛n n n n nn n nn nn nny y y y y y a a a a a a x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x43210432104324443424434333233242322221413121104030200111111上述矩阵构成了一个以i a 为未知数的线性方程组,由线性代数知识可知其系数矩阵是范德蒙矩阵,由于其行列式非零,所以上述方程一定有解且有唯一解。
求解上述方程组可以使用通用的线性方程组解法,如选主元消去法等。
但由于其系数矩阵的特殊性,可以找到更简单的求解方法。
考虑拉格朗日插值基函数(参见《计算方法》易大义,1989,P36))())(())(()())(())(()(11101110n k k k k k k k n k k k x x x x x x x x x x x x x x x x x x x x x l ----------=+-+-上式展开后是关于x 的n 阶(分子部分共n 项,缺k x x -)多项式,即∑==++++++=ni i ki nkn k k k k k k x c x c x c x c x c x c c x l 044332210)(并且由分式形式可以注意到)(x l k 的取值特点,当k x x =时为1,当i x x =且k i ≠时,因为分子部分必有一项为0,所以)(x l k 的值为0,即⎩⎨⎧≠==ki ki x l i k 01)( 将x 依次取n i x i ,,2,1,0, =并写成向量相乘的形式,则有()()00100111111104414414033133132212212011043210=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛⋅+-+-+-+-+-n n n k n knk n n k k k n k k k n k k k n k k k kn k k k k k x x x x x x x x x x x x x x x x x x x x x x x x x c c c c c c 如果关于k 从0到n 将)(x l k 全部列出并与上式中的方阵相乘可以得到⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛⋅⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+-+-+-+-+-1000000100000010000001000000100000011111111044144140331331322122121143214441312414033433323130224232221201141312111000403020100n n nk nknk nn k kk n k k k n k k k n k kk nn n n n n n n n n n n x x x x x x x x x x x x x x x x x x x x x x x x x c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c上式说明等式左边两个矩阵是互逆阵,即⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+-+-+-+-+--n n n k n kn k n n k k k n k k k n k k k n k k k nn n n n n n n n n n n x x x x x x x x x x x x x x x x x x x x x x x x x c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c110441441403313313022122120110143210444131241403343332313022423222120114131211100040302010011111 根据转置矩阵的逆等于逆矩阵的转置可以得到Tnn n n n n n n n n n n Tn n n k n knk nn k k k n k kk n k k k n k kk c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c x x x x x x x x x x x x x x x x x x x x x x x x x ⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛-+-+-+-+-+-4321444131241403343332313022423222120114131211100040302010011144144140331331302212212011011111 即Tnn n n n n n n n n n n n n n nnnn n n nnc c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛- 4321444131241403343332313022423222120114131211100040302010014324443424434333233242322221413121104030200111111 则由⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⋅⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-n n n nnnnn nn nnn y y y y y y x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x a a a a a a432101432444342443433323324232222141312110403020043210111111 可得⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⋅⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛n Tnn n n n n n n n n n n n y y y y y y c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a a a a a a4321043210444131241403343332313022423222120114131211100040302010043210下面需要解决的问题是建立ki c 的计算公式,重新观察拉格朗日插值基函数)())(())(()())(())(()(11101110n k k k k k k k n k k k x x x x x x x x x x x x x x x x x x x x x l ----------=+-+-可见,对于任意一个k 值,由于分母部分固定不变,因此要得到ki c 的计算公式需要计算分子部分展开后的系数,即n n n k k x x x x x x x x x x x x x αααα++++=-----+- 22101110)())(())((下面推导的i α计算公式,为了便于计算,将i x 前的负号与看成一个整体,即将样本自变量取相反数,这样求解上式中的系数i α就变成了求解下式中的系数i α的问题了,可以看到系数都是由i x 的乘积及求和得到,而计算中不需再考虑n)1(-引起的问题了,n n n k k x x x x x x x x x x x x x αααα++++=++++++- 22101110)())(())((当不考虑缺少)(k x x +这一项的情况下,i α与n i x i ,,2,1,0, =的关系由下表可得上面规律说明,每多一项)(i x x +,多项式阶数增加一阶,增加一个系数l α,因此可以采用累乘的形式逐次各系数i l ,α,下面需要解决的是第增加一项)(i x x +,各系数i l ,α如何计算。
为解决这个问题,以5阶多项式中的二阶系数2α的计算过程为例进行观察,它应该是4,3,2,1,0,=i x i 中的任意三项乘积相加,从)(0x x +乘上)(1x x +开始存在2α且12=α,再乘上)(2x x +,2α由两部分之和组成,一部分是没乘)(2x x +前的二阶系数与2x 乘积构成,因为原为二阶乘上常数仍为二阶,另一部分是没乘)(2x x +前的一阶系数,因为它们乘上)(2x x +中的x 后都成为二阶,两部分之和是2,1,0,=i x i 中三项相加;再乘上)(3x x +,2α仍由两部分之和组成,一部分是没乘)(3x x +以前的二阶系数与3x 的乘积,另一部分是没乘)(3x x +前的一阶系数,两部分相加是3,2,1,0,=i x i 中任意两项相乘后求和;再乘上)(4x x +,2α仍由两部分之和组成,一部分是没乘)(4x x +以前的二阶系数与4x 的乘积,另一部分是没乘)(4x x +前的一阶系数,两部分相加是4,3,2,1,0,=i x i 中任意三项相乘后求和,即为最终结果。
概括来说,n 阶基函数分子多项式中的k 阶系数是由k n -个1,,1,0,-=n i x i 组合后乘积再相加得到,如果从)(0x x +开始逐次乘上1,,2,1),(-=+n i x x i 来计算,在乘)(m x x +时,此时系数由k m -+1个m i x i ,,1,0, =组合后乘积再相加得到,计算由两部分组成,第一部分是前1-m 项中k m -+1个1,,1,0,-=m i x i 组合后乘积再相加,另一部分则是前1-m 项中k m -个i x 组合后乘积再相加后,该项乘上新加入的m x 就是k m -+1个i x 相乘了。
前一部分正好是乘上)(m x x +之前的1-k 阶系数,因为1-k 阶系数由k m -个1,,1,0,-=m i x i 组合后乘积再相加构成,而11--k k x α再乘)(m x x +中的x 就成为k 阶;后一部分是未乘)(m x x +时的k 阶系数,因为没乘)(m x x +前已经是k 阶,乘上)(m x x +后与其中的m x 相乘即为新的k 阶。