当前位置:
文档之家› 【主要内容】介绍几种基本的插值方法(如Lagrange插值
【主要内容】介绍几种基本的插值方法(如Lagrange插值
假定海底经过海水冲刷,充分光滑,也没有礁石和洞穴。试用 插值方法得到此海域深度数据并绘制海底地形图和等高线图。
X Table 20 i, i, 0, 5 ; Y Table 40 i, i, 0, 5 ; Z 8.73, 8.32, 8.00, 7.97, 7.77, 7.99 ,
8.94, 8.78, 6.87, 7.22, 7.92, 7.99 , 8.88, 8.91, 4.21, 6.38, 7.37, 7.95 , 8.79, 8.79, 8.54, 5.82, 4.88, 7.97 , 8.75, 8.80, 7.91, 5.80, 4.77, 7.85 , 8.52, 8.31, 6.61, 6.06, 6.49, 7.97 ; data Table X i , Y j , Z i, j , i, 6 , j, 6 ; data Flatten data, 1 ; f Interpolation data Plot3D f x, y , x, 0, 100 , y, 0, 200 ContourPlot f x, y , x, 0, 100 , y, 0, 200
用三次样条插值选取11个基点计算插值.
f x_ 1 1 x ^2 ;
n Input "n "
d Table 5 10 i 1 n, f 5 10 i 1
i, 1, n 1
N;
g Interpolation d, InterpolationOrder 3
Plot f x , g x , x, 5, 5 ,
g Interpolation data, InterpolationOrder 3 Plot g x , x, 0, 190
17.5
15
12.5
10
7.5
5
2.5 25 50 75 100 125 150 175
程序5 Mathematic
4、用Mathematic做二维网格节点数据的插值 Interpolation [date ]
度,测得的温度依次为: 5,8,9,15,25,29,31,30, 22,
25,27,24。 试估计每隔1/10小时的温度值。
d1 Table 1, 5 , 2, 8 , 3, 9 , 4, 15 , 5, 25 , 6, 29 , 7, 31 , 8, 30 , 9, 22 , 10, 25 , 11, 27 , 12, 24 ;
已知sin 35010' 0.5760,sin 35020' 0.5783,
如何求sin35016' ?
sin 35016'
0.578
0.5760
0.5775
(0.5783 0.5760)
0.577
0.5765
0.6
0.6145 0.615 0.6155 0.616 0.6165
0.5774
第七讲 插值与拟合实验
【主要内容】 介绍几种基本的插值方法(如 Lagrange插值、分段线性插值、三次样条插值 等)和数据的最小二乘拟合方法。
【主要目的】了解Mathematica提供的插值函数 和拟合函数的使用方法,通过实例学习如何用 插值和拟合解决实际问题,注意两者的联系与区 别。
插值
【引例1】
n
Ln (x) li (x) yi i0
其中li(x)为n次多项式:
li
(x)
(x x0 )L (xi x0 )L
(x ( xi
xi1)(x xi1)L xi1)(xi xi1)L
(x xn ) (xi xn
)
i 0,1,L , n
称为Lagrange插值基函数。容易证明
li (x j )
再用f (x)计算插值,即 y*=f (x*).
y* y1
y0 •
• •
x0 x1 x*
• •
xn
2、插值方法:
(1)拉格朗日(Lagrange)插值法 已知函数 f (x) 在n+1个点x0 , x1, …, xn处的函数值
为y0 ,y1, ,…,yn.求一n次多项式函数Pn(x),使其满足:
Pn (xi)=y i , i=0,1,…,n. 则拉格朗日插值多项式公式为:
PlotStyle RGBColor 1, 0, 0 ,
n,
程序3 Mathematic
1 0.8 0.6 0.4 0.2
-4
-2
2
4
3、用Mathematic做一维插值 Interpolation [date , InterpolationOrder->n]
实例1 在1-12的11小时内,每隔1小时测量一次温
采用拉格朗日多项式插值:选取不同插值节
点个数n+1,其中n为插值多项式的次数,当 n分别取2,4,6,8,10时,绘出插值结果图形.
f x_ 1 1 x ^2 ;
n Input "n "
d Table 5 10 i 1 n, f 5 10 i 1 n ,
i, 1, n 1
N;
L
Table
Product x d k, 1 , k, 1, i 1
则称S (为x)三次样条插值函数。
三次样条插值问题的提法如下:
给定函数 f (x)在 n 1个节点 x0 , x1, , xn
处的函数值为 y0 , y1, , yn,求一个三次样条
函数 S (x) ,使其满足:
S(xi ) yi ,i 0,1, , n
例3
1 f (x) 1 x2 , 5 x 5
g1 Interpolation d1, InterpolationOrder 3 ; Plot g1 x , x, 1, 12 n Input "n " g1 n
程序4 Mathematic
30 25 20 15 10
5
2
4
6
8
10
12
实例2 机翼加工问题
已知机翼上缘轮线数据如下:
x
0.00 4.74 9.50 19.00 38.00 57.00 76.00
实例3 海底地形图的绘制
为了在一新的海域建立新的航道,需要知道海底深度,并绘制 海底地形图。现使用一艘勘测船,对一矩形区域内均匀网格上 海底深度进行勘测,得到以下数据(x和y为点的坐标):
x=0
y=0
8.73
y=40
8.94
y=80
8.88
y=120 8.79
y=160 8.75
y=200 8.52
y
0.00 5.32 8.10 11.97 16.15 17.10 16.34
x 95.00 114.00 133.00 152.00 171.00 190.00
y 14.63 12.16 9.69 7.03 3.99 0.00
用三次样条函数画出机翼曲线。
机翼上 轮廓线
data 0.00, 0.00 , 4.74, 5.32 , 9.50, 8.10 , 19.00, 11.97 , 38.00, 16.15 , 57.00, 17.10 , 76.00, 16.34 , 95.00, 14.63 , 114.00, 12.16 , 133.00, 9.69 , 152.00, 7.03 , 171.00, 3.99 , 190.00, 0.00 ;
个很好的例子。
定义 设在区间[a,b]上给定一组节点
a x0 x1 xn b
上的函数值 y0 , y1, , yn,函数S (x)满足
1)S (x)在每个小区间 [xi1, xi ]上都是
次数不超过3的多项式;
2) S(xi ) yi ,i 0,1, , n 3)S (x) 在[a,b]上有连续的二阶导数。
程序6 Mathematic
10
8 6
0 20 40 60
200
150
200
100
50
150
80 0
100
100
海底地形图
50
0
0
20
40
60
80
100
等高线图
【引例2】
拟合
有一只对温度敏感的电阻,已经测得 一组温度t和电阻R的数据: t(0C) 20.5 32.7 51.0 73.0 95.7 R() 765 826 873 942 1032 现在想知道600 C时的电阻有多大。
y1
x x2
x0 x0
x x1 x2 x1
y2
n
Ln (x) li (x) yi i0
用Lagrange插值多项式Ln(x)近似,虽然随着节点 个数的增加, Ln(x)次数n变大,多数情况下误差 会变小,但是n增加时, Ln(x)光滑性变坏,有时会 出现很大的振荡.
例1 f (x) 1 , x [5,5] 1 x2
1、基本原理: 知n+1个节点( xj , yj ) (j = 0, 1, ...,n), 其中xj 互不相同, 不妨设a=x0<x1<…<xn=b,求任意插值点x*处的插值 y*.
y*
y1
•
y0 •
• • •
x0 x1 x* xn
具体的构造一个(相对简单的)函数 y=f (x),通过全部节点,即 f ( xj )=yj (j=0,1,…,n)
0,
其它
例2 对例1中的函数和节点,画出 n 2,4,6,8,10
情形下的分段线性插值的图形,研究分段线性 插值的收敛性。
f x_ 1 1 x ^2 ;
n Input "n "
d Table 5 10 i 1 n, f 5 10 i 1
i, 1, n 1
N;
g Interpolation d, InterpolationOrder 1