數(shù)據(jù)的插值與逼近_第1頁
數(shù)據(jù)的插值與逼近_第2頁
數(shù)據(jù)的插值與逼近_第3頁
數(shù)據(jù)的插值與逼近_第4頁
數(shù)據(jù)的插值與逼近_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)的插值與逼近第1頁,課件共29頁,創(chuàng)作于2023年2月第二節(jié)數(shù)據(jù)的最小二乘逼近最小二乘逼近理論1利用Matlab實(shí)現(xiàn)最小二乘逼近2第2頁,課件共29頁,創(chuàng)作于2023年2月一、最小二乘逼近理論最小二乘逼近的定義插值所需的數(shù)據(jù)往往來源于觀察測量,本身有一定的誤差。要求插值曲線通過這些本身有誤差的點(diǎn),勢必使結(jié)果更加不準(zhǔn)確。另外,如果由試驗(yàn)提供的數(shù)據(jù)量比較大,又容易使得插值多項(xiàng)式的次數(shù)過高而效果不理想。所以在對(duì)離散數(shù)據(jù)建立模型時(shí),并不需要函數(shù)曲線一定要插值所有給定的數(shù)據(jù)點(diǎn)。,在取定的函數(shù)類中,求定義1.對(duì)給定數(shù)據(jù)即,使誤差,的平方和最小,函數(shù)稱為最小二乘解,求的方法稱為最小二乘逼近。

第3頁,課件共29頁,創(chuàng)作于2023年2月一、最小二乘逼近理論對(duì)離散數(shù)據(jù)點(diǎn)進(jìn)行最小二乘逼近首先要確定的是用什么類型的函數(shù)作為模型,然后通過計(jì)算求得該類函數(shù)中的參數(shù)。按照求解參數(shù)在最小二乘逼近解中的地位,最小二乘分為線性最小二乘逼近和非線性最小二乘逼近。例如:線性最小二乘逼近非線性最小二乘逼近線性最小二乘逼近的求解比非線性最小二乘逼近容易,一定條件下,非線性最小二乘逼近可以轉(zhuǎn)化為線性最小二乘逼近。第4頁,課件共29頁,創(chuàng)作于2023年2月一、最小二乘逼近理論線性最小二乘逼近第一步:先選定一組函數(shù)r1(x),r2(x),…rm(x),m<n,令f(x)=a1r1(x)+a2r2(x)+…+amrm(x)(1)其中a1,a2,…am

為待定系數(shù)。第二步:確定a1,a2,…am

的準(zhǔn)則(最小二乘準(zhǔn)則):使n個(gè)點(diǎn)(xi,yi)與曲線y=f(x)的距離i的平方和最小。記

問題歸結(jié)為,求

a1,a2,…am

使J(a1,a2,…am)

最小。第5頁,課件共29頁,創(chuàng)作于2023年2月一、最小二乘逼近理論將J(a1,a2,…am)看作是a1,a2,…am的m元函數(shù)。最小二乘問題就是這個(gè)m元函數(shù)的最小值問題,由極值的必要條件:得:其中:該方程組的解就是最小二乘問題的解第6頁,課件共29頁,創(chuàng)作于2023年2月一、最小二乘逼近理論線性最小二乘擬合f(x)=a1r1(x)+…+amrm(x)中函數(shù){r1(x),…rm(x)}的選取

1.通過機(jī)理分析建立數(shù)學(xué)模型來確定f(x);++++++++++++++++++++++++++++++f=a1+a2xf=a1+a2x+a3x2f=a1+a2x+a3x2f=a1+a2/xf=aebxf=ae-bx2.將數(shù)據(jù)(xi,yi)i=1,…n作圖,通過直觀判斷確定f(x):可化為線性最小二乘第7頁,課件共29頁,創(chuàng)作于2023年2月一、最小二乘逼近理論非線性最小二乘逼近如果要用非線性模型對(duì)離散數(shù)據(jù)進(jìn)行最小二乘逼近,一般的方法是將其線性化,然后求解線性化以后的最小二乘逼近問題??删€性化的非線性最小二乘逼近(線性化后為)第8頁,課件共29頁,創(chuàng)作于2023年2月一、最小二乘逼近理論可線性化的非線性最小二乘逼近(線性化后為)第9頁,課件共29頁,創(chuàng)作于2023年2月二、利用MATLAB實(shí)現(xiàn)最小二乘逼近利用MATLAB實(shí)現(xiàn)多項(xiàng)式最小二乘逼近在MATLAB中,要利用多項(xiàng)式f(x)=a1xm+…+amx+am+1對(duì)離散數(shù)據(jù)進(jìn)行線性擬合,可利用命令:a=polyfit(x,y,m)輸出擬合多項(xiàng)式系數(shù)a=[a1,…am,

am+1](數(shù)組))輸入同長度的數(shù)組X,Y擬合多項(xiàng)式次數(shù)要計(jì)算多項(xiàng)式在x處的值y可用以下命令計(jì)算:

