关闭

关闭

关闭

封号提示

内容

首页 第09章 插值与拟合.pdf

第09章 插值与拟合.pdf

第09章 插值与拟合.pdf

上传者: Gingerjin 2012-07-26 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《第09章 插值与拟合pdf》,可适用于工程科技领域,主题内容包含第九章插值与拟合插值:求过已知有限个数据点的近似函数。拟合:已知有限个数据点求近似函数不要求过已知数据点只要求在某种意义下它在这些点上的总偏差最小。符等。

第九章插值与拟合插值:求过已知有限个数据点的近似函数。拟合:已知有限个数据点求近似函数不要求过已知数据点只要求在某种意义下它在这些点上的总偏差最小。插值和拟合都是要根据一组数据构造一个函数作为近似由于近似的要求不同二者的数学方法上是完全不同的。而面对一个实际问题究竟应该用插值还是拟合有时容易确定有时则并不明显。插值方法下面介绍几种基本的、常用的插值:拉格朗日多项式插值、牛顿插值、分段线性插值、Hermite插值和三次样条插值。拉格朗日多项式插值插值多项式用多项式作为研究插值的工具称为代数插值。其基本问题是:已知函数)(xf在区间,ba上n个不同点nxxx,,,L处的函数值)(iixfy=),,,(niL=求一个至多n次多项式nnnxaxaax=L)(ϕ()使其在给定点处与)(xf同值即满足插值条件),,,()()(niyxfxiiinL===ϕ())(xnϕ称为插值多项式),,,(nixiL=称为插值节点简称节点,ba称为插值区间。从几何上看n次多项式插值就是过n个点))(,(iixfx),,,(niL=作一条多项式曲线)(xynϕ=近似曲线)(xfy=。n次多项式()有n个待定系数由插值条件()恰好给出n个方程===nnnnnnnnnnyxaxaxaayxaxaxaayxaxaxaaLLLLLLLLLLLLLLL()记此方程组的系数矩阵为A则nnnnnnxxxxxxxxxALLLLLLLLLL)det(=是范德蒙特(Vandermonde)行列式。当nxxx,,,L互不相同时此行列式值不为零。因此方程组()有唯一解。这表明只要n个节点互不相同满足插值要求()的插值多项式()是唯一的。插值多项式与被插函数之间的差)()()(xxfxRnnϕ=称为截断误差又称为插值余项。当)(xf充分光滑时),(),()!()()()()()(baxnfxLxfxRnnnn==ξωξ其中==njjnxxx)()(ω。拉格朗日插值多项式实际上比较方便的作法不是解方程()求待定系数而是先构造一组基函数)())(()()())(()()(niiiiiiniiixxxxxxxxxxxxxxxxxl=LLLL)(,,n,,ixxxxnijjjijL===)(xli是n次多项式满足==ijijxlji)(令=====nininijjjijiiinxxxxyxlyxL)()(()上式称为n次Lagrange插值多项式由方程()解的唯一性n个节点的n次Lagrange插值多项式存在唯一。用Matlab作Lagrange插值Matlab中没有现成的Lagrange插值函数必须编写一个M文件实现Lagrange插值。设n个节点数据以数组,yx输入(注意Matlat的数组下标从开始)m个插值点以数组x输入输出数组y为m个插值。编写一个名为lagrangem的M文件:functiony=lagrange(x,y,x)n=length(x)m=length(x)fori=:mz=x(i)s=fork=:np=forj=:nifj~=kp=p*(zx(j))(x(k)x(j))endends=p*y(k)sendy(i)=send牛顿(Newton)插值在导出Newton公式前先介绍公式表示中所需要用到的差商、差分的概念及性质。差商定义设有函数L,,,),(xxxxf为一系列互不相等的点称jijixxxfxf)()()(ji为)(xf关于点jixx,一阶差商(也称均差)记为,jixxf即jijijixxxfxfxxf=)()(,称一阶差商的差商kikjjixxxxfxxf,,为)(xf关于点kjixxx,,的二阶差商记为,,kjixxxf。一般地称kkkxxxxxfxxxf,,,,,,LL为)(xf关于点kxxx,,,L的k阶差商记为kkkkxxxxxfxxxfxxxf=,,,,,,,,,LLL容易证明差商具有下述性质:,,ijjixxfxxf=,,,,,,kijjkikjixxxfxxxfxxxf==Newton插值公式线性插值公式可表成,)()()(xxfxxxfx=ϕ称为一次Newton插值多项式。一般地由各阶差商的定义依次可得,)()()(xxfxxxfxf=,,)(,,xxxfxxxxfxxf=,,,)(,,,,xxxxfxxxxxfxxxf=LL,,,)(,,,,,,nnnnxxxfxxxxxfxxxfLLL=将以上各式分别乘以,),)((),(,Lxxxxxx)())((nxxxxxxL然后相加并消去两边相等的部分即得,,,,)())((,,,)())((,)()()(nnnnxxxxfxxxxxxxxxfxxxxxxxxfxxxfxfLLLLL=记,,,,)(,,,,)())(()(,,,)())((,)()()(nnnnnnnnxxxxfxxxxxfxxxxxxxRxxxfxxxxxxxxfxxxfxNLLLLLL===ω显然)(xNn是至多n次的多项式且满足插值条件因而它是)(xf的n次插值多项式。这种形式的插值多项式称为Newton插值多项式。)(xRn称为Newton插值余项。Newton插值的优点是:每增加一个节点插值多项式只增加一项即,,,)()()()(=nnnnxxxfxxxxxNxNLL因而便于递推运算。而且Newton插值的计算量小于Lagrange插值。由插值多项式的唯一性可知Newton插值余项与Lagrange余项也是相等的即),()()!()(,,,,)()()(baxnfxxxxfxxRnnnnn==ξωξωL由此可得差商与导数的关系!)(,,,)(nfxxxfnnξ=L其中}{max},{min),,(iniinixx==βαβαξ。差分当节点等距时即相邻两个节点之差(称为步长)为常数Newton插值公式的形式会更简单。此时关于节点间函数的平均变化率(差商)可用函数值之差(差分)来表示。定义设有等距节点),,,(nkkhxxkL==步长h为常数)(kkxff=。称相邻两个节点,kkxx处的函数值的增量),,,(=nkffkkL为函数)(xf在点kx处以h为步长的一阶差分记为kfΔ即),,,(nkfffkkkL==Δ类似地定义差分的差分为高阶差分。如二阶差分为),,,(=ΔΔ=ΔnkfffkkkL一般地m阶差分为),,(L=ΔΔ=Δkfffkmkmkm上面定义的各阶差分又称为向前差分。常用的差分还有两种:=kkkfff称为)(xf在kx处以h为步长的向后差分=hxfhxffkkkδ称为)(xf在kx处以h为步长的中心差分。一般地m阶向后差分与m阶中心差分公式为=kmkmkmfff=kmkmkmfffδδδ差分具有以下性质:(i)各阶差分均可表成函数值的线性组合例如jmkmjjkmfjmf==Δ)(jkmjjkmfjmf==)((ii)各种差分之间可以互化。向后差分与中心差分化成向前差分的公式如下:mkmkmffΔ=mkmkmffΔ=δ等距节点插值公式如果插值节点是等距的则插值公式可用差分表示。设已知节点khxxk=),,,,(nkL=则有)())((!)()())((,,,)(,)()(ΔΔ==nnnnnnxxxxxxhnfxxhffxxxxxxxxxfxxxxfxfxNLLLLL若令thxx=则上式又可变形为!)()()(fnntttftfthxNnnΔΔ=LL上式称为Newton向前插值公式。分段线性插值插值多项式的振荡用Lagrange插值多项式)(xLn近似))((bxaxf虽然随着节点个数的增加)(xLn的次数n变大多数情况下误差|)(|xRn会变小。但是n增大时)(xLn的光滑性变坏有时会出现很大的振荡。理论上当n在,ba内并不能保证)(xLn处处收敛于)(xf。Runge给出了一个有名的例子:,,)(=xxxf对于较大的||x随着n的增大)(xLn振荡越来越大事实上可以证明仅当||x时才有)()(limxfxLnn=而在此区间外)(xLn是发散的。高次插值多项式的这些缺陷促使人们转而寻求简单的低次多项式插值。分段线性插值简单地说将每两个相邻的节点用直线连起来如此形成的一条折线就是分段线性插值函数记作)(xIn它满足iinyxI=)(且)(xIn在每个小区间,iixx上是线性函数),,,(niL=。)(xIn可以表示为==niiinxlyxI)()(===其它时舍去时舍去)(),(,,)(nixxxxxxxixxxxxxxxliiiiiiiiiii)(xIn有良好的收敛性即对于,bax有)()(limxfxInn=。用)(xIn计算x点的插值时只用到x左右的两个节点计算量与节点个数n无关。但n越大分段越多插值误差越小。实际上用函数表作插值计算时分段线性插值就足够了如数学、物理中用的特殊函数表数理统计中用的概率分布表等。用Matlab实现分段线性插值用Matlab实现分段线性插值不需要编制函数程序Matlab中有现成的一维插值函数interp。y=interp(x,y,x,'method')method指定插值的方法默认为线性插值。其值可为:'nearest'最近项插值'linear'线性插值'spline'逐段次样条插值'cubic'保凹凸性次插值。所有的插值方法要求x是单调的。当x为等距时可以用快速插值法使用快速插值法的格式为'*nearest'、'*linear'、'*spline'、'*cubic'。埃尔米特(Hermite)插值Hermite插值多项式如果对插值函数不仅要求它在节点处与函数同值而且要求它与函数有相同的一阶、二阶甚至更高阶的导数值这就是Hermite插值问题。本节主要讨论在节点处插值函数与函数的值及一阶导数值均相等的Hermite插值。设已知函数)(xfy=在n个互异节点nxxx,,,L上的函数值)(iixfy=),,,(niL=和导数值)(''iixfy=),,,(niL=要求一个至多n次的多项式)(xH使得iiyxH=)(iiyxH')('=),,,(niL=满足上述条件的多项式)(xH称为Hermite插值多项式。Hermite插值多项式为==niiiiiiiyyyaxxhxH)')(()(其中==nijjjijixxxxh==nijjjiixxa。用Matlab实现Hermite插值Matlab中没有现成的Hermite插值函数必须编写一个M文件实现插值。设n个节点的数据以数组x(已知点的横坐标)y(函数值)y(导数值)输入(注意Matlat的数组下标从开始)m个插值点以数组x输入输出数组y为m个插值。编写一个名为hermitem的M文件:functiony=hermite(x,y,y,x)n=length(x)m=length(x)fork=:myy=fori=:nh=a=forj=:nifj~=ih=h*((x(k)x(j))(x(i)x(j)))^a=(x(i)x(j))aendendyy=yyh*((x(i)x(k))*(*a*y(i)y(i))y(i))endy(k)=yyend样条插值许多工程技术中提出的计算问题对插值函数的光滑性有较高要求如飞机的机翼外形内燃机的进、排气门的凸轮曲线都要求曲线具有较高的光滑程度不仅要连续而且要有连续的曲率这就导致了样条插值的产生。样条函数的概念所谓样条(Spline)本来是工程设计中使用的一种绘图工具它是富有弹性的细木条或细金属条。绘图员利用它把一些已知点连接成一条光滑曲线(称为样条曲线)并使连接点处有连续的曲率。数学上将具有一定光滑性的分段多项式称为样条函数。具体地说给定区间,ba的一个分划bxxxxann=<<<<=Δ:L如果函数)(xs满足:(i)在每个小区间),,,(,=nixxiiL上)(xs是k次多项式(ii))(xs在,ba上具有k阶连续导数。则称)(xs为关于分划Δ的k次样条函数其图形称为k次样条曲线。nxxx,,,L称为样条节点,,,nxxxL称为内节点nxx,称为边界点这类样条函数的全体记做),(kSPΔ称为k次样条函数空间。显然折线是一次样条曲线。若),()(kSxsPΔ则)(xs是关于分划Δ的k次多项式样条函数。k次多项式样条函数的一般形式为===)(!!)(njkjjkiiikxxkixxsβα其中),,,(kiiL=α和),,,(=njjLβ均为任意常数而<=jjkjkjxxxxxxxx,,)()((,,,=njL)在实际中最常用的是=k和的情况即为二次样条函数和三次样条函数。二次样条函数:对于,ba上的分划bxxxan=<<<=ΔL:则=Δ=),()(!!)(njPjjSxxxxxsβααα()其中<=jjjjxxxxxxxx,,)()((,,,=njL)。三次样条函数:对于,ba上的分划bxxxan=<<<=ΔL:则=Δ=),()(!!!)(njPjjSxxxxxxsβαααα()其中<=jjjjxxxxxxxx,,)()((,,,=njL)。利用样条函数进行插值即取插值函数为样条函数称为样条插值。例如分段线性插值是一次样条插值。下面我们介绍二次、三次样条插值。二次样条函数插值首先我们注意到),()(ΔPSxs中含有n个特定常数故应需要n个插值条件因此二次样条插值问题可分为两类:问题():已知插值节点ix和相应的函数值),,,(niyiL=以及端点x(或nx)处的导数值'y(或ny')求),()(ΔPSxs使得====))('()('),,,,()(nnniiyxsyxsniyxs或L()问题():已知插值节点ix和相应的导数值),,,,('niyiL=以及端点x(或nx)处的函数值y(或ny)求),()(ΔPSxs使得====))(()(),,,,(')('nniiyxsyxsniyxs或L()事实上可以证明这两类插值问题都是唯一可解的。对于问题()由条件()==========')('),,,()()()()(yxxsnjyxxxxxsyxxxsyxxxsjijijijjjααβαααααααααL引入记号TnX),,,,,(=ββαααL为未知向量)',,,,(yyyyCnL=为已知向量。=)()()(LLMMMMMLLLxxxxxxxxxxxxxxxAnnnnn于是问题转化为求方程组CAX=的解TnX),,,,,(=ββαααL的问题即可得到二次样条函数)(xs的表达式。对于问题()的情况类似。三次样条函数插值由于),()(ΔPSxs中含有n个待定系数故应需要n个插值条件已知插值节点ix和相应的函数值),,,,()(niyxfiiL==这里提供了n个条件还需要个边界条件。常用的三次样条函数的边界条件有种类型:(i)nybsyas')(',')('==。由这种边界条件建立的样条插值函数称为)(xf的完备三次样条插值函数。特别地''==nyy时样条曲线在端点处呈水平状态。如果)('xf不知道我们可以要求)('xs与)('xf在端点处近似相等。这时以,,,xxxx为节点作一个三次Newton插值多项式)(xNa以,,,nnnnxxxx作一个三次Newton插值多项式)(xNb要求)(')('),(')('bNbsaNasba==由这种边界条件建立的三次样条称为)(xf的Lagrange三次样条插值函数。(ii)")(",")("ybsyas==。特别地""==nnyy时称为自然边界条件。(iii))(")("),(')('==bsasbsas(这里要求=)(as)(bs)此条件称为周期条件。三次样条插值在Matlab中的实现在Matlab中数据点称之为断点。如果三次样条插值没有边界条件最常用的方法就是采用非扭结(notaknot)条件。这个条件强迫第个和第个三次多项式的三阶导数相等。对最后一个和倒数第个三次多项式也做同样地处理。Matlab中三次样条插值也有现成的函数:y=interp(x,y,x,'spline')y=spline(x,y,x)pp=csape(x,y,conds)y=ppval(pp,x)。其中x,y是已知数据点x是插值点y是插值点的函数值。对于三次样条插值我们提倡使用函数csapecsape的返回值是pp形式要求插值点的函数值必须调用函数ppval。pp=csape(x,y):使用默认的边界条件即Lagrange边界条件。pp=csape(x,y,conds)中的conds指定插值的边界条件其值可为:'complete'边界为一阶导数即默认的边界条件'notaknot'非扭结条件'periodic'周期条件'second'边界为二阶导数二阶导数的值,。'variational'设置边界的二阶导数值为,。对于一些特殊的边界条件可以通过conds的一个矩阵来表示conds元素的取值为。此时使用命令pp=csape(x,yext,conds)其中yext=left,y,right这里left表示左边界的取值right表示右边界的取值。conds(i)=j的含义是给定端点i的j阶导数即conds的第一个元素表示左边界的条件第二个元素表示右边界的条件conds=,表示左边界是二阶导数右边界是一阶导数对应的值由left和right给出。详细情况请使用帮助helpcsape。例机床加工待加工零件的外形根据工艺要求由一组数据),(yx给出(在平面情况下)用程控铣床加工时每一刀只能沿x方向和y方向走非常小的一步这就需要从已知数据得到加工所要求的步长很小的),(yx坐标。表中给出的yx,数据位于机翼断面的下轮廓线上假设需要得到x坐标每改变时的y坐标。试完成加工所需数据画出曲线并求出=x处的曲线斜率和x范围内y的最小值。表xy要求用Lagrange、分段线性和三次样条三种插值方法计算。解编写以下程序:clc,clearx=y=x=::y=lagrange(x,y,x)调用前面编写的Lagrange插值函数y=interp(x,y,x)y=interp(x,y,x,'spline')pp=csape(x,y)y=ppval(pp,x)pp=csape(x,y,'second')y=ppval(pp,x)fprintf('比较一下不同插值方法和边界条件的结果:n')fprintf('xyyyyyn')xianshi=x',y',y',y',y',y'fprintf('ftftftftftfn',xianshi')subplot(,,),plot(x,y,'',x,y),title('Lagrange')subplot(,,),plot(x,y,'',x,y),title('Piecewiselinear')subplot(,,),plot(x,y,'',x,y),title('Spline')subplot(,,),plot(x,y,'',x,y),title('Spline')dyx=ppval(fnder(pp),x())求x=处的导数ytemp=y(:)index=find(ytemp==min(ytemp))xymin=x(index),ytemp(index)计算结果略。可以看出拉格朗日插值的结果根本不能应用分段线性插值的光滑性较差(特别是在=x附近弯曲处)建议选用三次样条插值的结果。B样条函数插值方法磨光函数实际中的许多问题往往是既要求近似函数(曲线或曲面)有足够的光滑性又要求与实际函数有相同的凹凸性一般插值函数和样条函数都不具有这种性质。如果对于一个特殊函数进行磨光处理生成磨光函数(多项式)则用磨光函数构造出样条函数作为插值函数既有足够的光滑性而且也具有较好的保凹凸性因此磨光函数在一维插值(曲线)和二维插值(曲面)问题中有着广泛的应用。由积分理论可知对于可积函数通过积分会提高函数的光滑度因此我们可以利用积分方法对函数进行磨光处理。定义若)(xf为可积函数对于>h则称积分=,)()(hxhxhdttfhxf为)(xf的一次磨光函数h称为磨光宽度。同样的可以定义)(xf的k次磨光函数为=,,)()(hxhxhkhkdttfhxf(>k)事实上磨光函数)(,xfhk比)(xf的光滑程度要高且当磨光宽度h很少时)(,xfhk很接近于)(xf。等距B样条函数对于任意的函数)(xf定义其步长为的中心差分算子δ如下:)()()(=xfxfxfδ在此取)(=xxf则=xxxδ是一个单位方波函数(如图)记)(=Ωxxδ。并取=h对)(xΩ进行一次磨光得=Ω=Ω)()(xxxxdtttdttx==)()(xxxdttdttxxxx显然)(xΩ是连续的(如图)。图)(xΩ和)(xΩ的图形类似地可得到k次磨光函数为==Ω!)()(kjkjkjkjkxkCx实际上可以证明:)(xkΩ是分段k次多项式且具有k阶连续导数其k阶导数有k个间断点记为=kjxj(,,,,=kjL)。从而可知)(xkΩ是对应于分划<<<<<Δ:kxxxL的k次多项式样条函数称之为基本样条函数简称为k次B样条。由于样条节点为=kjxj(,,,,=kjL)是等距的故)(xkΩ又称为k次等距B样条函数。对于任意函数)(xf的k次磨光函数由归纳法可以得到:dttfhtxhxfkhkΩ=)()(,(hxthx)特别地当)(=xf时有=Ωdthtxhk从而)(=Ωdxxk且当k时有递推关系ΩΩ=Ω)(xxkxkxkxkkk一维等距B样条函数插值等距B样条函数与通常的样条有如下的关系:定理设有区间,ba的均匀分划jhxxj=Δ:(nj,,,,L=)nabh=则对任意k次样条函数),()(kSxsPkΔ都可以表示为B样条函数族==Ωnjkjkkjhxx的线性组合。根据定理如果已知曲线上一组点),(jjyx其中jhxxj=(njh,,,,,L=>)则可以构造出一条样条磨光曲线(即为B样条函数族的线性组合)=Ω=)(nkjkjkjhxxcxs其中jc(,,,=nkkjL)为待定常数。用它来逼近曲线既有较好的精度又有良好的保凸性。实际中最常用的是=k的情况即一般形式为=Ω=)(njjjhxxcxs其中n个待定系数jc(,,,=njL)可以由插值条件确定。对于插值条件====),(')('),,,()(njyxsnjyxsjjjjL有=Ω===Ω==Ω====nnjjninjjinjjyjnchxsniyjicxsyjchxs')(')(',,,,,)()(')(')('L()注意到)(xΩ的局部非零性及其函数值:)(=Ω)(=Ω当x时)(=Ωx且由)()()('ΩΩ=Ωxxx知)('=Ω)('m=Ω当x时)('=Ωx。则()式的每一个方程只有三个非零系数具体为====nnniiiihyccniyccchycc',,,,,'L()由方程组()容易求解出jc(,,,=njL)即可得到三次样条函数)(xs表达式。二维等距B样条函数插值设有空间曲面),(yxfz=(未知)如果已知二维等距节点=),(jiyx),(τjyihx(,>τh)上的值为ijz(mjni,,,,,,LL==)则相应的B样条磨光曲面的一般形式为ΩΩ===jyyihxxcyxslnkikmljijτ),(其中ijc(mjni,,,,,,LL==)为待定常数lk,可以取不同值常用的也是,=lk和的情形。这是一种具有良好保凸性的光滑曲面(函数)在工程设计中是常用的但只能使用于均匀划分或近似均匀划分的情况。二维插值前面讲述的都是一维插值即节点为一维变量插值函数是一元函数(曲线)。若节点是二维的插值函数就是二元函数即曲面。如在某区域测量了若干点(节点)的高程(节点值)为了画出较精确的等高线图就要先插入更多的点(插值点)计算这些点的高程(插值)。插值节点为网格节点已知nm个节点:),,(ijjizyx(njmi,,,,,,LL==)且mxx<<Lnyy<<L。求点),(yx处的插值z。Matlab中有一些计算二维插值的程序。如z=interp(x,y,z,x,y,'method')其中x,y分别为m维和n维向量表示节点z为mn维矩阵表示节点值x,y为一维数组表示插值点x与y应是方向不同的向量即一个是行向量另一个是列向量z为矩阵它的行数为y的维数列数为x的维数表示得到的插值'method'的用法同上面的一维插值。如果是三次样条插值可以使用命令pp=csape({x,y},z,conds,valconds)z=fnval(pp,{x,y})其中x,y分别为m维和n维向量z为nm维矩阵z为矩阵它的行数为x的维数列数为y的维数表示得到的插值具体使用方法同一维插值。例在一丘陵地带测量高程x和y方向每隔米测一个点得高程如表试插值一曲面确定合适的模型并由此找出最高点和该点的高程。解编写程序如下:clear,clcx=::y=::z=pp=csape({x,y},z')xi=::yi=::cz=fnval(pp,{xi,yi})cz=interp(x,y,z,xi,yi','spline')i,j=find(cz==max(max(cz)))x=xi(i),y=yi(j),zmax=cz(i,j)表xy插值节点为散乱节点已知n个节点:),,,)(,,(nizyxiiiL=求点),(yx处的插值z。对上述问题Matlab中提供了插值函数griddata其格式为:ZI=GRIDDATA(X,Y,Z,XI,YI)其中X、Y、Z均为n维向量指明所给数据点的横坐标、纵坐标和竖坐标。向量XI、YI是给定的网格点的横坐标和纵坐标返回值ZI为网格(XIYI)处的函数值。XI与YI应是方向不同的向量即一个是行向量另一个是列向量。例在某海域测得一些点(x,y)处的水深z由下表给出在矩形区域(,)(,)内画出海底曲面的图形。表xyz解编写程序如下:x=y=z=xi=::yi=::zi=griddata(x,y,z,xi,yi','cubic')subplot(,,),plot(x,y,'*')subplot(,,),mesh(xi,yi,zi)曲线拟合的线性最小二乘法线性最小二乘法曲线拟合问题的提法是已知一组(二维)数据即平面上的n个点),(iiyxni,,,L=ix互不相同寻求一个函数(曲线))(xfy=使)(xf在某种准则下与所有数据点最为接近即曲线拟合得最好。线性最小二乘法是解决曲线拟合最常用的方法基本思路是令)()()()(xraxraxraxfmm=L()其中)(xrk是事先选定的一组线性无关的函数ka是待定系数),,,,(nmmk<=L。拟合准则是使iyni,,,L=与)(ixf的距离iδ的平方和最小称为最小二乘准则。系数ka的确定记)(),,(iininiimyxfaaJ====δL()为求maa,,L使J达到最小只需利用极值的必要条件=kaJ),,(mkL=得到关于maa,,L的线性方程组),,(,)()(mjyxraxrnimkiikkijL====即),,(,)()()(mjyxrxrxramkniiniijikijkL=====()记mnnmnmxrxrxrxrR=)()()()(LMMMLTmaaA,,L=TnyyY),,(L=方程组()可表为YRRARTT=()当)}(,),({xrxrmL线性无关时R列满秩RRT可逆于是方程组()有唯一解YRRRATT)(=函数)(xrk的选取面对一组数据niyxii,,,),,(L=用线性最小二乘法作曲线拟合时首要的、也是关键的一步是恰当地选取)(,),(xrxr

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/26
0下载券 下载 加入VIP, 送下载券

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部