函数逼近与曲线拟合
常用函数的逼近和曲线拟合

常用函数的逼近和曲线拟合在数学中,函数逼近和曲线拟合都是常见的问题。
函数逼近是指找到一个已知函数,尽可能地接近另一个函数。
而曲线拟合则是给定一组数据点,找到一条曲线来描述这些数据点的分布。
本文将讨论常用的函数逼近和曲线拟合方法。
一、函数逼近1. 插值法插值法是最简单的函数逼近方法之一。
它的基本思想是:给定一组已知点,通过构造一个多项式,使得该多项式在这些点处的函数值与已知函数值相等。
插值法的优点是精度高,缺点是易产生龙格现象。
常用的插值多项式有拉格朗日插值多项式和牛顿插值多项式。
拉格朗日插值多项式的形式为:$f(x)=\sum_{i=0}^{n}y_{i}\prod_{j=i,j\neq i}^{n}\frac{x-x_{j}}{x_{i}-x_{j}}$其中,$x_{i}$是已知点的横坐标,$y_{i}$是已知点的纵坐标,$n$是已知点的数量。
牛顿插值多项式的形式为:$f(x)=\sum_{i=0}^{n}f[x_{0},x_{1},...,x_{i}]\prod_{j=0}^{i-1}(x-x_{j})$其中,$f[x_{0},x_{1},...,x_{i}]$是已知点$(x_{0},y_{0}),(x_{1},y_{1}),...,(x_{i},y_{i})$的差商。
2. 最小二乘法最小二乘法是一种常用的函数逼近方法。
它的基本思想是:给定一组数据点,找到一个函数,在这些数据点上的误差平方和最小。
通常采用线性模型,例如多项式模型、指数模型等。
最小二乘法的优点是适用性广泛,缺点是对于非线性模型要求比较高。
最小二乘法的一般形式为:$F(x)=\sum_{i=0}^{n}a_{i}\varphi_{i}(x)$其中,$a_{i}$是待求的系数,$\varphi_{i}(x)$是一组已知的基函数,$n$是基函数的数量。
最小二乘法的目标是使得$\sum_{i=1}^{m}[f(x_{i})-F(x_{i})]^{2}$最小,其中$m$是数据点的数量。
函数逼近的几种算法及其应用

