研究生数值分析 样条插值

合集下载

数值分析实验报告-插值、三次样条

数值分析实验报告-插值、三次样条

实验报告:牛顿差值多项式&三次样条问题:在区间[-1,1]上分别取n=10、20用两组等距节点对龙格函数21()25f x x作多项式插值及三次样条插值,对每个n 值,分别画出插值函数及()f x 的图形。

实验目的:通过编程实现牛顿插值方法和三次样条方法,加深对多项式插值的理解。

应用所编程序解决实际算例。

实验要求:1. 认真分析问题,深刻理解相关理论知识并能熟练应用;2. 编写相关程序并进行实验;3. 调试程序,得到最终结果;4. 分析解释实验结果;5. 按照要求完成实验报告。

实验原理:详见《数值分析 第5版》第二章相关内容。

实验内容:(1)牛顿插值多项式1.1 当n=10时:在Matlab 下编写代码完成计算和画图。

结果如下:代码:clear allclcx1=-1:0.2:1;y1=1./(1+25.*x1.^2);n=length(x1);f=y1(:);for j=2:nfor i=n:-1:jf(i)=(f(i)-f(i-1))/(x1(i)-x1(i-j+1));endendsyms F x p ;F(1)=1;p(1)=y1(1);for i=2:nF(i)=F(i-1)*(x-x1(i-1));p(i)=f(i)*F(i);endsyms PP=sum(p);P10=vpa(expand(P),5);x0=-1:0.001:1;y0=subs(P,x,x0);y2=subs(1/(1+25*x^2),x,x0);plot(x0,y0,x0,y2)grid onxlabel('x')ylabel('y')P10即我们所求的牛顿插值多项式,其结果为:P10(x)=-220.94*x^10+494.91*x^8-9.5065e-14*x^7-381.43*x^6-8.504e-14*x^5+123.36*x^4+2.0202e-1 4*x^3-16.855*x^2-6.6594e-16*x+1.0并且这里也能得到该牛顿插值多项式的在[-1,1]上的图形,并和原函数进行对比(见Fig.1)。

交大硕士研究生必修基础数学-数值分析-插值与拟合方法

交大硕士研究生必修基础数学-数值分析-插值与拟合方法

第5章 插值与拟合方法插值与拟合方法是用有限个函数值(),(0,1,,)i f x i n =⋅⋅⋅去推断或表示函数()f x 的方法,它在理论数学中提到的不多。

本章主要介绍有关解决这类问题的理论和方法,涉及的内容有多项式插值,分段插值及曲线拟合等。

对应的方法有Lagrange 插值,Newton 插值,Hermite 插值,分段多项式插值和线性最小二乘拟合。

1 实际案例2 问题的描述与基本概念先获得函数(已知或未知)()=在有y f x由表中数据构造一个函数P(x)作为f(x) 的近似函数,去参与有关f (x)的运算。

科学计算中,解决不易求出的未知函数的问题主要采用插值和拟合两种方法。

1)插值问题的描述已知函数()y f x =在[a,b ]上的n +1个互异点nx x x ⋅⋅⋅,,10处的函数值()i i y f x =,求f (x ) 的一个近似函数P (x ),满足()()(0,1,,)i i P x f x i n ==⋅⋅⋅ (5.1)● P (x ) 称为f (x )的一个插值函数; ● f (x ) 称为被插函数;点i x 为插值节点; ● ()()(0,1,,)i i P x f x i n ==⋅⋅⋅称为插值条件; ● ()()()R x f x P x =-称为插值余项。

当插值函数P (x )是多项式时称为代数插值(或多项式插值)。