y=polyval(a,x)第10頁,課件共29頁,創(chuàng)作于2023年2月二、利用MATLAB實(shí)現(xiàn)最小二乘逼近例1:對(duì)下面一組數(shù)據(jù)作二次多項(xiàng)式擬合x=0:0.1:1;y=[-0.4471.9783.286.167.087.347.669.569.489.3011.2];A=polyfit(x,y,2)z=polyval(A,x);plot(x,y,'k+',x,z,'r')%作出數(shù)據(jù)點(diǎn)和擬合曲線的圖形第11頁,課件共29頁,創(chuàng)作于2023年2月二、利用MATLAB實(shí)現(xiàn)最小二乘逼近2)計(jì)算結(jié)果:A=-9.810820.1293-0.0317原始數(shù)據(jù)及擬合曲線第12頁,課件共29頁,創(chuàng)作于2023年2月二、利用MATLAB實(shí)現(xiàn)最小二乘逼近下面在更多點(diǎn)比較2次和10次最小二乘逼近多項(xiàng)式的逼近效果?xi=linspace(0,1,100);%x-axisdataforplotting?z=polyval(p,xi);?xi=linspace(0,1,100);%x-axisdataforplotting?z=polyval(p,xi);?pp=polyfit(x,y,10);?zz=polyval(pp,xi);%evaluate10thorderpolynomial?plot(x,y,'o',xi,z,':',xi,zz)%plotdata?xlabel(‘x’);ylabel(‘y=f(x)’);?title('2ndand10thOrdercurveFitting');第13頁,課件共29頁,創(chuàng)作于2023年2月二、利用MATLAB實(shí)現(xiàn)最小二乘逼近2次和10次最小二乘多項(xiàng)式逼近效果比較第14頁,課件共29頁,創(chuàng)作于2023年2月二、利用MATLAB實(shí)現(xiàn)最小二乘逼近利用MATLAB實(shí)現(xiàn)非線性最小二乘逼近對(duì)于非線性最小二乘逼近,在Matlab中有兩種途徑解決:(1)如果模型可以線性化,可先線性化后,再利用polyfit求解;(2)利用Matlab中直接求解非線性最小二乘逼近的兩種函數(shù)

lsqcurvefit和lsqnonlin。例2.在人口的logistic模型中,人口總數(shù)y與時(shí)間t之間的關(guān)系滿足,下表是某地區(qū)1971年-2000年之間的人口統(tǒng)計(jì)數(shù)據(jù),試確定logistic模型中的a,b。第15頁,課件共29頁,創(chuàng)作于2023年2月二、利用MATLAB實(shí)現(xiàn)最小二乘逼近年人口總數(shù)年人口總數(shù)197133815198634520197233981198734507197334004198834509197434165198934521197534212199034513197634327199134515197734344199234517197834458199334519197934498199434519198034476199534521198134483199634521198234488199734520198334513199834507198434497199934509198534511200034521第16頁,課件共29頁,創(chuàng)作于2023年2月二、利用MATLAB實(shí)現(xiàn)最小二乘逼近解:先線性化,設(shè)y為人口總數(shù),t=年份-1970,即。令,則logistic模型可線性化為。下面在Matlab下編程進(jìn)行最小二乘逼近:clear;clc;t=1:30;y=[33815,33981,34004,34165,34212,34327,34344,34458,34498,34476,34483,34488,34513,34497,34511,34520,34507,34509,34521,34513,34515,34517,34519,34519,34521,34521,34520,34507,34509,34521]fori=1:30,x(i)=exp(-t(i));yy(i)=1/y(i);%線性化end第17頁,課件共29頁,創(chuàng)作于2023年2月二、利用MATLAB實(shí)現(xiàn)最小二乘逼近程序運(yùn)行結(jié)果%對(duì)線性化后的模型用polyfit進(jìn)行一次多項(xiàng)式最小二乘逼近pp=polyfit(x,yy,1);%對(duì)逼近結(jié)果繪圖forj=1:30Y(j)=1/(pp(2)+pp(1)*exp(-j));endplot(t,Y);a=pp(2)=0.182×10-5,b=pp(1)=0.2902×10-4,第18頁,課件共29頁,創(chuàng)作于2023年2月二、利用MATLAB實(shí)現(xiàn)最小二乘逼近

