大学数学实验 插值与拟合
计算方法第五章 插值与拟合

(2)li ( x j ) ij ( j 0,1,, n).
(5.9)
其中: ij
2021年6月26日星期六
1,i 0,i
j, j.
整理课件
11
我们不采用求解方程组(5.3)的方法求解li (x),而是根据li (x) 必须满足式(5.9)这一特点来构造li (x)。由式(5.9)知,x0 , x1 ,, xi1 , xi1 ,, xn 是li (x)的n个互异零点,且li (x)为n次多项式,所
Ln (x) y0l0 (x) y1l1(x) ... ynln (x).
(5.12)
由于基函数li (x)(i 0,1,..., n)都是n次多项式,且li (x j ) ij ,
因此Li (x)是次数不超过n次的多项式,且满足
Ln (xi ) yi
(i 0,1,..., n).
2021年6月26日星期六
2021年6月26日星期六
整理课件
7
插值余項
在[a,b]上用Pn (x)近似表示f (x),在插值节点xi处是 没有误差的,即f (xi ) Pn (xi )(i 0,1,, n)。但在其它点 x处,一般f (x)与Pn (x)不相等(如图5.1)
记Rn (x) f (x) Pn (x) (5.4) 称Rn (x)为插值多项式的余项或 截断误差。
整理课件
14
这表明式(5.12)就是满足插值条件式(5.11)的多项式插值函数,它是插值基函数 的线性组合。
由插值多项式的存在唯一性知,将Ln(x)化简成n次多项式标准形式(5.2)后, 与用求解方程组(5.3)而得的插值多项式是相同的,称形如式(5.12)的插值多项式 Ln(x)为拉格朗日插值多项式。
插值与拟合