函数逼近的几种算法及其应用函数逼近的几种算法及其应用摘要在自然科学与技术科学领域中存在着大量的需要解决的非线性问题.近年来人们在数值与函数逼近问题以及计算机辅助几何设计的研究中取得了一系列深刻的结果.随着高性能、大容量计算机的出现,使得过去难以实现的问题变为可能,所以关于函数逼近的理论研究和应用有着巨大的发展潜力.本课设中共有两章,第一章介绍了函数逼近的产生及研究意义,基础知识,最佳平方逼近法,曲线拟合的最小二乘法,有理逼近,三角多项式逼近的算法的几种函数比较方式.第二章从函数逼近的应用角度,详细介绍了有理函数逼近在数值优化中的应用和泰勒级数判定迭代法的收敛速度,以及几种函数逼近的计算实例.关键词最佳平方逼近法;曲线拟合的最小二乘法;有理逼近;三角多项式逼近;帕徳逼近目录引言 0第一章函数逼近 (1)§1.1 函数逼近的产生背景及研究意义 (1)§1.2 基础知识 (2)§2§3§1.3 最佳平方逼近 (4)§4§5§1.4 有理逼近 (7)§7§有理插值函数的存在性 (8)§9§10§1.5 三角多项式逼近与多项式逼近 (11)§11§11§π为周期的连续函数的三角多项式逼近 (12)§π]上连续函数的三角多项式逼近 (13)§闭区间上连续函数的三角多项式逼近 (13)§闭区间上连续函数的多项式逼近 (14)§1.6 其他函数逼近 (14)§ (14)§ (15)第二章函数逼近应用 (17)§2.1 有理逼近在数值优化中的应用 (17)§17§18§2.1.3 计算实例 (18)§2.2 各种泰勒级数判定迭代法的收敛速度 (19)§2.3 各种函数逼近的计算实例 (20)§20§2.3.2 曲线拟合的最小二乘法计算实例 (21)§2.3.3 帕德逼近的计算实例 (22)参考文献 (23)引言函数逼近是函数论的一个重要组成部分,涉及的基本问题是函数的近似表示问题.在数学的理论研究和实际应用中经常遇到下类问题:在选定的一类函数中寻找某个函数g,使它是已知函数ƒ在一定意义下的近似表示,并求出用g近似表示ƒ而产生的误差.这就是函数逼近问题.在函数逼近问题中,用来逼近已知函数ƒ的函数类可以有不同的选择;即使函数类选定了,在该类函数中用作ƒ的近似表示的函数g 的确定方式仍然是各式各样的;g对ƒ的近似程度(误差)也可以有各种不同的含义.所以函数逼近问题的提法具有多样的形式,其内容十分丰富.给定函数)(xf的函数一般要在某个较简单的函数类中找,这种f,用来逼近)(x函数类叫做逼近函数类.逼近函数类可以有多种选择.第一章 函数逼近§1.1 函数逼近的产生背景及研究意义从18世纪到19世纪初期,在L.欧拉、P.-S.拉普拉斯、J.-B.-J.傅里叶、J.-V .彭赛列等数学家的研究工作中已涉及一些个别的具体函数的最佳逼近问题.这些问题是从诸如绘图学、测地学、机械设计等方面的实际需要中提出的.在当时没有可能形成深刻的概念和统一的方法.切比雪夫提出了最佳逼近概念,研究了逼近函数类是n 次多项式时最佳逼近元的性质,建立了能够据以判断多项式为最佳逼近元的特征定理.他和他的学生们研究了与零的偏差最小的多项式的问题,得到了许多重要结果.1885年德国数学家K .(T.W .)魏尔斯特拉斯在研究用多项式来一致逼近连续函数的问题时证明了一条定理,这条定理在原则上肯定了任何连续函数都可以用多项式以任何预先指定的精确度在函数的定义区间上一致地近似表示.虽然没有指出应该如何选择多项式才能逼近得最好,但仍可以说切比雪夫和魏尔斯特拉斯是逼近论的现代发展的奠基者.在自然科学与科学技术领域中存在着大量的需要解决的非线性问题.近年来人们在数值与函数逼近问题以及计算机辅助几何设计的研究中取得了一系列深刻的结果.随着高性能、大容量计算机的出现,使得过去难以实现的问题变为可能,所以关于函数逼近的理论研究和应用有着巨大的发展潜力.我们举一个例子,如()x +1ln 有如(1-1)式的分式展开.⋅⋅⋅+++++=+524221211)1(2222xx x x x x In (1-1)n R 2n T 1 0.667 0.26⨯10-1 0.5 0.19 2 0.69231 0.84⨯10-3 0.58 0.11 3 0.6931220.25⨯10-40.617 0.76⨯10-1 40.69314642 0.76⨯10-60.6340.58⨯10--2由表1-1可知,R4(1) 比T8(1)的精确度高几乎105倍.这就说明开展某些函数的有理逼近或一般非线性逼近问题的研究是十分必要的.随着科学技术的不断发展,函数逼近方法已在实际应用中显示出巨大的优势和开发潜力.§1.2 基础知识§在数值计算中经常要计算函数值,如计算机上计算基本初等函数及其他特殊函数.这些都涉及到用多项式、有理分式或分段多项式等便于在计算机上计算的简单函数逼近已给函数,使它达到精度要求而且计算量尽量小.数值逼近是数值计算中最基本的问题.为了在数学上描述更精确,下面先介绍一些基本概念及预备知识.数学上常把在各种集合中引入某些不同的确定关系称为赋予集合以某种空间结构,并将这样的集合称为空间.例如,在“线性代数”中将所有实n 组成的,按向量加法及向量与数的乘法构成实数域上的线性空间记作n R ,称为n 维向量空间.类似地,对次数不超过n 的实系数多项式全体,按通常多项式加法及数与多项式乘法也构成数域R 上的一个线性空间,用n H 表示,称为多项式空间.又如所有定义在区间],[b a 上的连续函数集合,按函数加法和数与函数乘法构成数域R 上的线性空间,记作],[b a C 称为函数空间.定义1.1 设集合S 是数域P 上的线性空间,S x x n ∈,...,1,如果存在不全为零的数P a a n ∈,...,1使得0...2211=+++n n x a x a x a (1-2)则称n x x ,,1⋅⋅⋅是线性相关的;否则,若等式(1-2)只对021==⋅⋅⋅==n a a a 成立,则称n x x ,,1⋅⋅⋅是线性无关的.若S 是由n 个线性无关元素 n x x ,,1⋅⋅⋅生成的,即S x ∈∀都n n x a x a x +⋅⋅⋅+=11,则称 n x x ,,1⋅⋅⋅是S 的一组基,记作}{1n x x span S ⋅⋅⋅=,并称S 是n 维的.下面考察次数不超过n 的多项式集合n H ,其元素n n n x a x a a x p ⋅⋅⋅++=10)(是由1+n 个系数(n a a a ⋅⋅⋅10,)唯一确定的,n x x ⋅⋅⋅,1, 线性无关,n H =span {n x x ,,,1⋅⋅⋅},(n a a a ,,,10⋅⋅⋅)是)(x p n 的坐标向量,故n H 是1+n 维的.对连续函数],[)(b a C x f ∈不能用有限个线性无关的函数表示,故],[b a C 是无限维的,但)(x f 可用有限维的多项式空间n H 的元素)(x p 逼近,使误差ε≤-≤≤)()(max x p x f bx a (任何给定的正数),这就是著名的维尔斯特拉斯定理.定理1.1 设],[)(b a C x f ∈,则对∈∃>∀)(,0x p n εn H 使得ε<-)()(x p x f 在],[b a 上一致成立.1912年伯恩斯坦构造了一个多项式(,)()(1)nn k n k n k k kB f x fC x x n -==-∑其中(1)(1)!n k n n n k C k -⋅⋅⋅-+=为二项式展开系数,并证明了lim (,)n x B f x →∞在[0,1]上一致成立,若()f x 在[0,1]上m 阶可导则还有()()lim (,)()m m n x B f x f x →∞=.这也从理论上给出了定理1.1的证明.§为了在线性空间中衡量元素的大小,可将在n R 空间的范数定义推广到一般线性空间S .定义1.2 设S f ∈,若存在唯一实数•,满足条件1.0≥f 当且仅当0=f 时0≡f ; 2.R a f a af ∈=,; 3.S g f g f g f ∈∀+≤+,,;则称•为线性空间S 上的范数.在线性空间S 上定义了范数•,称为赋范线性空间,记为X .例如,在n R 上的向量T n x x x )(,1⋅⋅⋅=的三种常用范数为i ni x x≤≤∞=1max ,称∞-范数或最大范数;∑==ni ixx11,称为1-范数;21122)(∑==ni i x x,称为2-范数.类似地对连续函数空间],[b a C 的)(x f 也可以定义以下三种范数:)(max x f fbx a ≤≤∞=,称为∞-范数;dx x f f ba ⎰=)(1,称为1-范数;2122))((dx x f fba⎰=,称为2-范数.可以验证,这样定义的范数∞•,1•,2•满足定义1.2中的3个条件.定义1.3 设X 为赋范线性空间,其范数为•,若序列X ⊂∞0n }{ϕ,X f ∈,使0lim =-∞→fn n ϕ则称序列∞0}{n ϕ依范数•收敛于f ,记作f n n =∞→ϕlim .对],[)(b a C x f ∈及∞•,上述 收敛定义就是∞0}{n ϕ在区间[b a ,]上一致收敛于)(x f .若范数为2-范数,则称上述收敛定义为平方收敛或均方收敛.§1.3 最佳平方逼近§现在我们研究在区间[]b a ,上一般的最佳平方逼近问题.定义1.4 对[]b a C x f ,)(∈中的一个子集{)}(),...(),(10x x x span n ψψψψ=,求ψ∈)(*x S , 使:⎰-=-=-∈∈bax S x S dx x S x f x x S x f x S x f 2)(22)(22*)]()()[()()()()(min min ρψψ,称)(*x S 是)(x f 在子集ψ中的最佳平方逼近函数.若令)()()(*x S x f x -=δ,则平方误差为∑=-=--=--=nk k x f x a x f x f x S x f x f x S x f x S x f x 022***22))(),(()( ))(),(())()(( ))()(),()(()(ψδ (1-3) 若取[]1,0)(,1)(,)(C x f x x x k k ∈≡=ρψ,在n P 中求n 次最佳平方逼近多项式:nn x a x a a x S **1*0*...)(++=此时 11))(),((10++==⎰+j k dx x x x j k k j ψψk k k d dx x x f x x f ==⎰1)())(),((ψ若用H 表示),....,1(n n x x G G =对应的矩阵,即:121...2111............21...312111...211+++++n n n n n 称为希尔伯特(Hilbert)矩阵,记T n a a a a ),...,,(10=T n d d d d ),...,,(10=,则: d Ha =的解*kk a a =),...,2,1,0(n k =即为所求. §用},....,1{n x x 做基,求最佳平方逼近多项式,当n 较大时,系数矩阵是高度病态的,因此直接求解法方程是相当困难的,通常是采用正交多项式做基.下面介绍如何用正 交函数组作最佳平方逼近.设[]b a C x f ,)(∈{})(),...(),(10x x x span n ψψψψ=, 若)(),...(),(10x x x n ψψψ是正交函数族,则:0))(),((=x x j i ψψj i ≠.而0))(),((>x x j i ψψ, 故法方程的系数矩阵))(),...(),((10x x x G n n ψψψ=为非奇异对角阵, 且法方程的解为:))(),())(),((*x x x x f a k k k k ψψψ= ),...,2,1,0(n k = (1-4)于是[]b a C x f ,)(∈在ψ中的最佳平方逼近函数为:)()())(),(()(022*x x x x f x S k nk k k ψψψ∑== (1-5)由(1-3)可得均方误差为21202222*2)])())(),(([)(( )()()(∑=-=-=nk k k n n x x x f x f x S x f x ψψδ (1-6)由此可得贝赛尔不等式:22122*)())((x f x ank k k≤∑=ψ若[]b a C x f ,)(∈按正交函数族)}({x k ψ展开,系数*ka ),...,2,1,0(n k =按(1-4)计算,得级数∑∞=0*)(k k k x a ψ,称为)(x f 的广义傅立叶级数,系数*ka 称为广义傅立叶系数. 它是傅立叶级数的直接推广.设{})(),...(),(10x x x n ψψψ是正交多项式,{})(),...(),(10x x x span n ψψψψ=,)(x k ψ,),...,2,1,0(n k =可由n x x ,...,1, 正交化得到,则有下面的收敛定理.定理 1.2 设[]b a C x f ,)(∈,)(*x S 是由(1-5)给出的)(x f 的最佳平方逼近多项式,其中{})(),...(),(10x x x n ψψψ是正交多项式族,则有0)()(lim 2*=-∞→x S x f nn . 下面考虑函数[]1,1)(-∈C x f ,按勒让德多项式{})(),...(),(10x P x P x P n 展开,由(1-4), (1-5)可得)(...)()()(*1*10*0*x P a x P a x P a x S n n n ++= (1-7)其中()()()()()()()()⎰-+==11*212,,dx x P x f k x P x P x P x f ak k k k k(1-8) 根据(1-6),平方误差为: ()()∑⎰=-+-=nk k k a k dx x fx 02*11222121δ 由定理1可得: 0)()(lim 2*=-∞→x S x f nn 如果)(x f 满足光滑性条件还可得到)(*x S n 一致收敛于)(x f 的结论.定理 1.3 设[]1,1)(2-∈C x f f(x)∈C 2[-1,1],)(*x S n 由(1-7)给出,则对任意[]1,1-∈x 任意0>ε当n 充分大时有:()()nx S x f n ε≤-*.对于首项系数为1的勒让德多项式n P 有以下性质:定理1.4 在所有最高次项系数为1的n 次多项式中,勒让德多项式()x P n 在[]1,1-上与零的平方误差最小.§1.4 有理逼近§有理逼近作为非线性逼近的一个重要特殊情形,其实就是用一个易于计算的有理函数来有效地近似较复杂的已知函数.下面引进有理逼近方法,先介绍有理函数插值的概念.设已给定m+n+1个不同的点n m x x x +,...,,10和相应地函数值()()()n m x f x f x f +,...,,10,所谓的有理函数插值问题,乃是求有理分式函数1110111,)()()(b x b x b x b a x a x a x a x D x N x R n n n n m m m m n m n m ++⋅⋅⋅++++⋅⋅⋅++==---- 使之满足插值条件如下)()(,j j n m x f x R =,n m j +⋅⋅⋅=,,1,0其中()x N m ,()x D n 分别为x 的m 与n 次多项式,m 与n 是给定的非负整数.有理函数的逼近方法是用有理函数()()()x D x N x R n m n m =,来近似函数()x f .即令()()()x D x N x f n m ≈,()()()x D x f x N n m ≈比较两边的系数,可得∑∞=++=-01)()()(k kk n m n m xr xx D x f x N用()x R n m ,近似()x f 时,其截断误差的主要部分是()x x r E n n m 10++=(这里设()∑∞==0k k k x c x f ),大量计算例子表明,采用m,n 相等或接近相等时为最佳.对于有理逼近中有理函数的构造存在着许多种构造方法(如多项式、有理分式等).但在通常情况下一般利用连分式来构造有理函数()x R n m ,.首先按递推的方法给出如下式倒差商的定义.⎪⎪⎪⎩⎪⎪⎪⎨⎧+⋅⋅⋅=--=⋅⋅⋅⋅⋅⋅--==----n m k x a x a x x x a x a x a x x x a x f x a k k k k k ,,2,1,)()()()()()()()(1111000010设连分函数如下nm n m a x x x x a x x a x x a x R +++-+-+-+-+=1221100)(一般写成nm n m a x x a x x a x x a x R +++-+⋅⋅⋅+-+-+=121100)( 其中()x a a 00=,()x a a 11=,...,()x a a n m n m ++=为倒差商.将右式整理,即完成了有理函数()x R mn 的构造.例如函数x f +=1,可以利用逐次迭代算法的到如下式形式的连分式展开.因为x f +=1,即为x f =-12.⇒++=11f xf )))1(11(11(1f xx x f ++++++=用)1(1f xf ++=无限迭代下去就可以得到x f +=1的连分式展开如下 ⋅⋅⋅+⋅⋅⋅+++=+22211xx x xm,n 相等或接近相等时为最佳.§有理插值函数的存在性关于有理函数插值的定义在本文第二章中已经详细给出.在其基础上定义两个有理函数如下)()()(111x q x p x r =, )()()(222x q x p x r = 如果存在一个非零常数a ,使得)()()()(1212x aq x q x ap x p ==, (1-9)则称二者恒等,并记为)()(21x r x r ≡.如果满足式(1-10),则称两个有理函数r 1(x)与r 2(x)等价,记为()()x r x r 21~.)()()()(1221x q x p x q x p ≡ (1-10)一般来说,插值问题(1-9)、(1-10)所形成的问题是一个非线性问题.但是当有理分式函数r(x) = p(x)/q(x)是插值问题的解时,当然也有。
数值分析第三章

称为1 − 范数 , 称为 2 − 范数 .
(
b 2 ∫a f ( x )dx
),
1 2
三、内积与内积空间
R n中向量x及y定义内积 : ( x, y ) = x1 y1 + L + x n y n .
定义3 上的线性空间, 定义3 设X是数域 K ( R或C)上的线性空间,对 ∀u, v ∈ X, 中一个数与之对应, 并满足条件: 有K中一个数与之对应,记 为( u, v ),并满足条件: (1) ( u,v ) = (v , u), ∀u,v ∈ X ; (2) (αu,v ) = α ( u,v ), α ∈ R; (3) ( u + v , w ) = ( u,w ) + (v,w ), ∀u,v,w ∈ X ; (4) ( u, u) ≥ 0, 当且仅当 u = 0时, , u) = 0. (u 则称( u, v )为X上的u与v的内积. 定义了内积的线性空间 称 的共轭, 为内积空间. (v , u)为( u,v )的共轭,当 K = R时 (v , u) = ( u,v ).
2)
j =1
∑ α ju j = 0 ⇔ ( ∑ α ju j , ∑ α ju j ) = 0
j =1 n j =1
n
n
n
⇔ ( ∑ α j u j , uk ) = 0, k = 1,L, n.
j =1
∴ G非奇异 ⇒ u1 , u2 ,L, un线性无关 (反证法 );反之亦然 .
在内积空间X上可以由内积导出一种范数, 即对u ∈ X , 记 || u ||= (u , u ), Cauchy − Schwarz不等式得出. (1.10) 易证它满足范数定义的正定性和齐次性, 而三角不等式由
实验二函数逼近与曲线拟合

《数值分析》课程设计实验报告实验二函数逼近与曲线拟合一、问题提出从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。
在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量与时间t 的拟合曲线。
二、实验步骤先写出线性最小二乘法的M文件function c=lspoly(x,y,m)% x是数据点的横坐标组成的向量,y是纵坐标组成的向量% m是要构成的多项式的次数,c是多项式由高到低次的系数所组成的向量n=length(x);b=zeros(1:m+1);f=zeros(n,m+1);for k=1:m+1f(:,k)=x.^(k-1);enda=f'*f;b=f'*y';c=a\b;c=flipud(c);方法一:近似解析表达式为:y(t)=a1t+a2t2+a3t3第二步在命令窗口输入:lspoly([0,5,10,15,20,25,30,35,40,45,50,55],[0,1.27,2.16,2.86,3.44 ,3.87,4.15,4.37,4.51,4.58,4.02,4.64],2)回车得到:ans =0.0000-0.00520.26340.0178即所求的拟合曲线为y=-0.0052t2+0.2634t+0.0178在编辑窗口输入如下命令:>>x=[0,5,10,15,20,25,30,35,40,45,50,55];y=[0,1.27,2.16,2.86,3.44, 3.87,4.15,4.37,4.51,4.58,4.02,4.64];>> t=0:0.1:55;>> z=-0.0052*t.^2+0.2634*t+0.0178;>> plot(x,y,'ro',t,z);grid命令执行得到如下图(图2-1)0102030405060拟合多项式与数据点的关系方法二:假设近似表达式为:y(t)=c0+c1t+c2t2第一步在命令窗口输入:>>lspoly([0,5,10,15,20,25,30,35,40,45,50,55],[0,1.27,2.16,2.86,3. 44,3.87,4.15,4.37,4.51,4.58,4.02,4.64],2)回车得到:ans =-0.00240.20370.2305即所求的拟合曲线为y=-0.0024t2+0.2037t+0.2305在编辑窗口输入如下命令:>>x=[0,5,10,15,20,25,30,35,40,45,50,55];y=[0,1.27,2.16,2.86,3.44,3.87,4.15,4.37,4.51,4.58,4.02,4.64];>> t=0:0.1:55;>> z=-0.0024*t.^2+0.2037*t+0.2305;>> plot(x,y,'ro',t,z);grid命令执行得到如下图(图2-2)拟合多项式与数据点的关系三、实验结论在利用数据的最小二乘法求拟合曲线时,选取合适的近似表达式很重要,应通过不断的试验找出较为合适的近似表达式,这样才能尽可能的提高拟合精度。
5函数逼近与曲线拟合.docx

第5章函数逼近与曲线拟合上一章讨论的是函数插值问题,通常都是用一个多项式来代替一个已知的函数,它们在 给定的插值基点上有相同的函数值,是对原函数的一-种近似。
然而,在实际应用中插值问题 仍有明显的缺点:对于有解析式的函数而言,在其它点上误差可能很大,如龙格现象;对于 离散(表)函数而言,给定的数据点本身是有误差的,刚性地让插值函数通过这些点不仅没 有意义,而且会影响对原函数的近似程度。
另外,泰勒展示也是对连续函数的一种低阶近似, 它在展开点附近误差较小,但在展开点远处,误差会很大。
本章讨论在新的函数谋旁度最条件下的函数近似问题,对连续函数称之为函数逼近问题, 对于离散函数称之为dii 线拟合问题。
主要内容有:函数最佳逼近的概念,正交多项式,最佳 均方逼近少最小二乘曲线拟合问题等。
5.1函数最佳逼近的概念希望能有一种方法寻求出一个近似多项式,使它在整个区间上既均匀的逼近/(%),所需 的计算呆又小,这就是函数逼近要解决的问题。
为了刻划“均匀逼近”,设P n (x)是定义在区 间[a,b ]上原函数/(x)的近似多项式。
我们用||/(x) -p n (x)||来度量p n (x)与/(x)近似逼近 程度。
这样,自然地会有下面两种不同的度暈标准:fM- p n (x)使丿IJ 这个度量标准的函数逼近称为均方逼近或平方逼近;/W 一 p n (x) = max f(x) 一 p n (x) 使用这个度量标准的函数逼近称为一致逼近或均匀逼近o关于一致逼近的问题,在数学分析中有以下结论。
设函数/(X )在区间[a,b ]上连续,若£>0,则存在多项式P(x)使|/(x)-P(x)|<£,在区间[a,b ]上一致成立。
对于函数插值而 言,如果插值余项也能满足对任意的£〉0, \R n (x)\ = \f(x)-p n M\<e 都成立的话,贝闹 值多项式P n M 是/(Q 的一致逼近多项式。
实验指导书_函数逼近

实验指导书_函数逼近与曲线拟合曲线拟合:由一组实验数据},,2,1),,{(n i y x i i =,选择一个较简单的函数)(x f (如多项式),在一定准则下,最接近这组数据.函数逼近:已知一个较为复杂的连续函数],[),(b a x x y ∈,要求选择一个较简单的函数)(x f ,在一定准则下最接近)(x y .掌握内容:切比雪夫零点插值、最佳平方逼近、曲线拟合的最小二乘法的Matlab 实现一、切比雪夫零点插值1.算法原理设1[,],()+∈n n f C a b L x 是以,0,1,,22-+=+= k k b a a bx t k n 为插值节点的Lagrange 插值多项式,其中21cos,0,1,,2(1)π+==+ k k t k n n 是Chebyshev 多项式1()n T x +的零点,此时插值误差最小,误差(余项)估计公式为:1(1)21()()()()max ()2(1)!+++≤≤-=-≤+n n n n n a x bb a R x f x L x f x n2.实例例1(P64例4) 求()x f x e =在[0,1]上的四次Lagrange 插值多项式4()L x ,插值节点用5()T x 的零点,并估计误差401max ().x x e L x ≤≤-首先编写Lagrange 插值主程序,并保存为lagrange.mfunction[L ,C, l ,L1]= lagrange (X,Y)%输入的量:n+1个节点(xi,yi)的横坐标向量X ,纵坐标向量Y ;%输出的量:n 次拉格朗日插值多项式L 及其系数向量C ,基函数l 及其系数矩阵L1 m=length(X); L=ones(m,m); for k=1: m V=1; for i=1:m if k~=iV=conv(V ,poly(X(i)))/(X(k)-X(i)); end endL1(k,:)=V; l(k,:)=poly2sym (V); endC=Y*L1; L=Y*l; l=vpa(l,4); L=vpa(L,4);然后编写如下程序,并保存为lc_P64eg4.m%P64eg4求Lagrange- Chebyshev 多项式的程序lc_P64eg4.m %X 为插值节点%L 为Lagrange- Chebyshev 多项式的表达式%C 为按降幂排列的Lagrange- Chebyshev 多项式的系数 %R 为误差限 clear;format short g s=1;for k=0:4X(k+1)=(1+cos((2*k+1)*pi/10))/2; Y(k+1)=exp(X(k+1)); s=s*(k+1); end X,[L ,C, l ,L1]= lagrange(X,Y); L, C,R=2.71828/(s*2^9)x=linspace(X(1), X(5),50); y=polyval(C,x); y1=exp(x);plot(X,Y,'r*',x,y,'r-') figure,plot(X,Y,'r*',x,y1,'b-') figure,plot(X,Y,'r*',x,y,'r-',x,y1,'b-')在Matlab 窗口中运行程序lc_P64eg4.m >> lc_P64eg4 X =0.97553 0.79389 0.5 0.20611 0.024472 L =.9988*x+.1403*x^3+.6942e-1*x^4+.5098*x^2+1.000 C =0.069416 0.14028 0.50978 0.99876 1 R =4.4243e-005图1.()xf x e 在[0,1]上的四次Lagrange- Chebyshev 插值多项式例2 (P65例5)设211()f x x =+,在[-5,5]上利用11()T x 的零点作插值点,构造10次拉格朗日插值多项式 10()L x ,并与等距节点的10()L x 近似()f x 作比较. 首先编写如下程序,并保存为lc_P65eg5.m%P64eg4求Lagrange- Chebyshev 多项式的程序lc_P65eg5.m%X 为Chebyshev 零点%L 为Lagrange- Chebyshev 多项式的表达式%C 为按降幂排列的Lagrange- Chebyshev 多项式的系数 %L1为等距节点多项式的表达式%C1为按降幂排列的等距节点多项式的系数 clear;format short for k=0:10X(k+1)=(10*cos((2*k+1)*pi/22))/2; Y(k+1)=1/(1+X(k+1)^2); end X,[L ,C, l ,L1]= lagrange(X,Y); L,C,x=linspace(X(1), X(11),100); y=polyval(C,x); y1=1./(1+x.^2);X1=linspace(-5,5,11); Y1=1./(1+X1.^2);[L1 ,C1, l1 ,L11]= lagrange(X1,Y1); L1,C1,X2=-5:0.1:5;Y2=polyval(C1,X2);plot(X,Y ,'r*',x,y,'r-',x,y1,'b-',X1,Y1,'O',X2,Y2,'k-') gtext('切比雪夫插值点r*') gtext('切比雪夫插值曲线r-') gtext('被插函数曲线b-') gtext('等距节点插值点o')gtext('等距节点插值多项式k-')在Matlab 窗口中运行程序lc_P65eg5.m,得如下图形结果(这里,数值结果略,请自己运行观察)图2. 211()f x x=+在[-5,5]上的插值多项式 10()L x 与10()L x二、最佳平方多项式逼近1.求定义在区间[a ,b ]上的已知函数最佳平方逼近多项式的算法(1)设已知函数()f x 的最佳平方逼近多项式为01()n n p x a a x a x =+++ ,由最佳平方逼近的定义有:010012(,,)(,,,,)n iF a a a i n a ∂==∂其中()20101(,,)()()b nn n aF a a a f x aa x a x dx =-+++⎰(2)求多项式()p x 系数的法方程:Ca D =,其中1211222111212()(),()(b bb bbn na aa a a bbb b b n n a aa aa b bb b b n n n n n a aa aa bbb bn n n n naaa a dx xdx x dx x dx f x dx xdx x dx x dx x dx xf x dx C D x dx x dxx dx x dx x f x dx x dx x dx x dx x dx x f x -+----+-⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰)b a dx ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎰2.求定义在区间[a ,b ]上的已知函数最佳平方逼近多项式的主程序function [coff,d]=ZJPF(func,n,a,b) %func:已知函数%n:最佳平方逼近多项式的最高次数 %a:逼近区间的左端点 %b:逼近区间的右端点%coff:按升幂排列的逼近多项式的系数 % d:法方程的右端项 C = zeros(n+1,n+1);var = findsym(sym(func)); func = func/var; for i=1:n+1C(1,i)=(power(b,i)-power(a,i))/i; %算法中的C 矩阵的第一行 func = func*var;d(i,1)=int(sym(func),var,a,b); %算法中的D 向量的第一行 endfor i=2:n+1C(i,1:n)=C(i-1,2:n+1); f1 = power(b,n+i); f2 = power(a,n+i);C(i,n+1)=(f1-f2)/(n+i); %形成C 矩阵 endcoff = C\d; %求解逼近多项式的系数3.例题(教材P68例6)设211()f x x =+,求[0,1]上的一次最佳平方逼近多项式.首先编写被逼近函数的M 文件,并保存为funcp68eg6.m function f=funcp68eg6() syms xf=sqrt(1+x^2);然后编写如下程序,并保存为p68_eg6.m %p68_eg6.m clear;[coff,d]=ZJPF(funcp68eg6,1,0,1); coff=vpa(coff)x = findsym(sym(funcp68eg6)); func=funcp68eg6*funcp68eg6;PFWC=vpa(int(sym(func),x,0,1)-coff'*d,4)运行结果>> p68_eg6 coff =[ .9343200492928959528618412015402] [ .4269470508068461683106156461091] PFWC = .12e-2三、曲线拟合的最小二乘法1. 多项式拟合及其MATLAB 程序面对一组数据,,,2,1),,(n i y x i i = 用线性最小二乘法作曲线拟合时,如果选取一组函数02(),(),,()m x x x ϕϕϕ 为)(,,,,12n m x x x m < ,则拟合曲线为多项式11++++=m m m a x a x a y .一般m = 2,3, 不宜过高.对于指数曲线,拟合前需作变量代换,化为系数参数的线性函数.2. 用MATLAB 作线性最小二乘拟合的多项式拟合用MATLAB 作线性最小二乘拟合的多项式拟合有现成程序. 调用格式为: a=polyfit(x,y,m)其中输入参数 x ,y 为要拟合的数据,是长度自定义的数组,m 为拟合多项式的次数,输出参数a 为拟合多项式:11++++=m m m a x a x a y的系数向量a ),,,(11+=m m a a a .(注意:按降幂排列)3. 多项式在x 处的值y 的计算: y=polyval(a,x)例 给出一组数据点),(i i y x 列入下表中,试用线性最小二乘法求拟合曲线,.解(1)首先根据给出的数据点),(i i y x ,用下列MATLAB 程序画出散点图. 在MATLAB 工作窗口输入程序>> x=[-2.9 -1.9 -1.1 -0.8 0 0.1 1.5 2.7 3.6];y=[53.94 33.68 20.88 16.92 8.79 8.98 4.17 9.12 19.88]; plot(x,y,'r*'), legend('数据点(xi,yi)') xlabel('x'), ylabel('y'),title('例7.4.1的数据点(xi,yi)的散点图')运行后屏幕显示数据的散点图,见图3.(2)因为数据的散点图3的变化趋势与二次多项式很接近,所以选取一组函数2,,1x x ,令3221)(a x a x a x f ++=,其中k a 是待定系数)3,2,1(=k .(3)用作线性最小二乘拟合的多项式拟合的MATLAB 程序求待定系数k a)3,2,1(=k .输入程序>> a=polyfit(x,y,2)运行后输出按拟合多项式的系数a =2.8302 -7.3721 9.1382故拟合多项式为2138.91372.72830.2)(2+-=x x x f .(4)编写下面的MATLAB 程序估计其误差,并做出拟合曲线和数据的图形.输入程序>> xi=[-2.9 -1.9 -1.1 -0.8 0 0.1 1.5 2.7 3.6];y=[53.94 33.68 20.88 16.92 8.79 8.98 4.17 9.12 19.88]; n=length(xi); f=2.8302.*xi.^2-7.3721.*xi+9.1382 x=-2.9:0.001:3.6;F=2.8302.*x.^2-7.3721.*x+8.79; fy=abs(f-y); fy2=fy.^2; Er=sqrt((sum(fy2)/n)), plot(xi,y,'r*', x,F,'b-'),legend('数据点(xi,yi)','拟合曲线y=f(x)') xlabel('x'), ylabel('y'), 运行后屏幕显示数据),(i i y x 与拟合函数f 的均方根误差E 2及其数据点(x i ,y i )和拟合曲线y =f (x )的图形,见图4.图3图4。
李庆扬数值分析第五版习题答案解析清华大学出版社

又
即计算值比准确值大。
故 在 内至少有三个互异零点,
依此类推, 在 内至少有一个零点。
记为 使
又
其中 依赖于
分段三次埃尔米特插值时,若节点为 ,设步长为 ,即
在小区间 上
16.求一个次数不高于4次的多项式P(x),使它满足
解:利用埃米尔特插值可得到次数不高于4的多项式
设
其中,A为待定常数
从而
17.设 ,在 上取 ,按等距节点求分段线性插值函数 ,计算各节点间中点处的 与 值,并估计误差。
19。观测物体的直线运动,得出以下数据:
时间t(s)
0
0.9
1.9
3.0
3.9
5.0
距离s(m)
0
10
30
50
80
110
求运动方程。
解:
被观测物体的运动距离与运动时间大体为线性函数关系,从而选择线性方程
令
则
则法方程组为
从而解得
故物体运动方程为
20。已知实验数据如下:
19
25
31
38
44
19.0
32.3
将 代入得
由此得矩阵开工的方程组为
求解此方程组,得
又 三次样条表达式为
将 代入得
21.若 是三次样条函数,证明:
若 ,式中 为插值节点,且 ,则
证明:
从而有
第三章 函数逼近与曲线拟合
1. ,给出 上的伯恩斯坦多项式 及 。
解:
伯恩斯坦多项式为
其中
当 时,
当 时,
2.当 时,求证
证明:
若 ,则
3.证明函数 线性无关
解:
采用复化梯形公式时,余项为
曲线拟合实验报告材料

数值分析课程设计报告学生姓名学生学号所在班级指导教师一、课程设计名称函数逼近与曲线拟合二、课程设计目的及要求实验目的:⑴学会用最小二乘法求拟合数据的多项式,并应用算法于实际问题。
⑵学会基本的矩阵运算,注意点乘和叉乘的区别。
实验要求:⑴编写程序用最小二乘法求拟合数据的多项式,并求平方误差,做出离散函数( )和拟合函数的图形;⑵用MATLAB 的内部函数polyfit 求解上面最小二乘法曲线拟合多项式的系数及平方误差,并用MATLAB 的内部函数plot 作出其图形,并与(1)结果进行比较。
三、课程设计中的算法描述用最小二乘法多项式曲线拟合,根据给定的数据点,并不要求这条曲线精确的经过这些点,而是拟合曲线无限逼近离散点所形成的数据曲线。
思路分析:从整体上考虑近似函数)(x p 同所给数据点)(i i y x ,误差i i i y x p r -=)(的大小,常用的方法有三种:一是误差i i i y x p r -=)(绝对值的最大值i mi r ≤≤0max ,即误差向量的无穷范数;二是误差绝对值的和∑=mi i r 0,即误差向量的1范数;三是误差平方和∑=mi i r 02的算术平方根,即类似于误差向量的2范数。
前两种方法简单、自然,但不便于微分运算,后一种方法相当于考虑2范数的平方,此次采用第三种误差分析方案。
算法的具体推导过程: 1.设拟合多项式为:2.给点到这条曲线的距离之和,即偏差平方和:3.为了求得到符合条件的a 的值,对等式右边求 偏导数,因而我们得到了:4.将等式左边进行一次简化,然后应该可以得到下面的等式5.把这些等式表示成矩阵的形式,就可以得到下面的矩阵:⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡∑∑∑∑∑∑∑∑∑∑∑=====+==+====n i i n i n i i k n i k i ni k ini k i n i k i ni in i ini k ini iy y y a a x xx x xxx x 11i 110121111112111a n6. 将这个范德蒙得矩阵化简后得到⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡n k k n n k k y y y a a a x x x x x x 21102211111 7.因为Y A X =*,那么X Y A /=,计算得到系数矩阵,同时就得到了拟合曲线。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二 函数逼近与曲线拟合报告一、问题提出从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。
在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量与时间t 的拟合曲线。
t(分) 0 5 10 15 20 25 30 35 40 45 50 554(10)y -⨯0 1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64二、要求1、用最小二乘法进行曲线拟合;2、近似解析表达式为23123()t a t a t a t ϕ=++;3、打印出拟合函数()t ϕ,并打印出()j t ϕ与()j y t 的误差,1,2,,12j = ;4、另外选取一个近似表达式,尝试拟合效果的比较;5、* 绘制出曲线拟合图。
三、目的和意义1、掌握曲线拟合的最小二乘法;2、最小二乘法亦可用于解超定线代数方程组;3、探索拟合函数的选择与拟合精度间的关系。
四、实验学时:2学时五、实验步骤:1.进入C 或matlab 开发环境;2.根据实验内容和要求编写程序;3.调试程序;4.运行程序;5.撰写报告,讨论分析实验结果.解:实验步骤(一)算法流程构造a1、a2、a3的线性方程组------构造误差平方和------对a1、a2、a3求偏导数------令偏导为零求得a1、a2、a3的值。
(二)编程步骤与分析1. 绘制数据点(t,yi)的散点图输入程序为:t=[0 5 10 15 20 25 30 35 40 45 50 55];y=[0 1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64].*1e-4 plot(t,y,'r*'),legend('实验数据(t,yi)')xlabel('x'), ylabel('y'),title('数据点(t,yi)的散点图'),显示结果为:2.求参数a1、a2、a3的解析表达式计算)(x f 在),(i i y x 处的函数值,即输入程序syms a1 a2 a3t=[0 5 10 15 20 25 30 35 40 45 50 55];fi=a1.*t+ a2.*t.^2+ a3.*t.^3运行后屏幕显示关于a1,a2, a3的线性方程组:fi = [ 0, 5*a1 + 25*a2 + 125*a3, 10*a1 + 100*a2 + 1000*a3, 15*a1 + 225*a2 + 3375*a3, 20*a1 + 400*a2 + 8000*a3, 25*a1 + 625*a2 + 15625*a3, 30*a1 + 900*a2 + 27000*a3, 35*a1 + 1225*a2 + 42875*a3, 40*a1 + 1600*a2 + 64000*a3, 45*a1 + 2025*a2 + 91125*a3, 50*a1 + 2500*a2 + 125000*a3, 55*a1 + 3025*a2 + 166375*a3]构造误差平方和:y=[0 1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64].*1e-4;fy=fi-y; fy2=fy.^2; J=sum(fy.^2);运行后屏幕显示误差平方和如下:J=12650*a1^2+1089000*a1*a2+49967500*a1*a3- (7819978335372091569501*a1)/28823037615171174400000 + 24983750*a2^2 +2386725000*a2*a3-(31331074233255294718193*a2)/2882303761517117440000 +58593218750*a3^2-(274377591928296252150123*a3)/576460752303423488000 +520374483464852566590953249225508026224249/3323069989462289682259517 65070086144000000000000为求a1,a2, a3使J达到最小,只需利用极值的必要条件=∂∂kaJ(k=1,2,3),得到关于a1,a2, a3的线性方程组,这可以由下面的MATLAB程序完成,即输入程序Ja1=diff(J,a1); Ja2=diff(J,a2); Ja3=diff(J,a3);Ja11=simple(Ja1), Ja21=simple(Ja2), Ja31=simple(Ja3),运行后屏幕显示J分别对a1, a2 ,a3的偏导数如下Ja11 =25300*a1 + 1089000*a2 + 49967500*a3 - 27131/100000Ja21 =1089000*a1 + 49967500*a2 + 2386725000*a3 - 217403/20000Ja31 =49967500*a1 + 2386725000*a2 + 117186437500*a3 - 1903877/4000解线性方程组Ja11 =0,Ja21 =0,Ja31 =0,Ja41 =0,输入下列程序A=[25300, 1089000, 49967500; 1089000, 49967500, 2386725000; 49967500, 2386725000, 117186437500];B=[27131/100000, 217403/20000, 1903877/4000];C=B/A运行后求得系数C如下:C =2.6569e-005 -5.2948e-0073.5168e-009故所求的拟合曲线为f(x)=2.6569×10-5t-5.2948×10-7t2+3.5168×10-9t33.估计其误差,并作出拟合曲线和数据的图形输入程序:t=[0 5 10 15 20 25 30 35 40 45 50 55];y=[0 1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64].*1e-4; n=length(t);f=2.6569*1e-5*t-5.2948*1e-7*t.^2+3.5168*1e-9*t.^3;tx=0:1:100;F=2.6569*1e-5*tx-5.2948*1e-7*tx.^2+3.5168*1e-9*tx.^3;fy=abs(f-y); fy2=fy.^2; Ew=max(fy),E1=sum(fy)/n, E2=sqrt((sum(fy2))/n)plot(t,y,'r*'), hold on, plot(tx,F,'b-'), hold offlegend('数据点(t,y)','拟合曲线y=f(x)'),xlabel('x'), ylabel('y'),title('数据点(t,y)和拟合曲线y=f(x)的图形')运行后屏幕显示数据(t,y)与拟合函数f 的最大误差Ew ,平均误差E1和均方根误差E2及其数据点),(i i y x 和拟合曲线y=f(x)的图形。
结果为:最大误差:Ew = 4.2350e-005平均误差:E1 = 9.0785e-006均方根误差:E2 = 1.4684e-0054.用软件自带函数进行三次多项式拟合,比较拟合效果编写程序如下:t=[0 5 10 15 20 25 30 35 40 45 50 55];y=[0 1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64].*1e-4; tx=0:1:100;F=2.6569*1e-5*tx-5.2948*1e-7*tx.^2+3.5168*1e-9*tx.^3;plot(t,y,'r*'), hold on, plot(tx,F,'b-')F1=polyfit(t,y,3)F1=F1(1)*tx.^3+F1(2)*tx.^2+F1(3)*tx+F1(4);plot(tx,F1,'+'),hold offlegend('数据点(t,y)','拟合曲线y=f(x)','拟合曲线y=f1(x)'),xlabel('x'), ylabel('y'),title('数据点(t,y)、拟合曲线y=f(x)、y=f1(x)图形')结果如下图:用软件拟合的三次多项式参数为F1(1)=3.4364e-009 F1(2)=-5.2156e-007F1(3)=2.6340e-005 F1(4)=1.7839e-006故软件拟合出的三次多项式函数为:F1(x)=2.6340×10-5t-5.2156×10-7t2+3.4364×10-9t3与求得给定表达式的拟合函数f(x)=2.6569×10-5t-5.2948×10-7t2+3.5168×10-9t3相比较,对应系数值非常接近,证明了所求解解析表达式的正确性。