Matlab提供了兩個(gè)求非線性最小二乘擬合的函數(shù):lsqcurvefit和lsqnonlin。兩個(gè)命令都要先建立M-文件,在其中定義函數(shù)f(x),但兩者定義f(x)的方式是不同的。1.lsqcurvefit已知數(shù)據(jù)點(diǎn):xdata=(xdata1,xdata2,…,xdatan),ydata=(ydata1,ydata2,…,ydatan)

fun是一個(gè)事先建立的定義函數(shù)F(x,xdata)的M-文件,自變量為x和xdata說明:x=lsqcurvefit(‘fun’,x0,xdata,ydata,options);迭代初值已知數(shù)據(jù)點(diǎn)選項(xiàng)見無約束優(yōu)化第19頁,課件共29頁,創(chuàng)作于2023年2月二、利用MATLAB實(shí)現(xiàn)最小二乘逼近輸入格式為:(1)x=lsqcurvefit(‘fun’,x0,xdata,ydata);(2)x=lsqcurvefit(‘fun’,x0,xdata,ydata,options);(3)x=lsqcurvefit(‘fun’,x0,xdata,ydata,options,’grad’);

例:用下面一組數(shù)據(jù)擬合中的參數(shù)a,b,k.第20頁,課件共29頁,創(chuàng)作于2023年2月二、利用MATLAB實(shí)現(xiàn)最小二乘逼近該問題即解最優(yōu)化問題:1)編寫M-文件curvefun1.mfunctionf=curvefun1(x,tdata)f=x(1)+x(2)*exp(-0.02*x(3)*tdata)%其中x(1)=a;x(2)=b;x(3)=k;2)輸入程序tdata=100:100:1000cdata=1e-03*[4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50,6.59];x0=[0.2,0.05,0.05];x=lsqcurvefit('curvefun1',x0,tdata,cdata)f=curvefun1(x,tdata)第21頁,課件共29頁,創(chuàng)作于2023年2月二、利用MATLAB實(shí)現(xiàn)最小二乘逼近3)運(yùn)算結(jié)果為:f=0.00430.00510.00560.00590.00610.00620.00620.00630.00630.0063x=0.0063-0.00340.25424)結(jié)論:a=0.0063,b=-0.0034,k=0.2542第22頁,課件共29頁,創(chuàng)作于2023年2月二、利用MATLAB實(shí)現(xiàn)最小二乘逼近2.lsqnonlin

lsqnonlin用以求含參量x(向量)的向量值函數(shù)

f(x)=(f1(x),f2(x),…,fn(x))T

中的參量x,使得:

最小。其中fi(x)=f(x,xdatai,ydatai)=F(x,xdatai)-ydatai第23頁,課件共29頁,創(chuàng)作于2023年2月二、利用MATLAB實(shí)現(xiàn)最小二乘逼近說明:x=lsqnonlin(‘fun’,x0,options);fun是一個(gè)事先建立的定義函數(shù)f(x)的M-文件,自變量為x迭代初值選項(xiàng)見無約束優(yōu)化輸入格式為:1)x=lsqnonlin(‘fun’,x0);2)x=lsqnonlin(‘fun’,x0,options);3)x=lsqnonlin(‘fun’,x0,options,‘grad’);第24頁,課件共29頁,創(chuàng)作于2023年2月二、利用MATLAB實(shí)現(xiàn)最小二乘逼近利用lsqnonlin計(jì)算上例:1)編寫M-文件curvefun2.m

functionf=curvefun2(x)tdata=100:100:1000;cdata=1e-03*[4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50,6.59];

f=x(1)+x(2)*exp(-0.02*x(3)*tdata)-cdata2)輸入命令:

x0=[0.2,0.05,0.05];x=lsqnonlin('curvefun2',x0)f=curvefun2(x)第25頁,課件共29頁,創(chuàng)作于2023年2月二、利用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論