资源描述
最小长度解编程与实践班级:地物11101成员:王云鹤(组长)吴迪杨寒一. 小组分工杨寒和张林涛负责讨论所给题目的思路及程序构图王云鹤负责编程吴迪负责整理并完成报告方法原理对于d(Mxi)=G(MxN)in(Nxl)(1)式中:d为Mx1维向量;G为MxN阶矩阵;m为Nx1维向量。1当MN=i*时,方程是超定方程,无常规意义下的解,但有最小方差解。设e为观测数据d与理论计算值Gm之误差向量,则方差(即目标函数)为:E=eTe=(d-Gm)T(d-Gm)E=(dT-mTGT)(d-Gm)=dTd-mTGTd-dTGm+mTGTGm最小方差解必须满足:5inT所以m=(GTG)_1GTd2当NM时,方称是纯欠定方程,也无常规意义上的解,但有最小模型长度。此时的目标函数在(1)式的约朿下有极小,即E=mTm在(1)式下为极小。根据极值理论,必须引入拉格朗日算子“入”将条件极值问题化为无条件极值问题。因此,目标函数应为:Edm+/f(d-Gin)显然,求上述目标函数极小值问题,可以化为求:西=nf5111才G=0将(5)带入(1),则d=GGT?lA=(GGt)_1d再将(6)带入(5),得纯欠定问题的正态方程:m=GT(GGT)_1d3当inin(M,N)T时,方程是混定方程,也无常规意义下的解,既有超定问题,也有欠定问题的性质。此时设(1)式是一混定问题,根据混定方程的性质,此时的目标函数应兼有方差项(d-Gm)d-Gm)和模型长度项沁m两项内容,即:E=(dGm)T(dGm)+s2mTm=dTdtyGTddTGm+mTGTGm+s2mTm求E相对于m或的偏导数,并设其为零。简化后得:GtG+e2/m=GTd因而ni=(GG+2V)1GTd式中以为阻尼系数或加权因子。程序框图程序代码1、超定:programmainimplicitnoneiiitegei;paiainetei:n=3,nl=2real*8:d(n),g(n,nl),m(nl),gt(nl,n),gtg(nl,nl),gtg1(nl,nl),gtd(nl),gm(n),dgm(n)integer:i,j丄is(nl),js(nl)d=(/3,l,l/)g(:,lF(/l丄0/)g(:,2)=(/l,0,l/)gt=TRANSPOSE(g)gtg=MATMUL(gt,g)gtd=inatimil(gt,d)gtgl=gtgcallbrinv(gtgl,nl,L,IS,JS)m=inatmiil(gtg1,gtd)wiite(*,*)mpauseendpTogram2、混定:programmainimplicitnonemtegei;paiaineter:n=3,nl=3real*8:d(n),g(n,nl),m(nl),gt(nl,n),gtg(nl,nl),gtg1(nl,nl),gtd(nl),gm(n),dgm(n),e(nl,nl)ieal*8:tinteger:ijJ4s(nl)js(nl)d=(/3,l,l/)g(:,i)=(/i,o,o/)g(:,2X/l,0,0/)g(:,3F(/0,l,l/)e=0doi=l,nle(i,i)=lenddogt=TRANSPOSE(g)gtg=MATMUL(gt,g)gtd=inatimil(gt,d)t=0doj=l,20t=t+O.lwrite(*,水),收敛系数,tE=t*t*EGtGl=GtG+EcaUBRINV(gtgl,N,L,IS,JS)in=inatimil(GtG1,gtd)writer,*),求得结果,menddopauseendpiograin五.运行结果超定:超定方程运算结果:434.3-与所给答案相符,混定:D:fortranparcticeparcticeDebugparctice.exe0.000000000000000E-*-000峻敛系数140000002086163求得结集1.499999430030580000000000000000E+000Wi.sRnnnn2235i741499998717568810000000000000000E+000峻敛系数1.60000002384186求得结臬1.499996716796890000000000000000E+000峻敛系数170000002533197隶得结里1.49999051152540000000000000000E+000峻敛系数1.80000002682209求得结臬1.499969257820340000000000000000E+000峻敛系数1.90000002831221求得结臬1.499889026670640000000000000000E000屹敛系数200000002980232求得结集1.4995562051631201.4999901152554FortranPause一Enterconnandoi*tocontinue.运算结果:3-232LoJ与所给答案稍有偏差,问题正在查找中。六.成员签名
展开阅读全文