实验2 插 值 与 拟 合一、 概念的引入1. 插值与拟合在现实生活中的应用● 机械制造:汽车外观设计● 采样数据的重新建构:电脑游戏中场景的显示,地质勘探,医学领域(CT ) 2. 概念的定义● 插值: 基于[a,b]区间上的n 个互异点,给定函数f(x),寻找某个函数去逼近f(x)。
若要求φ(x)在xi 处与f(xi)相等,这类的函数逼近问题称为插值问题,xi 即是插值点● 逼近: 当取值点过多时,构造通过所有点的难度非常大。
此时选择一个次数较低的函数最佳逼近这些点,一般采用最小二乘法● 光顾: 曲线的拐点不能太多,条件:①二阶几何连续②不存在多余拐点③曲率变化较小● 拟合:曲线设计过程中用插值或通过逼近方法是生成的曲线光滑(切变量连续)光顾二、 插值理论设函数y=f(x)在区间[a,b]上连续,在[a,b]上有互异点x 0,x 1,…,x n 处取值y 0,y 1,…,y n 。
如果函数φ(x)在点x i 上满足φ(x i )=y i (i=0,1,2,…,n),则称φ(x)是函数y=f(x)的插值函数,x 0,x 1,…,x n 是插值节点。
若此时φ(x)是代数多项式P(x),则称P(x)为插值多项式。
显然 f(x)≈φ(x),x ∈[a,b]1. 拉格朗日插值构造n 次多项式P n (x)= y k l k (x)=y 0l 0 (x)+y 1l 1 (x)+…+y n l n (x),这是不超过n 次的多项式,其中基函数l k (x)=)...()()...()(()...()()...()(()1110)1110n k k k k k k k n k k x x x x x x x x x x x x x x x x x x x x ----------+-+-显然l k (x)满足l k (x i )=⎩⎨⎧≠=)(0)(1k i k i此时 P n (x)≈f(x),误差R n (x)=f(x)-P n (x)=(x ))!1()(1)1(+++n n n f ωξ 其中ξ∈(a,b)且依赖于x ,(x)1+n ω=(x-x 0)(x-x 1)…(x -x n )很显然,当n=1、插值节点只有两个x k ,x k+1时P 1(x)=y k l k (x)+y k+1l k+1(x)其中基函数l k (x)=11++--k k k x x x x l k+1(x)= kk kx x x x --+12. 牛顿插值构造n 次多项式N n (x)=f(x 0)+f(x 0,x 1)(x-x 0)+f(x 0,x 1,x 2)(x-x 0)(x-x 1)+…+f(x 0,x 1,x 2,…,x n )(x-x 0)(x-x 1)…(x -x n )称为牛顿插值多项式,其中101010)()(),(x x x f x f x x f --=(二个节点,一阶差商)202110210),(),(),,(x x x x f x x f x x x f --=(三个节点,二阶差商)nn n n x x x x x f x x x f x x x f --=-02111010),...,,(),...,,(),...,,( (n+1个节点,n 阶差商)注意:由于插值多项式的唯一性,有时为了避免拉格朗日余项R n (x)中n+1阶导数的运算,用牛顿插值公式R n (x)=f(x)-N n (x)=f(x,x 0,…,x n )ωn+1(x), 其中ωn+1(x)=(x-x 0)(x-x 1)…(x -x n )3. 分段插值------子区间内,避免函数在某些区间失真 1) 线性插值已知n+1个不同节点x 0,x 1,…,x n ,构造分段一次线性多项式P(x),使之满足 ● P(x)在[a,b]上连续 ● P(x k )=y k● P(x)在[x i ,x i+1]上是线性函数,P(x)=∑=ni i i x l y 0)(2) 两点带导数插值---避免尖点、一阶连续区间[a,b]上两个互异节点x i ,x i+1,已知实数y i ,y i+1,m i ,m i+1,为了构造次数不大于3的多项式)(x i ϕ满足条件⎩⎨⎧==i i i i i i m x y x )()('ϕϕ ⎩⎨⎧==++++1111)()('i i i i i i m x y x ϕϕ 引入)(x u i ,)(x v i 使之满足⎪⎪⎩⎪⎪⎨⎧====++0)(0)()()(11''i i i i i i i i i i x u x u m x u y x u ⎪⎪⎩⎪⎪⎨⎧====++++1111)()(0)(0)('i i i i i i i i i i m x v y x v x v x v可以求出⎪⎪⎩⎪⎪⎨⎧---+=--++=+++++2111121))]()(2([)())]()(2([)(i i i i i i i i ii i i i i i i h x x x x y h m y x v h x x x x y h m y x u此时)(x i ϕ=)(x u i +)(x v i ,其中i i i x x h -=+14. 三次样条插值------二阶可导对于给定n+1个不同节点x 0,x 1,…,x n 及函数值y 0,y 1,…,y n ,其中a=x 0<x 1<…<x n =b 。
插值与拟合应用举例

插值与拟合1. 插值与拟合的基本概念插值与插值函数:已知由()g x (可能未知或非常复杂)产生的一批离散数据(,),0,1,,i i x y i n = ,且n+1个互异插值节点011n n a x x x x b -=<<<<= ,在插值区间内寻找一个相对简单的函数 ()f x ,使其满足下列插值条件:再利用已求得的 ()f x 计算任一非插值节点的近似值,这就是插值。
其中()f x 称为插值函数, ()g x 称为被插函数。
最小二乘拟合: 已知一批离散的数据 (,),0,1,,i i x y i n = ,i x 互不相同,寻求一个拟合函数 ()f x ,使()i f x 与i y 的误差平方和在最小二乘意义下最小。
在最小二乘意义下确定的 ()f x 称为最小二乘拟合函数。
温度问题在12小时内,每隔1小时测量一次温度。
温度依次为:5,8,9,15,25,29,31,30,22,25,27,24。
(单位:℃)(1) 试估计在3.2h ,6.5h ,7.1h ,11.7h 的温度值,并画出其图形。
(2) 每隔1/10h 估计一次温度值,并画出其图形。
请你找出跟上述12个数据拟合的最好的一条曲线,请分别用分段线性插值、三次样条插值方法(至少用两条不同的曲线,并比较它们拟合好坏的程度)hours=1:12;temps=[5,8,9,15,25,29,31,30,22,25,27,24];t=interp1(hours,temps,[3.2,6.5,7.1,11.7]) %线性插值 T=interp1(hours,temps,[3.2,6.5,7.1,11.7],'spline') %三次样条插值 计算结果为 t =10.2000 30.0000 30.9000 24.9000 T =9.6734 30.0427 31.1755 25.3820每隔1/10h 估计一次温度值并画出其图形: hours=1:12;temps=[5,8,9,15,25,29,31,30,22,25,27,24]; h=1:0.1:12;t=interp1(hours,temps,h,'spline');plot(hours,temps,'+',h,t,hours,temps,'r:') xlabel('时间'),ylabel('温度')三次多项式拟合: hours=1:12;temps=[5,8,9,15,25,29,31,30,22,25,27,24]; a=polyfit(hours,temps,3) temps1=polyval(a,hours);plot(hours,temps,'ro',hours,temps1,'b.')得到320.00650.32837.1281 4.4343y x x x =--+-,图形如下:四次多项式拟合:得到4320.02730.7158 5.770712.225112.5884y x x x x =-+-+比较拟合的好坏:设ˆi y为拟合函数的值,i y 为测量值,则残差2ˆ()iiie y y=-∑ 。
数值分析实验插值与拟合

《数值分析》课程实验一:插值与拟合一、实验目的1. 理解插值的基本原理,掌握多项式插值的概念、存在唯一性;2. 编写MATLAB 程序实现Lagrange 插值和Newton 插值,验证Runge 现象;3. 通过比较不同次数的多项式拟合效果,理解多项式拟合的基本原理;4. 编写MATLAB 程序实现最小二乘多项式曲线拟合。
二、实验内容1. 用Lagrange 插值和Newton 插值找经过点(-3, -1), (0, 2), (3, -2), (6, 10)的三次插值公式,并编写MATLAB 程序绘制出三次插值公式的图形。
2. 设]5,5[,11)(2-∈+=x xx f 如果用等距节点x i = -5 + 10i /n (i = 0, 1, 2, …, n )上的Lagrange 插值多项式L n (x )去逼近它。
不妨取n = 5和n = 10,编写MATLAB 程序绘制出L 5(x )和L 10(x )的图像。
(2) 编写MATLAB 程序绘制出曲线拟合图。
三、实验步骤1. (1) Lagrange 插值法:在线性空间P n 中找到满足条件:⎩⎨⎧≠===ji j i x l ij j i ,0,,1)(δ的一组基函数{}ni i x l 0)(=,l i (x )的表达式为∏≠==--=nij j ji j i n i x x x x x l ,0),,1,0()(有了基函数{}ni i x l 0)(=,n 次插值多项式就可表示为∑==ni i i n x l y x L 0)()((2) Newton 插值法:设x 0, x 1, …, x n 是一组互异的节点,y i = f (x i ) (i = 0, 1, 2, …, n ),f (x )在处的n 阶差商定义为1102110],,,[],,,[],,,[x x x x x f x x x f x x x f n n n n --=-则n 次多项式)())(](,,[))(](,,[)](,[)()(11010102100100----++--+-+=n n n x x x x x x x x x f x x x x x x x f x x x x f x f x N差商表的构造过程:x i f (x i ) 一阶差商 二阶差商三阶差商 四阶差商x 0 f (x 0) x 1 f (x 1) f [x 0, x 1]x 2 f (x 2) f [x 1, x 2] f [x 0, x 1,x 2]x 3 f (x 3) f [x 2, x 3] f [x 1, x 2,x 3] f [x 0, x 1,x 2,x 3]x 4 f (x 4)f [x 3, x 4]f [x 2, x 3,x 4]f [x 1, x 2,x 3,x 4]f [x 0, x 1,x 2,x 3,x 4]试验结果:2. MATLAB程序实现:试验结果:3. 多项式拟合的一般方法可归纳为以下几步:(1)由已知数据画出函数粗略的图形——散点图,确定拟合多项式的次数n ; (2)列表计算)2,,1,0(0n j xmi ji=∑=和∑==mi i j i n j y x 0),,1,0( ;(3)写出正规方程组,求出),,1,0(n k a k =; (4)写出拟合多项式∑==nk kk n xa x p 0)(。
学生 实验一 拟合与插值

实验一拟合和插值教学目的1.了解最小二乘法的原理.2.通过实例的学习,懂得如何用拟合和插值的方法解决实际的问题,并能注意它们的联系与区别,会用Matlab来求解教学内容1.拟合与插值的原理及简单分类.2.相应问题的实例建模及用软件求解的实现.3.练习与上机实验的内容.插值:求过已知有限个数据点的近似函数。
拟合:已知有限个数据点,求近似函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最小。
插值和拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者的数学方法上是完全不同的许多工程技术中提出的计算问题对插值函数的光滑性有较高要求,如飞机的机翼外形,内燃机的进、排气门的凸轮曲线,都要求曲线具有较高的光滑程度,不仅要连续,而且要有连续的曲率,这就导致了样条插值的产生。
所谓样条(Spline)本来是工程设计中使用的一种绘图工具,它是富有弹性的细木条或细金属条。
绘图员利用它把一些已知点连接成一条光滑曲线(称为样条曲线),并使连接点处有连续的曲率。
拟合:Zj2.m课堂练习与作业:1, 所有例题上机实现;P9 1.5 上机实现 2.4. 用下列数据拟合函数112223sin()k x y e k x x -=+中的参数12,k k 。
数据序号 y/kg x1/cm2 x2 x3 1 15.02 23.73 5.49 1.21 1415.94 23.52 5.18 1.98 2 12.62 22.34 4.32 1.35 15 14.33 21.86 4.86 1.59 3 14.86 28.84 5.04 1.92 16 15.11 28.95 5.18 1.37 4 13.98 27.67 4.72 1.49 17 13.81 24.53 4.88 1.39 5 15.91 20.83 5.35 1.56 18 15.58 27.65 5.02 1.66 6 12.47 22.27 4.27 1.50 19 15.85 27.29 5.55 1.70 7 15.80 27.57 5.25 1.85 20 15.28 29.07 5.26 1.82 8 14.32 28.01 4.62 1.51 21 16.40 32.47 5.18 1.75 9 13.76 24.79 4.42 1.4622 15.02 29.65 5.08 1.7010 15.18 28.96 5.30 1.66 23 15.73 22.11 4.90 1.8111 14.20 25.77 4.87 1.64 24 14.75 22.43 4.65 1.8212 17.07 23.17 5.80 1.90 25 14.35 20.04 5.08 1.5313 15.40 28.57 5.22 1.665. p163 5.6 结合上课ppt(数学建模实例:人口预报问题)。
第七讲 插值与拟合实验

y i = f ( xi ) 。插值函数一般是已知函数的线性组合或称为加权平均。用代数多项式作为插
值函数的插值法称为多项式插值,相应的多项式称为插值多项式。 插值和拟合是函数逼近的简单但又十分重要的方法。 插值法可以导出数值微分、 数值积 分和微分方程数值解等多方面的计算方法, 是数值分析的基本课题。 同时插值和拟合在工程 实践和科学实验中有着非常广泛而又十分重要的应用。 本实验将主要研究几种基本的插值方法(如 Lagrange 插值、分段线性插值、三次样条 插值等)和数据的最小二乘拟合方法。要求学会 Mathematica 提供的插值函数和拟合函数的 使用方法,会用这些函数解决实际问题。
基函数。容易证明
⎧1 li ( x j ) = δ ij = ⎨ ⎩0
i= j , i, j = 0,1& Ln ( xi ) = y i , i = 0,1, " , n 。 还可以从其他角度出发,构造出插值多项式,如牛顿(Newton)插值公式。 Lagrange 插值法最大的优点是函数具有很好的解析性质(无穷次可微) ,但是它也存在 固有的缺点:可能出现严重的振荡现象,并且多项式函数的系数依赖于观测数据。 例 1 考虑函数
3、 三次样条插值 在工程设计和机械加工等实际问题中,要求插值函数有较高的光滑度。在数学上,光滑 程度的定量描述是:函数(曲线)的 k 阶导数存在且连续,则称该曲线具有 k 阶光滑性。自 然,光滑性阶数越高其曲线光滑程度就越好。而上面介绍的分段线性插值,只具有零阶光滑 性,也就是不光滑的。虽然,提高分段函数如多项式函数的次数,可以提高整体曲线的光滑 程度, 但是, 是否存在较低次多项式达到较高光滑性的方法?三次样条插值就是一个很好的 例子。 样条曲线本身就来源于飞机、船舶等外形曲线设计问题。在工程实际中,要求此类曲线 应该具有连续的曲率,即连续的二阶导数。人们普遍使用的样条曲线是分段三次多项式。 定义 设 在 区 间 [a,b] 上 给 定 一 组 节 点 a = x 0 < x1 < " < x n = b 上 的 函 数 值
插值与拟合方法

插值与拟合方法在实际中,常常要处理由实验或测量所得到的一批离散数据.插值与拟合方法就是要通过这些数据去确定某一类已知函数的参数或寻找某个近似函数,使所得到的近似函数与已知数据有较高的拟合精度.插值问题:要求这个近似函数(曲线或曲面)经过所已知的所有数据点.通常插值方法一般用于数据较少的情况.数据拟合:不要求近似函数通过所有数据点,而是要求它能较好地反映数据的整体变化趋势。
共同点:插值与拟合都是根据实际中一组已知数据来构造一个能够反映数据变化规律的近似函数的方法,由于对近似要求的准则不同,因此二者在数学方法上有很大的差异.插值问题的一般提法:已知某函数)(x f y =(未知)的一组观测(或试验)数据),,2,1)(,(n i y x ii⋅⋅⋅=,要寻求一个函数)(x φ,使iiy x =)(φ),,2,1(n i ⋅⋅⋅=,则)()(x f x ≈φ.实际中,常常在不知道函数)(x f y =的具体表达式的情况下,对于i x x =有实验测量值iy y =),,2,1,0(n i ⋅⋅⋅=,寻求另一函数)(x φ使满足:)()(i i i x f y x ==φ),,2,1,0(n i ⋅⋅⋅=称此问题为插值问题,并称函数)(x φ为)(x f 的插值函数,nx x x x ,,,,21⋅⋅⋅称为插值节点,),,2,1,0()(n i y x ii⋅⋅⋅==φ称为插值条件,即)()(iiix f y x ==φ),,2,1,0(n i ⋅⋅⋅=,则)()(x f x ≈φ.(1) 拉格朗日(Lagrange )插值设函数)(x f y =在1+n 个相异点nx x x x ,,,,21⋅⋅⋅上的函数值为ny y y y ,,,,21⋅⋅⋅,要求一个次数不超过n 的代数多项式nnnx a x a x a a x P +⋅⋅⋅+++=221)(使在节点i x 上有),,2,1,0()(n i y x P ii n ⋅⋅⋅==成立,称之为n 次代数插值问题,)(x P n称为插值多项式.可以证明n 次代数插值是唯一的.事实上: 可以得到j n j n i i j in y x x xx x P j i ∑∏==⎥⎥⎦⎤⎢⎢⎣⎡⎪⎪⎭⎫⎝⎛--=≠00)()( 当1=n 时,有二点一次(线性)插值多项式:101001011)(y x x x x y x x x x x P --+--=当n =2时,有三点二次(抛物线)插值多项式:2120210121012002010212))(())(())(())(())(())(()(y x x x x x x x x y x x x x x x x x y x x x x x x x x x P ----+----+----=(2)牛顿(Newton ) 插值牛顿插值的基本思想:由于)(x f y =关于二节点10,x x 的线性插值为)()()()()()()()()(00101000010101x x x x x f x f x p x x x x x f x f x f x p ---+=---+= 假设满足插值条件)2,1,0()()(2===i x p y x f iii的二次插值多项式一般形式为))(()()(1212x x x x c x x c c x p --+-+= 由插值条件可得⎪⎩⎪⎨⎧=--+-+=-+=)())(()()()()(21202202101011000x f x x x x c x x c c x f x x c c x f c 可以解出⎪⎪⎪⎩⎪⎪⎪⎨⎧------=--==020101121220101100)()()()()()(),(x x x x x f x f x x x f x f c x x x f x f c x f c所以))(()())(()()(10211020102x x x x c x p x x x x c x x c c x p --+=--+-+=类似的方法,可以得到三次插值多项式等,按这种思想可以得到一般的牛顿插值公式.函数的差商及其性质对于给定的函数)(x f ,用),,,(10n x x x f ⋅⋅⋅表示关于节点nx x x ,,,1⋅⋅⋅的n 阶差商,则有一阶差商:01011)()(),(x x x f x f x x f --=,121221)()(),(x x x f x f x x f --= 二阶差商:021021210),(),(),,(x x x x f x x f xx x f --=n 阶差商:0110211),,,(),,,(),,,(x x x x x f x x x f x x x f n n n n -⋅⋅⋅-⋅⋅⋅=⋅⋅⋅-差商有下列性质:(1)差商的分加性:∑∏=≠=-=⋅⋅⋅nk nk j j j kk n x xx f xx x f 0)(01)()(),,,(.(2)差商的对称性:在),,,(1nx x x f ⋅⋅⋅中任意调换jix x ,的次序其值不变.牛顿插值公式: 一次插值公式为))(,()()(01001x x x x f x f x p -+=二次插值公式为))()(,,()())()(,,())(,()()(1021011021001002x x x x x x x f x p x x x x x x x f x x x x f x f x p --+=--+-+=于是有一般的牛顿插值公式为)())()(,,,()()())()(,,,())()(,,())(,()()(11010111010102100100----⋅⋅⋅--⋅⋅⋅+=-⋅⋅⋅--⋅⋅⋅+⋅⋅⋅+--+-+=n n n n n n x x x x x x x x x f x p x x x x x x x x x f x x x x x x x f x x x x f x f x p可以证明:其余项为))(())()(,,,,()(11010n n n x x x x x x x x x x x x f x R --⋅⋅⋅--⋅⋅⋅=-实际上,牛顿插值公式是拉格朗日插值公式的一种变形,二者是等价的.另外还有著名的埃尔米特(Hermite )插值等.(3)样条函数插值方法样条,实质上就是由分段多项式光滑连接而成的函数,一般称为多项式样条.由于样条函数的特殊性质,决定了样条函数在实际中有着重要的应用.样条函数的一般概念定义 设给定区间],[b a 的一个分划b x x x a n=<⋅⋅⋅<<=∆1:,如果函数)(x s 满足条件:(1) 在每个子区间),,2,1](,[1n i x x ii ⋅⋅⋅=-上是k 次多项式; (2) )(x s 及直到k -1阶的导数在],[b a 上连续.则称)(x s 是关于分划△的一个k 次多项式样条函数,nx x x ,,,1⋅⋅⋅称为样条节点,121,,,-⋅⋅⋅n x x x 称为内节点,nx x ,0称为边界节点,这类样条函数的全体记作),(k S P∆,称为k 次样条函数空间.若),()(k S x s P∆∈,则)(x s 是关于分划△的k 次多项式样条函数.k 次多项式样条函数的一般形式为∑∑=-=+-+=ki n j k j jii k x x k i x x s 011)(!!)(βα其中),,1,0(k i i=α和)1,,2,1(-=n j jβ均为任意常数,而)1,,2,1(,0,)()(-=⎪⎩⎪⎨⎧<≥-=-+n j x x x x x x x x jj kj kj在实际中最常用的是2=k 和3的情况,即为二次样条函数和三次样条函数. 二次样条函数:对于],[b a 上的分划b x x x a n=<⋅⋅⋅<<=∆1:,则)2,()(!2!2)(11222102∆βαααP n j j jS x x x x x s ∈-+++=∑-=+其中)1,2,1(,0,)()(22-=⎪⎩⎪⎨⎧<≥-=-+n j x x x x x x x x j j j j . 三次样条函数:对于],[b a 上的分划b x x xa n =<⋅⋅⋅<<=∆10:,则)3,()(!3!3!2)(1133322103∆βααααP n j j jS x x x x x x s ∈-++++=∑-=+其中)1,2,1(,0,)()(33-=⎪⎩⎪⎨⎧<≥-=-+n j x x x x x x x x jjj j .1 二次样条函数插值)2,()(2∆∈P S x s 中含有2+n 个待定常数,故应需要2+n 个插值条件,因此,二次样条插值问题可分为两类:问题(1):已知插值节点ix 和相应的函数值),,2,1,0(n i y i⋅⋅⋅=,以及端点0x (或n x )处的导数值0'y (或ny '),求)2,()(2∆∈PS x s 使得⎩⎨⎧'=''='⋅⋅⋅==))(()(),,2,1,0()(20022n n i i y x s y x s n i y x s 或(5.1)问题(2):已知插值节点ix 和相应的导数值),,2,1,0(n i y i⋅⋅⋅=',以及端点0x (或n x )处的函数值0y (或ny ),求)2,()(2∆∈P S x s 使得⎩⎨⎧==⋅⋅⋅='='))(()(),,2,1,0()(20022n n i i y x s y x s n i y x s 或(5.2)事实上,可以证明这两类插值问题都是唯一可解的.对于问题(1),由条件(5.1)⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧'=+='==-+++==++==++=∑-=00210211222102121211112020201002)(,,3,2,)(2121)(21)(21)(y x x s n j y x x x x x s yx x x s y x x x s j j i i j i jj j ααβααααααααα 引入记号T n ),,,,,(11210-=ββααα X 为未知向量,T nn y y y y ),,,,(10'= C 为已知向量, ⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡---=-0010)(21)(21211)(212110211211021212212222211200x x x x x x x x x x x x x x x n n n n n A 于是,问题转化为求方程组C AX =的解Tn ),,,,,(1121-=ββααα X 的问题,即可得到二次样条函数的)(2x s 的表达式.对于问题(2)的情况类似.2.三次样条函数插值由于)3,()(3∆∈P S x s 中含有3+n 个待定系数,故应需要3+n 个插值条件,因此可将三次样条插值问题分为三类: 问题(1):已知插值节点jx 和相应的函数值),,2,1,0(n j y j⋅⋅⋅=,以及两个端点0x ,n x 处的导数值0'y ,ny ',求)3,()(3∆∈PS x s 使满足条件⎪⎩⎪⎨⎧='='⋅⋅⋅==),0()(),,1,0()(33n j y x s n j y x s j j j j(5.3)问题(2):已知插值节点jx 和相应的函数值),,2,1,0(n j y j⋅⋅⋅=,以及两个端点0x ,nx 处的二阶导数值0y '',n y '',求)3,()(3∆∈PS x s 使满足条件⎪⎩⎪⎨⎧=''=''⋅⋅⋅==),0()(),,1,0()(33n j y x s n j y x s j j j j(5.4)问题(3):类似地,求)3,()(3∆∈PSx s 使满足条件⎪⎩⎪⎨⎧=+=-==)2,1,0)(0()0(),,1,0()(0)(3)(33k x s x s n j y x s k n k j j(5.5)这三类插值问题的条件都是3+n 个,可以证明其解都是唯一的〔8〕.一般的求解方法可以仿照二次样条的情况处理方法,在这里给出一种更简单的方法.仅依问题(1)为例,问题(2)和问题(3)的情况类似处理.由于在)3,()(3∆PS x s ∈区间],[b a 上是一个分段光滑,且具有二阶连续导数的三次多项式,则在子区间],[1+j jx x 上)(3x s ''是线性函数,记),,,1,0)((3n j x s d jj =''=为待定常数.由拉格朗日插值公式可得nj x x h h x x d h x x d x s j j j jj j jj j ,,1,0,,)(1113=-=-+-=''+++显然jjj h d dx s -='''+13)(在],[1+j jx x上为常数.于是在],[1+j j x x 上有31233)(6)(2))(()(j jjj j j j j j x x h d d x x d x x x s y x s --+-+-'+=+(5.6)则当1+=j x x 时,由(5.6)式和问题(1)的条件得121231362)()(+++=-++'+=j j jj j j j j j j y h d d h d h x s y x s故可解得)2(6)(113+++--='j j j jjj j d d h h y y x s(5.7)将(5.7)式代入(5.6)式得)1,,1,0](,[,)(6)(2)()2(6)(1312113-=∈--+-+-⎥⎥⎦⎤⎢⎢⎣⎡+--+=++++n j x x x x x h d d x x d x x d d h h y y y x s j j j jj j j jj j j j j j j j(5.8) 在],[1j j x x-上同样的有),,2,1](,[,)(6)(2)()2(6)(131112111111113n j x x x x x h d d x x d x x d d h h y y y x s j j j j j j j j j j j j j j j j =∈--+-+-⎥⎥⎦⎤⎢⎢⎣⎡+--+=------------(5.9) 根据)(3x s的一阶导数连续性,由(5.9)式得)()2(6)0(311113j j j j j j j j x s d d h h y y x s '=++-=-'---- 结合(5.7)式整理得⎪⎪⎭⎫ ⎝⎛---+=++++--+-+----11111111162j j j j j j j j j j j j j j j j j h y y h y y h h d h h h d d h h h 引入记号⎪⎪⎭⎫ ⎝⎛---+=+=--+--111116,j j j j j j j j j j j j j h y y h y y h h c h h h a ,111--+=-j j j j h h h a .则)1,,2,1(,2)1(11-==++-+-n j c d a d d a j j j j j j(5.10)再由边界条件:nny x s y x s '=''=')(,)(33得⎪⎪⎩⎪⎪⎨⎧⎪⎪⎭⎫ ⎝⎛--'=+⎪⎪⎭⎫ ⎝⎛'--=+----111100010106262n n n n n n n h y y y h d d y h y y h d d(5.11)联立(5.10),(5.11)式得方程组C D A =⋅(5.12)其中⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡---=----2121212112112200n n n n a a a a a aA ,⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=-n n d d d d 110 D ,⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⎪⎪⎭⎫ ⎝⎛--'⎪⎪⎭⎫ ⎝⎛'--=----111110001066n n n n n n hy y y h c c y h y y h C 由方程组(6.12)可以唯一解出),,1,0(n j d j=,代入(5.8)式就可以得三次样条函数)(3x s 的表达式.B样条函数插值方法磨光函数实际中的许多问题,往往是既要求近似函数(曲线或曲面)有足够的光滑性,又要求与实际函数有相同的凹凸性,一般插值函数和样条函数都不具有这种性质.如果对于一个特殊函数进行磨光处理生成磨光函数(多项式),则用磨光函数构造出样条函数作为插值函数,既有足够的光滑性,而且也具有较好的保凹凸性,因此磨光函数在一维插值(曲线)和二维插值(曲面)问题中有着广泛的应用.由积分理论可知,对于可积函数通过积分会提高函数的光滑度,因此,我们可以利用积分方法对函数进行磨光处理.定义 若)(x f 为可积函数,对于0>h ,则称积分⎰+-=22,1)(1)(hx h x h dt t f h x f为)(x f 的一次磨光函数,h 称为磨光宽度.同样的,可以定义)(x f 的k 次磨光函数为)1()(1)(22,1,>=⎰+--k dt t f h x f hx h x h k h k事实上,磨光函数)(,x f h k 比)(x f 的光滑程度要高,且当磨光宽度h 很小时)(,x f h k 很接近于)(x f .等距B样条函数对于任意的函数)(x f ,定义其步长为1的中心差分算子δ如下:⎪⎭⎫ ⎝⎛--⎪⎭⎫ ⎝⎛+=2121)(x f x f x f δ在此取0)(+=x x f ,则002121+++⎪⎭⎫ ⎝⎛--⎪⎭⎫ ⎝⎛+=x x x δ是一个单位方波函数(如图5-1),记0)(+=Ωx x δ.并取1=h ,对)(0x Ω进行一次磨光得++++-+++-+++--+-+=-=⎥⎥⎦⎤⎢⎢⎣⎡⎪⎭⎫ ⎝⎛--⎪⎭⎫ ⎝⎛+==⎰⎰⎰⎰)1(2)1(2121)()(11212100212101x x x dt t dt t dt t t dt t x x xx x x x x x ΩΩ显然)(1x Ω是连续的(如图5-2).)(1x Ωo1-1/2 0 1/2 x -1 0 1 x 图5-1图5-2类似地可得到k 次磨光函数为kk j jk j k j k x k C x ++=+⎪⎭⎫ ⎝⎛-++-=Ω∑21!)1()(11 实际上,可以证明:)(x kΩ是分段k 次多项式,且具有1-k 阶连续导数,其k 阶导数有2+k个间断点,记为)1,,2,1,0(21+⋅⋅⋅=+-=k j k j x j.从而可知)(x kΩ是对应于分划+∞<<⋅⋅⋅<<<-∞∆+110:k x x x 的k 次多项式样条函数,称之为基本样条函数,简称为k 次B样条.由于样条节点为)1,,2,1,0(21+⋅⋅⋅=+-=k j k j xj是等距的,故)(x k Ω又称为k 次等距B样条函数.对于任意函数)(x f 的k 次磨光函数,由归纳法可以得到 [4,8] :⎪⎭⎫⎝⎛+≤≤--Ω=⎰∞+∞--22)()(1)(1,h x t h x dt t f htx h x f k h k 特别地,当1)(=x f 时,有1)(11⎰+∞∞--=-dt htx hk Ω,从而1)(⎰+∞∞-=dx x k Ω,且当k ≥1时有递推关系⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-Ω⎪⎭⎫ ⎝⎛---⎪⎭⎫ ⎝⎛+Ω⎪⎭⎫ ⎝⎛++=Ω--212121211)(11x x k x k x k x k k k一维等距B样条函数插值等距B样条函数与通常的样条如下的关系: 定理设有区间],[b a 的均匀分划nab h n j jh x x j -=⋅⋅⋅=+=),,,1,0(:0∆,则对任意 k 次样条函数),()(k S x S p k ∆∈都可以表示为B样条函数族1021-=-=⎭⎬⎫⎩⎨⎧⎪⎭⎫⎝⎛+---n j k j k k j h x x Ω的线性组合[14].根据定理 5.1,如果已知曲线上一组点()jjy x ,,其中),,1,0,0(0n j h jh x x j⋅⋅⋅=>+=,则可以构造出一条样条磨光曲线(即为B样条函数族的线性组合)⎪⎭⎫⎝⎛--=∑--=j h x x c x S n kj k j k 01)(Ω 其中)1,,1,(-⋅⋅⋅+--=n k k j c j为待定常数.用它来逼近曲线,既有较好的精度,又有良好的保凸性.实际中,最常用的是3=k 的情况,即一般形式为⎪⎭⎫ ⎝⎛--=∑+-=j h x x c x S n j j 01133)(Ω 其中3+n 个待定系数)1,,0,1(+⋅⋅⋅-=n j c j可以由三类插值条件确定.由插值条件(5.3)得()()()⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧'=-'='==-='=-'='∑∑∑+-=+-=+-=n n j j n i n j j i n j j y j n c h x S ni y j i c x S y j c h x S 113311330113031)(,,1,0,)(1)(ΩΩΩ(5.13)注意到)(3x Ω的局部非零性及其函数值:61)1(,32)0(33=±=ΩΩ,当2≥x 时0)(3=x Ω;且由)21()21()(223--+='x x x ΩΩΩ知,21)1(,0)0(33=±'='ΩΩ,当2≥x 时0)(3='x Ω.则(5.13)中的每一个方程中只有三个非零系数,具体的为⎪⎩⎪⎨⎧'=+-==++'=+-+-+--n n n i i i i y h c c n i y c c c y h c c 2,,1,0,6421111011(5.14)由方程组(5.14)容易求解出)1,,0,1(+⋅⋅⋅-=n j c j,即可得到三次样条函数)(3x S 表达式.类似地,由插值条件(5.4)得待定系数的)1,,0,1(+⋅⋅⋅-=n j c j所满足的方程组为⎪⎩⎪⎨⎧''=+-==++''=+-+-+--nn n n i i i i y h c c c n i y c c c y h c c c 21111021012,,1,0,642(5.15)由插值条件(5.5)得待定系数的)1,,0,1(+⋅⋅⋅-=n j cj所满足的方程组为⎪⎪⎩⎪⎪⎨⎧==++=-+---=-++-=-+-+-+-+--+--+--ni y c c c c c c c c c c c c c c c c c c c i i i i n n n n n n n n ,,1,0,640)()(2)(0)(0)(0)()(4)(1111011111111011(5.16)方程组(5.15),(5.16)也都是容易求解的.注:上述等距B样条插值公式也适用于近似等距的情形,但在端点0x 和n x 处误差可能较大,实际应用时,为了提高在端点0x 和nx 处的精度,可以适当向左右延拓几个节点.二维等距B样条函数插值设有空间曲面),(y x f z =(未知),如果已知二维等距节点()()τj y ih x y x ji++=0,,)0,(>τh 上的值为),,2,1,0;,,2,1,0(m j n i z ij⋅⋅⋅=⋅⋅⋅=,则相应的B样条磨光曲面的一般形式为⎪⎭⎫ ⎝⎛--⎪⎭⎫⎝⎛--=∑∑--=--=j y y i h x x c y x s l m lj k ij n ki τΩΩ0011),( 其中),,2,1,0;,,2,1,0(m j n i c ij⋅⋅⋅=⋅⋅⋅=为待定常数,l k ,可以取不同值,常用的也是2,=l k 和3的情形.这是一种具有良好保凸性的光滑曲面(函数),在工程设计中是常用的,但只能使用于均匀分划或近似均匀分划的情况.(4) 最小二乘拟合方法最小二乘拟合方法的思想:由于一般插值问题并不总是可解的(即当插值条件多于待定系数的个数时,其问题无解),同时,问题的插值条件本身一般是近似的,为此,只要求在节点上近似地满足插值条件,并使它们的整体误差最小,这就是最小二乘拟合法.最小二乘拟合方法可以分为线性最小二乘拟合方法和非线性最小二乘拟合方法.线性最小二乘拟合方法设{}m k kx 0)(=φ是一个线性无关的函数系,则称线性组合∑==mk k k x a x 0)()(φφ为广义多项式.如三角多项式:∑∑==+=mk k mk kkx b kx ax 0sin cos )(φ.设由给定的一组测量数据),(iiy x 和一组正数),,2,1(n i w i⋅⋅⋅=,求一个广义多项式∑==mk k k x a x 0)()(φφ使得目标函数[]21)(∑=-=ni i i i y x w S φ(5.17)达到最小,则称函数)(x φ为数据),,2,1)(,(n i y x ii⋅⋅⋅=关于权系数),,2,1(n i w i⋅⋅⋅=的最小二乘拟合函数,由于)(x φ关于待定系数ia 是线性的,故此问题又称为线性最小二乘问题. 注意:这里{}m k kx 0)(=φ可根据实际来选择,权系数iw 的选取更是灵活多变的,有时可选取1=i w ,或nw i 1=,对于nw i1=,则相应问题称为均方差的极小化问题.最小二乘拟合函数的求解要使最小二乘问题的目标函数(5.17)达到最小,则由多元函数取得极值的必要条件得),,2,1,0(0m k a Sk==∂∂ 即),,2,1,0(0)()(10m k x y x a w i k ni i m k i k k i ⋅⋅⋅⋅==⎥⎦⎤⎢⎣⎡-∑∑==φφ 亦即),,2,1,0()()()(001m k x y w a x x w n i i k i i j mj n i i k i j i ⋅⋅⋅⋅==⎥⎦⎤⎢⎣⎡∑∑∑===φφφ(5.18)是未知量为ma a a a ,,,,21⋅⋅⋅的线性方程组,称(5.18)式为正规方程组.实际中可适当选择函数系{}m k kx 0)(=φ,由正规方程组解出ma a a a ,,,,210⋅⋅⋅,于是可得最小二乘拟合函数∑==mk kk x a x 0)()(φφ.一般线性最小二乘拟合方法将上面一元函数的最小二乘拟合问题推广到多元函数,即为多维线性最小二乘拟合问题.假设已知多元函数),,,(21nx x x f y ⋅⋅⋅=的一组测量数据);,,,(21iniiiy x x x ⋅⋅⋅),,2,1(m i ⋅⋅⋅=和一组线性无关的函数系{}N k nk x x x 021),,,(=⋅⋅⋅φ,求函数∑=⋅⋅⋅=⋅⋅⋅Nk n k k n x x x a x xx 02121),,,(),,,(φφ对于一组正数mw w w ,,,21⋅⋅⋅,使得目标函数[]2121),,,(∑=⋅⋅⋅-=mi ni i i i i x x x y w S φ达到最小.其中待定系数N a a a a,,,,210⋅⋅⋅由正规方程组),,2,1,0(),(),(0N k y a Nj k j k j⋅⋅⋅==∑=φφφ确定,此处ini i i k mi i k ni i i k mi ni i i j i k j y x x x w y x x x x x x w ),,,(),(),,,(),,,(),(21121121⋅⋅⋅=⋅⋅⋅⋅⋅⋅=∑∑==φφφφφφ注:上面的函数φ关于ia 都是线性的,这就是线性最小二乘拟合问题,对于这类问题的正规组总是容易求解的.如果φ关于ia 是非线性的,则相应的问题称为非线性最小二乘拟合问题.非线性最小二乘拟合方法假设已知多元函数),,,(21nx x x f y ⋅⋅⋅=的一组测量数据);,,,(21iniiiy x x x ⋅⋅⋅),,2,1(m i ⋅⋅⋅=,要求一个关于参数),,2,1,0(N j a j⋅⋅⋅=是非线性的函数),,,;,,,(1021Nn a a a x x x ⋅⋅⋅⋅⋅⋅=φφ对一组正数mw w w ,,,21⋅⋅⋅使得目标函数[]21102110),,,;,,,(),,,(∑=⋅⋅⋅⋅⋅⋅-=⋅⋅⋅mi N ni i i i i N a a a x x x y w a a a S φ达到最小,则称之为非线性最小二乘问题.这类问题属于无约束的最优化问题,一般问题的求解是很复杂的,通常情况下,可以采用共轭梯度法、最速下降法、拟牛顿法和变尺度法等方法求解.实例:黄河小浪底调水调沙问题问题的提出2004年6月至7月黄河进行了第三次调水调沙试验,特别是首次由小浪底、三门峡和万家寨三大水库联合调度,采用接力式防洪预泄放水,形成人造洪峰进行调沙试验获得成功.整个试验期为20多天,小浪底从6月19日开始预泄放水,直到7月13日恢复正常供水结束.小浪底水利工程按设计拦沙量为75.5亿立方米,在这之前,小浪底共积泥沙达14.15亿吨.这次调水调试验一个重要目的就是由小浪底上游的三门峡和万家寨水库泄洪,在小浪底形成人造洪峰,冲刷小浪底库区沉积的泥沙.在小浪底水库开闸泄洪以后,从6月27日开始三门峡水库和万家寨水库陆续开闸放水,人造洪峰于29日先后到达小浪底,7月3日达到最大流量2700立方米/每秒,使小浪底水库的排沙量也不断地增加.下面是由小浪底观测站从6月29日到7月10日检测到的试验数据:表5-1: 试验观测数据单位:水流为立方米/每秒,含沙量为公斤/立方米·84··85·注:以上数据主要是根据媒体公开报道的结果整理而成的,不一定与真实数据完全相符.现在,根据试验数据建立数学模型研究下面的问题:(1) 给出估算任意时刻的排沙量及总排沙量的方法;(2) 确定排沙量与水流量的变化关系.模型的建立与求解对于问题(1),根据所给问题的试验数据,要计算任意时刻的排沙量,就要确定出排沙量随时间变化的规律,可以通过插值来实现.考虑到实际中排沙量应该是随时间连续变化的,为了提高精度,我们采用三次B样条函数进行插值.下面构造三次B样条函数)(x S y =.由试验数据,时间是每天的早8点和晚8点,间隔都是12个小时,共24个点)24,,2,1(⋅⋅⋅=i t i.为了计算方便,令)23,,,1,0(122128⋅⋅⋅=+⎥⎦⎤⎢⎣⎡⋅+-=i i t x i i(5.19)则it 对应于)23,,1,0(1⋅⋅⋅=+=i i x i.于是以)23,,1,0(⋅⋅⋅=i x i为插值节点(等距),步长1=h .其相应的排沙量为)23,,1,0(⋅⋅⋅=i y i 对应关系如下表:·86·表5-2: 插值数据对应关系单位:排沙量为公斤函数)(x S y =所满足的条件为 (1)23,,1,0,)(⋅⋅⋅==i y x S ii;(2) 3500)(,56400)(2223222323231212-=--≈'='=--≈'='x x y y x S y x xy yx S y .取)(x S 的三次B样条函数一般形式为∑-=⎪⎭⎫⎝⎛--=24103)(j j j h x x c x S Ω·87·其中)24,,1,0,1(⋅⋅⋅-=j cj为待定常数,1=h .在这里⎪⎪⎪⎩⎪⎪⎪⎨⎧≥<<+-+-≤+-=Ω2,021,342611,3221)(23233x x x x x x x x x且易知⎪⎪⎪⎩⎪⎪⎪⎨⎧≥±===Ω2,01,610,32)(3x x x x和⎪⎪⎩⎪⎪⎨⎧≥±===Ω'2,01,210,0)(3x x x x 根据B样条函数的性质,)(x S ''在[]23,x x 上连续,则有()∑-=--'='='2413)(j jj xx c x S y Ω由插值条件(1),(2)可得到下列方程组()()()⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧'=-'=''=-'='⋅⋅⋅==-=∑∑∑-=-=-=23241323024130241323)()(23,,1,0,)(y j c x S y j c x S i y j i c x S j j j j i j j i ΩΩΩ 即⎪⎩⎪⎨⎧'=+-'=+-⋅⋅⋅==++-+-23242311112223,,1,0,64y c c y c c i y c c c i i i i 将232324112,2y c c y c c '+='-=-代入前24个方程中的第一个和最后一个,便可得到方程组F AC =,其中·88·⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⋅⋅⋅⋅⋅⋅=⨯232102424,421410141014124c c c c C A ,⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡'-'+=3400048000684000458400266626232322100 y y y y y y F显然A 为满秩阵,方程组F AC =一定有解,用消元法求解可得问题的解为56044.39830=c , 4117111.2031=c , 2159510.7882=c , 9189845.6433=c ,1203106.6364=c , 8239727.8115=c ,8249182.1166=c , 1263543.7217=c ,9287842.9988=c , 2302284.2839=c ,4317419.86810=c , 1304836.24311=c ,3307635.15912=c ,6305423.11913=c ,2270672.36214=c ,4240287.43115=c ,0154177.91216=c ,4103000.92017=c ,99818.406218=c , 43725.454719=c ,49279.775020=c ,32155.445221=c , 2098.444222=c ,7450.777923=c ,-450.777924311.2034,2232324011='+=='-=-y c c y c c . 将)24,,1,0,1(⋅⋅⋅-=j c j代入()∑-=--==24131)(j jj x c x S y Ω(5.20)即得排沙量的变化规律.由(5.19)和(5.20)式可得到第i 时间段(12小时为一段)内,任意时刻]12,0[∈t 的排沙量.则总的排沙量为()dt j t c dx x S Y j j⎰∑⎰-=--Ω==284824132411)(经计算可得1110844.1⨯=Y 吨,即从6月29日至7月10日小浪底水库排沙总量大约为1.844亿吨,此与媒体报道的排沙量基本相符.对于问题(2),研究排沙量与水量的关系,从试验数据可以看出,开始排沙量是随着水流量的增加而增长,而后是随着水流量的减少而减少.显然,变化规律并非是线性的关系,为此,我们问题分为两部分,从开始水流量增加到最大值2720立方米/每秒(即增长的过程)为一段,从水流量的最大值到结束为第二段,分别来研究水流量与排沙量的关系.具体数据如表5-3和5-4.表5-3: 第一阶段试验观测数据 单位:水流为立方米/每秒,含沙量为公斤/立方米表5-4: 第二阶段试验观测数据单位:水流为立方米/每秒,含沙量为公斤/立方米对于第一阶段,由表5-3用Matlab作图(如图5-3)可以看出其变化趋势,我们用多项式作最小二乘拟合.·90··91·图5-3设拟合函数为∑==mk kk x a x 1)(φ确定待定常数),,1,0(m k ak=使得211111102])([∑∑∑===⎥⎦⎤⎢⎣⎡-=-=i i i m k k i k i i y x a y x S φ有最小值.于是可以得到正规方程组为m k x y a x mj i k i i j i j k i ,,1,0,0111111 ==⎪⎭⎫⎝⎛∑∑∑===+ 当3=m 时,即取三次多项式拟合,则3,2,1,0,1113111321112111110111==⎪⎭⎫⎝⎛+⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛∑∑∑∑∑==+=+=+=k x y a x a x a x a x i k i i i k i i k i i k i i k i求解可得73321108423.1,103172.1,3.1784,-2492.9318--⨯=⨯-===a a a a .于是可得拟合多项式为332213)(x a x a x a a x +++=φ,最小误差为847.72=S ,拟合效果如图所示.·92·图:三次拟合效果,带*号的为拟合曲线.类似地,当4=m 时,即取四次多项式拟合,则正规方程组为4,3,2,1,0111411143111321112111110111==⎪⎭⎫⎝⎛+⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛∑∑∑∑∑∑==+=+=+=+=k x y a x a x a x a x a x i ki i i k i i k i i k i i k i i k i求解可得104633210109312.1,1094.1,102626.7,12.0624,-7434.6557---⨯-=⨯=⨯-===a a a a a 于是可得拟合多项式为443322104)(x a x a x a x a a x ++++=φ,最小误差为102.66=S ,拟合效果如图5-5所示.图5-5:四次拟合效果,带*号的为拟合曲线.从上面的三次多项式拟合和四次多项拟合效果来看,差别不大.基本可以看出排沙量与水流量的关系.图5-6:第二段三·93··94· 次多项式拟合效果对于第二阶段,由表5-4可以类似地处理.我们用线性最小二乘法作三次和四多项式拟合.拟合效果如图5-6和5-7所示,最小误差分别为5.459=S 和1.236=S . 从拟合效果来看,显然四次多项式拟合要比三次多项式拟合好的多.图5-7:第二段四次多项式拟合效果。
插值与拟合问题

插值与拟合问题插值与拟合是数学和计算机科学领域中常见的问题,涉及到通过已知数据点来估计未知点的值或者通过一组数据点来逼近一个函数的过程。
在现实生活中,这两个问题经常用于数据分析、图像处理、物理模拟等领域。
本文将介绍插值与拟合的基本概念、方法和应用。
一、插值问题插值是通过已知的数据点来推断出未知点的值。
在插值问题中,我们假设已知数据点是来自于一个未知函数的取值,在这个函数的定义域内,我们需要找到一个函数或者曲线,使得它经过已知的数据点,并且可以通过这个函数或者曲线来估计未知点的值。
常见的插值方法包括线性插值、拉格朗日插值和牛顿插值。
线性插值是通过已知的两个数据点之间的直线来估计未知点的值,它简单而直观。
拉格朗日插值则通过构造一个关于已知数据点的多项式来估计未知点的值,这个多项式经过每一个已知数据点。
牛顿插值和拉格朗日插值类似,也是通过构造一个多项式来估计未知点的值,但是它使用了差商的概念,能够更高效地处理数据点的添加和删除。
不仅仅局限于一维数据点的插值问题,对于二维或者更高维的数据点,我们也可以使用类似的插值方法。
例如,对于二维数据点,我们可以使用双线性插值来估计未知点的值,它利用了四个已知数据点之间的线性关系。
插值问题在实际应用中非常常见。
一个例子是天气预报中的气温插值问题,根据已知的气温观测站的数据点,我们可以估计出其他地点的气温。
另一个例子是图像处理中的像素插值问题,当我们对图像进行放大或者缩小操作时,需要通过已知像素点来估计未知像素点的值。
二、拟合问题拟合是通过一组数据点来逼近一个函数的过程。
在拟合问题中,我们假设已知的数据点是来自于一个未知函数的取值,我们需要找到一个函数或者曲线,使得它能够与已知的数据点尽可能地接近。
常见的拟合方法包括多项式拟合、最小二乘拟合和样条拟合。
多项式拟合是通过一个多项式函数来逼近已知的数据点,它的优点是简单易用,但是对于复杂的函数形态拟合效果可能不好。
最小二乘拟合则是寻找一个函数,使得它与已知数据点之间的误差最小,这个方法在实际应用中非常广泛。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a =
145.5000
b =
-6.1461e+003
c =
5.3053e+004
显然三次拟合的结果最好
8.
程序:
>> x0=[1 2 4 7 9];
>> y0=[1.5 3.9 6.6 11.7 15.6];
>> k=y0/x0
k =
1.7086
>>
>> x1=[9 12 13 15 17];
>> y1=[15.6 18.8 19.6 20.6 21.1];
一、实验目的
(1)掌握用MATLAB计算拉格朗日,分段线性,三次样条三种插值的方法,改变节点的数目,对三种插值结果进行初步分析。
(2)掌握用MTLABLE作线性最小二乘拟合的方法。
(3)通过实例学习如何用插值方法与拟合方法解决实际问题,注意二者的联系和区别。
二、实验内容
2.用y=x^1/2在向,4,9,16产生5个节点P1,……P5.用不同的节点构造插值公式来计算x=5处的插值,与精确值比较并进行分析。
3.用给定的多项式,如y=x^3-6*x^2+5*x-3,产生一组数据(Xi,Yi,i=1,2,……,n),再在Yi上添加随机干扰(可用rand产生(0,1)均匀分布随机数,或用randn产生N(0,1)分布随机数),然后用Xi和添加了随机干扰项的Yi作3次多项式拟合,与原系数比较,如果作2或4次多项式拟合,结果如何?
结果
a =
1.2728e-018
b =
1.0000
c =
-6.0000
d =
5.0000
e =
-2.6471
二次拟合
symsxy
x=1:100;
y0=x.^3-6*x.^2+5*x-3;
y=y0+rand();
aa=polyfit(x,y,2);
a=aa(1)
b=aa(2)
c=aa(3)
z=polyval(aa,x);
>>aa=polyfit(x1,y1,2);
>> a=aa(1);
>> b=aa(2);
>> c=aa(3);
>>ans=[a b c]
ans=
-0.0764 2.6728 -2.2613
>>
8弹簧在力F的作用下伸长x,F数据,一定范围内服从胡克定律:F与x成正比,即F=kx,k为弹簧系数。现在得到下面一组数据,并在(x,F)坐标下作图。可以看出,当F大到一定数值(如x=9以后)后,就不服从这个定律了。试由数据拟合直线F=kx,并给出不服从胡克定律时的近似公式(曲线)。
1)要求直线与曲线在x=9处相连接。
2.2000
2.1633
lagr在matlab中没有定义
用不同节点构造插值方法与上述程序一样
3
程序:
三次拟合
symsxy
x=1:100;
y0=x.^3-6*x.^2+5*x-3;
y=y0+rand();
aa=polyfit(x,y,3);
a=aa(1)
b=aa(2)
c=aa(3)
d=aa(4)
z=polyval(aa,x);
结果
a=
1.0000
b =
-6.0000
c =
5.0000
d =
-2.9421
四次拟合
symsxy
x=1:100;
y0=x.^3-6*x.^2+5*x-3;
y=y0+rand();
aa=polyfit(x,y,4);
a=aa(1)
b=aa(2)
c=aa(3)
d=aa(4)
e=a;
2)要求直线与曲线在x=9处光滑连接。
三.实验过程与结果
2.
程序:
symsxy
x0=[ 0 1 4 9 16];
y0=[ 0 1 2 3 4];
x=5;
y=x^0.5;
y1=interp1(x0,y0,x);
y2=spline(x0,y0,x);
[x y y1 y2]';
结果:
ans:
5.0000
2.2361