一个代数插值函数P (x )可写为0()()()mkm k k k P x P x a x a R ===∈∑若它满足插值条件(5.1),则有线性方程组20102000201121112012m m m m m n n m n na a x a x a x y a a x a x a x y a a x a x a x y ⎧+++⋅⋅⋅=⎪+++⋅⋅⋅=⎪⎨⎪⎪+++⋅⋅⋅=⎩ (5.2)当m=n ,它的系数行列式为范德蒙行列式)(1110212110200j i ni j n nnnn nx x x x x x x x x x x D -∏==≤≤≤因为插值节点互异,0D ≠,故线性方程组(5.2)有唯一解,于是有定理 5.1 当插值节点互异时,存在一个满足插值条件()()(0,1,,)i i P x f x i n ==⋅⋅⋅的n 次插值多项式。

数值分析(15)样条插值

数值分析(15)样条插值

数值分析
于是,在[xi , xi 1 ]上
( x xi 1 )2 (hi 2( x xi )) ( x xi )2 (hi 2( xi 1 x )) Si ( x ) yi yi 1 3 3 hi hi ( x xi 1 ) 2 ( x x i ) ( x xi ) 2 ( x xi 1 ) mi mi 1 2 2 hi hi
故构造S ( x )需要4n个条件 由(1)已知节点上函数值 yi , i 0,1, 2, ..., n。 这是n+1个条件
由(2)S ( x ) C 2 [a , b], 隐含着在内节点上应有 Si 1 ( xi ) Si ( xi ), Si'1 ( xi ) Si' ( xi ), Si''1 ( xi ) Si'' ( xi ), i 1, 2, ..., n 1
数值分析
数值分析
(3)如何求mi? 利用在节点上二阶导数连续的条件 由 Si''1 ( xi ) Si'' ( xi ), i 1, 2, ..., n 1 导出三转角方程(n 1个方程要解n 1个未知数)
(4)再由三转角方程 边界条件(补充两个方程) 封闭的方程组,可求出mi ,( i 0,1, 2, ..., n)
(2)构造三弯矩方程
利用S ( x )在内节点上一阶导数连续的条件, 在区间[ x i , x i 1 ]上 ' ( x ) 3a ( x- x ) 2 2b ( x- x ) c Si i i i i i
数值分析
数值分析
三、三弯矩方程求解法
三弯矩法的基本思想 (1)yi'' f '' ( xi )未知,但可设S '' ( xi ) M i , ( M i yi'' , 只是M i yi'' ) (2)如能求出M i,则可由M i 和yi 构造S ( x ).

数值分析——样条函数及三次样条插值

数值分析——样条函数及三次样条插值

S k ( x )是[ xk , xk + 1 ]上的(两点)三次样条插值多项式, 满足

Sk ( x j ) = y j
x → xk
k = 0,1,2, ⋯ , n − 1; j = k , k + 1
lim S k ( x ) = lim S k − 1 ( x ) + −
一、三次样条插值函数
定义1. 定义
a ≤ x0 , x1 ,⋯ , xn ≤ b为区间[ a , b ]的一个分割
如果函数S ( x )在区间[ a , b ]上满足条件 :
( 1) S ( x ), S ′( x ), S ′′( x )都在区间[ a , b ]上连续 ,即 S ( x ) ∈ C 2 [ a , b ]
f ( x j ) = y j , j = 0 ,1,⋯ , n 如果S ( x )是f ( x )的三次样条插值函数, 则其必满足
S ( x j ) = y j , j = 0 ,1,⋯ , n lim S ( x ) = S ( x j ) = y j , j = 1,⋯ , n − 1 x→ x xlim S ′( x ) = S ′( x j ) = m j , j = 1,⋯ , n − 1 →x lim S ′′( x ) = S ′′( x j ), j = 1 ,⋯ , n − 1
+ x → xk
Sk ( x j ) = y j
k
k = 0,1, ⋯ , n − 1; j = k , k + 1
− x → xk
k −1
k = 1 , 2 ,⋯ , n − 1 k = 1,2 ,⋯ , n − 1 ------(8) k = 1, 2 ,⋯ , n − 1

(完整word版)数值分析作业-三次样条插值..0001

(完整word版)数值分析作业-三次样条插值..0001

数值计算方法作业实验4.3三次样条差值函数实验目的:掌握三次样条插值函数的三弯矩方法实验函数:求和的近似值实验内容:(1) 编程实现求三次样条插值函数的算法,分别考虑不同的边界条件;(2) 计算各插值节点的弯矩值;(3) 在同一坐标系中绘制函数f(x),插值多项式,三次样条插值多项式的曲线比较插值结果。

实验4.5三次样条差值函数的收敛性实验目的:多项式插值不一定是收敛的,即插值的节点多,效果不一定好。

对三次样条插值函数如何呢?理论上证明三次样条插值函数的收敛性是比较困难的,通过本实验可以证明这一理论结果。

实验内容:按照一定的规则分别选择等距或非等距的插值节点,并不断增加插值节点的个数。

实验要求:(1)随着节点个数的增加,比较被逼近函数和三样条插值函数的误差变化情况,分析所得结果并与拉格朗日插值多项式比较;(2)三次样条插值函数的思想最早产生于工业部门。

作为工业应用的例子,考虑如下例子:某汽车制造商根据三次样条插值函数设计车门曲线, 其中一 段数据X k 0 1 23 4 5678910y k 0.00.79 1.532.19 2.713.03 3.27 2.89 3.06 3.19 3.29y k0.80.2算法描述:拉格朗日插值:错误!未找到引用源。

n(x _ X ) 其中错误!未找到引用源。

是拉格朗日基函数,其表达式为:h(x)」j=0 (x i- X j )牛顿插值:N n (x) =f (X g ) f[X o ,X i ](X -xO) f[X o ,X i ,X 2〕(X - xO)(x - X i ) •…f[X g ,X i ...X n ] =(f[X i ,X 2,...X n ] - f [ X 。

,为,..人」)/(X . - X g )三样条插值:所谓三次样条插值多项式Sn(x)是一种分段函数,它在节点Xi(a<X0<X1……<Xn<b)分成的每个小区间[x i-i ,x i ]上是三次多项式,其在此区间 上的表达式如下:f[X °,X i ,X 2,...X n ](X -X °)(X -X i )...(X-Xn J )f [X i , X j ]f (X i ) - f (X j ) X i -X jf [X i , X j ,X k]=其中*.f[X j ,X k ] - f[K ,X j ]X k -X iS(x)二 M 3(X i -x) 6h i.Mi (x —Xy )3 . [ y i - y i4 h i (M i - My)6h i h i 6 h ih i M i 4 h i M iy i- 6)( 6*,皿"]因此,只要确定了 Mi 的值,就确定了整个表达式,Mi 的计算方法如下:i 4式中 Mi= S (X i ).则Mi 满足如下n-1个方程:7 M i 」■ 2M i …冷 M i i = di , i =1,2,...n —'1 常用的边界条件有如下几类:(1)给定区间两端点的斜率 m o ,m n ,即s(x 0) = y 0 =m 0,S(x n ) = y n = m n(2) 给定区间两端点的二阶导数 MO ,Mn,即S (XcH y 。

数值分析三次样条插值

数值分析三次样条插值

若取等距节点 hi = h, i = 1,…, n –1
i

h h
h

1 2
i
1 i

1 2
di

6 2h
yi 1
2 yi h

yi 1


3 h3
( yi1
2 yi

yi1 )
i 1, 2,, n
例1. 对于给定的节点及函数值
k 0123 xk 1 2 4 5 f (xk ) 1 3 4 2 求满足自然边界条件S(x0 ) S(xn ) 0的三次样条 插值函数S(x),并求f (3)的近似值
Mi1
( x xi )2 2hi 1

yi1 hi 1
yi

hi 1 6
( M i 1

Mi )
于是
Si( xi )

hi 3
Mi

yi
yi1 hi

hi 6
M i 1
Si1( xi )
hi 1 3
Mi

yi1 hi 1
yi

hi 1 6
M i 1
解: 由M关系式
k

hk
hk hk 1
k

hk 1 hk hk 1
1 k
1

2 3
1

1 3
2

1 3
2

2 3
di

6

yi1 hi1
yi

yi
yi hi
1

hi hi1 6 f [ xi1, xi , xi1]

数值分析实验报告-插值、三次样条

数值分析实验报告-插值、三次样条

实验报告:牛顿差值多项式&三次样条问题:在区间[-1,1]上分别取n=10、20用两组等距节点对龙格函数21()25f x x作多项式插值及三次样条插值,对每个n 值,分别画出插值函数及()f x 的图形。

实验目的:通过编程实现牛顿插值方法和三次样条方法,加深对多项式插值的理解。

应用所编程序解决实际算例。

实验要求:1. 认真分析问题,深刻理解相关理论知识并能熟练应用; 2. 编写相关程序并进行实验; 3. 调试程序,得到最终结果; 4. 分析解释实验结果; 5. 按照要求完成实验报告。

实验原理:详见《数值分析 第5版》第二章相关内容。

实验内容:(1)牛顿插值多项式1.1 当n=10时:在Matlab 下编写代码完成计算和画图。

结果如下:代码:clear allclcx1=-1:0.2:1;y1=1./(1+25.*x1.^2);n=length(x1);f=y1(:);for j=2:nfor i=n:-1:jf(i)=(f(i)-f(i-1))/(x1(i)-x1(i-j+1));endendsyms F x p;F(1)=1;p(1)=y1(1);for i=2:nF(i)=F(i-1)*(x-x1(i-1));p(i)=f(i)*F(i);endsyms PP=sum(p);P10=vpa(expand(P),5);x0=-1:0.001:1;y0=subs(P,x,x0);y2=subs(1/(1+25*x^2),x,x0);plot(x0,y0,x0,y2)grid onxlabel('x')ylabel('y')P10即我们所求的牛顿插值多项式,其结果为:P10(x)=-220.94*x^10+494.91*x^8-9.5065e-14*x^7-381.43*x^6-8.504e-14*x^5+123.36* x^4+2.0202e-14*x^3-16.855*x^2-6.6594e-16*x+1.0并且这里也能得到该牛顿插值多项式的在[-1,1]上的图形,并和原函数进行对比(见Fig.1)。

数值分析 插值法

数值分析 插值法

第二章 插值法在科学研究与工程技术中,常常遇到这样的问题:由实验或测量得到一批离散样点,要求作出一条通过这些点的光滑曲线,以便满足设计要求或进行加工。

反映在数学上,即已知函数在一些点上的值,寻求它的分析表达式。

此外,一些函数虽有表达式,但因式子复杂,不易计算其值和进行理论分析,也需要构造一个简单函数来近似它。

解决这种问题的方法有两类:一类是给出函数()f x 的一些样点,选定一个便于计算的函数()x ϕ形式,如多项式、分式线性函数及三角多项式等,要求它通过已知样点,由此确定函数()x ϕ作为()f x 的近似,这就是插值法;另一类方法在选定近似函数的形式后,不要求近似函数过已知样点,只要求在某种意义下在这些样点上的总偏差最小。

这类方法称为曲线(数据)拟合法。

设已知区间[,]a b 上的实值函数f 在1n +个相异点[,]i x a b ∈处的函数值(),0,1,,i if f x i n ==,要求构造一个简单函数()x ϕ作为函数()f x 的近似表达式()()f x x ϕ≈使得()(),0,1,,i i i x f x f i n ϕ=== (2-1)这类问题称为插值问题。

称f 为被插值函数;()x ϕ为插值函数;0,,n x x 为插值节点;(2-1)为插值条件。

若插值函数类{()}x ϕ是代数多项式,则相应的插值问题为代数插值。

若{()}x ϕ是三角多项式,则相应的插值问题称为三角插值。

若{()}x ϕ是有理分式,则相应的插值问题称为有理插值。

§1 Lagrange 插值1.1 Lagrange 插值多项式设函数f 在1n +个相异点01,,,n x x x 上的值(),0,1,,i i f f x i n ==是已知的,在次数不超过n 的多项式集合n P 中,求()n L x 使得(),0,1,,n i i L x f n n == (2-2)定理1 存在惟一的多项式n nL P ∈满足插值条件(2-2)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

x
-0.46 -0.40 -0.36 -0.30 -0.26 -0.20 -0.16 -0.10 -0.06 -0.00
1 1 25x2
L10 (x)
0.15898 0.24145 0.20000 0.19999 0.23585 0.18878 0.30769 0.23535
0.37175 0.31650
f (x)
L1(x)
yi 1
x xi xi1 xi
yi
x xi1 xi xi1
这种分段低次插值称为分段线性插值。
在几何上就是用折线代替曲线,故分段线 性插值又称为折线插值。
类似地,为求f(x)的近似值,也可选取距点x
最近的3个节点 xi1, xi , xi1 进行二次插值,即取
f
(x)
L2 (x)
i 1
[ yk
k i1
i 1
(
j i 1
x xj xk x j
)]
jk
这种分段低次插值叫分段二次插值。
在几何上就是用分段抛物线代替曲线,故分 段二次插值又称为抛物线插值。
3、三次样条插值 对于给定的n+1个节点,求函数的近似值,可以
作 n次插值多项式,当n较大时,高次插值不仅计算 复杂,而且还可能出现高阶导数不一致收敛的现象;
若采用分段插值,虽计算简单,也具有一致收 敛性,但光滑性比较差.
有些实际问题,比如:船体放样,飞机的机翼 设计等要求二阶光滑度(有二阶的连续导数)。过去, 工程师制图时,往往用一根富有弹性的木条(称为 样条),把它用压铁固定在样点上,其他地方让它 自由弯曲,然后画一条曲线,称为样条曲线。
它实际上是由分段三次曲线连接而成,在连接 点处有二阶连续导数。我们对工程师描绘的样条曲 线,抽象成数学模型,得出的函数称为样条函数, 它实质上是分段多项式的光滑连接。
10
L10 (x) g (xi )li (x) i0
1
g(xi ) 1 25xi2 , li (x)
10 j0
x xj xi x j
ห้องสมุดไป่ตู้
j i
计算结果列于下表,并作草图
x
1 1 25x2
L10 (x)
-1.00 0.03846 0.03846
-0.96 0.04160 1.80438
-0.90 0.04706 1.57872
Si (x) ai bi x ci x2 di x3
x [xi1, xi ]
其中 ai , bi , ci , di 为待定系数。 子区间共有n个,这样的待定系数共有4n个。
20 根据条件(2)和(3),要求分段三次 多项式函数 S(x) 及其一、二阶导数 S'(x), S''(x) 在区间 [a , b] 上都连续,只要它们在各个子 它们在各个子区间的连接点 xi, (i 1,2, , n 1) 上连续即可。
2、分段线性插值与分段二次插值
当给定了n+1个节点 x0< x1< x2<…< xn上的函 数值 y0,y1,y2 , … , yn 后,若要计算点 x(x ≠ xi) 处函数 f(x) 的近似值,可先选取两个节点 xi-1和 xi
使 x [xi1, xi ]
然后在区间 [xi1, xi ] 上作线性插值,即得
0.50000 0.50000
0.60976 0.64316
0.80000 0.84340 0.91743 0.94090 1.00000 1.00000
y 1.5 1.0
0.5
y L10 ( x) y f (x)
1
0
1x
从图中可以看出,用 L10(x) 近似代替 f (x) 时, 只有当 x 在区间 [-0.2,0.2] 内,逼近程度较好,在 其它地方误差就很大,特别在端点附近,误差就更 大。如
-0.86 0.05131 0.88808
-0.80 0.05882 0.05882
-0.76 0.06477 -0.20130
-0.70 0.07547 -0.22620
-0.66 0.08410 -0.10832
-0.60 0.10000 0.1000
-0.56 0.11312 0.19873
-0.50 0.13793 0.25376
(3) S (x i ) yi , (i 0,1, 2, , n)
则称 S(x) 为函数 f(x) 关于节点 x0 , x1, , xn
的三次样条插值函数。
10 条件(1)表明S(x)是一个分段三次多项式。
若用 Si (x) 表示S(x)在第i个子区间 [xi1, xi ] 上的表达式,则 Si (x) 形如
§3 样条插值
1、高次插值的误差分析
从多项式插值的余项估计式
Rn (x)
f ( (n1) )
(n 1)!
n 1
(
x
)
可以看出余项的大小既与插值节点的个数n+1
有关,也与 f (x) 的高阶导数有关。
以拉格朗日插值为例,如果f (x)在区间[a,b] 上存在任意阶导数,且存在于 n 无关的常数 M
使得
且高阶导数要有一致的界。
例如,对于给定区间[-1,1]上的函数
1 g(x) 1 25x2
可以证明
max g (n) ( x) 1 (
1 x1
26
5 )n n! 26
取等距节点,譬如把[-1,1]等分,分点为
xj
1
2j 10
j 0,1, ,10
可以构造10次插值多项式,用拉格朗日公式有
其中
f (0.86) 0.05131, L10 (0.86) 0.88808; f (0.96) 0.04160, L10 (0.96) 1.80438
对于高次插值所发生的这种现象,称为龙格 (Runge) 现象。它表明加密节点并不能保证所得到 的插值多项式能更好地逼近 f (x) 。由于以上原因, 一般都避免使用高次插值,常用的方法就是分段 低次插值。
max f (n1) ( x) M
a xb
则由⑦式有
max
axb
f (x) Ln (x)
M (b a)n1 0 (n 1)!
(n )
可以看出,当插值节点的个数越多,误差越
小,我们还不能简单的认为对所有的插值问题当
插值节点的个数越多,误差就越小。
上面的估计式是有条件的。
即在 [a,b]上函数 f(x) 要有高阶导数,而
下面我们主要讨论常用的三次样条插值函数。
定义4 对于给定函数表
x
x0
x1

xn
f (x) y0
y1

yn
其中 a x0 x1 xn b ,若函数 S(x) 满足条件
(1)S(x)在每个子区间 [xi1, xi ], (i 1, 2, , n)
上都是不高于三次的多项式;
(2 ) S(x), S(x), S(x) 在区间[a,b]上都连续;
相关文档
最新文档