權(quán)開波 賈寧 杜培壽
摘要:本文介紹曲線擬合法的基本原理,利用用最小二乘法分別確定線性曲線、多項(xiàng)式、指數(shù)曲線的函數(shù)模型,并對(duì)模型的各個(gè)參數(shù)進(jìn)行求解。并用Matlab編制程序,對(duì)樣本數(shù)據(jù)進(jìn)行指數(shù)擬合與仿真。
關(guān)鍵詞:曲線擬合;最小二乘法;matlab;仿真
根據(jù)有限的離散測(cè)量點(diǎn)進(jìn)行曲線擬合是工程實(shí)踐中經(jīng)常遇到的問(wèn)題。曲線擬合是用連續(xù)曲線近似地刻畫或比擬平面上離散點(diǎn)組函數(shù)關(guān)系的一種數(shù)據(jù)處理方法。傳統(tǒng)的曲線擬合方法是用解析表達(dá)式逼近離散數(shù)據(jù)。目前,常用的曲線擬合方法有最小二乘法、遺傳算法、契比雪夫法及插值法等,這使傳統(tǒng)的方法得到了發(fā)展和改進(jìn):文獻(xiàn)[1]對(duì)多周期正弦曲線擬合以及正弦曲線的外推存在的問(wèn)題進(jìn)行了探討,指出正弦曲線的最小二乘多項(xiàng)式擬合方法的局限性,提出了一種基于傅利葉變換的頻率已知正弦曲線擬合方法。文獻(xiàn)[2]根據(jù)最小二乘原理,將樣條小波函數(shù)應(yīng)用于曲線擬合中,提出了一種新型的信號(hào)處理方法—樣條小波最小二乘法(SWLS);文獻(xiàn)[3]在利用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行曲線擬合時(shí),提出了一種新的快速構(gòu)建BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的方法,同時(shí)針對(duì)在曲線擬合過(guò)程中經(jīng)常出現(xiàn)的一些問(wèn)題提出了解決方案。
本文介紹曲線擬合法的基本原理,針對(duì)樣本點(diǎn)的各種分布情況,采用最小二乘法的方法,選取不同的函數(shù)曲線進(jìn)行擬合。
1.曲線擬合的最小二乘法
曲線擬合問(wèn)題是指:通過(guò)觀察和測(cè)量得到一組離散數(shù)據(jù)序列(xi,yi),i=1,2,3···m,當(dāng)所得到數(shù)據(jù)是比較準(zhǔn)確時(shí),那么,構(gòu)造擬合函數(shù)ψ(x)逼近客觀存在的函數(shù)y,使得ψ(x)和y的誤差或距離最小。
常用曲線擬合標(biāo)準(zhǔn)有以下三種:
①各點(diǎn)誤差絕對(duì)值(1范數(shù))的和最小,即:
R1=min∑mi=1ψ(xi)-yi
②各點(diǎn)誤差模的最大值(∞范數(shù))最小,即:
R∞=min(max1≤i≤mψ(xi)-yi)
③各點(diǎn)誤差的平方和最小,即:
R=min∑mi=1[ψ(xi)-yi]2
數(shù)據(jù)擬合的最小二乘法問(wèn)題是:根據(jù)給定的數(shù)據(jù)組(xi,yi),i=1,2,3···m,選取近似函數(shù)形式,即給定函數(shù)類H,求函數(shù)ψ(x)∈H,使得
∑ni=1[ψ(xi)-yi]2=minφ∈H∑mi=1[φ(xi)-yi]2
這種求近似函數(shù)的方法稱為數(shù)據(jù)擬合的最小二乘法,函數(shù)ψ(x)稱為這組數(shù)據(jù)的最小二乘函數(shù)[4]。
2.曲線擬合
2.1線性擬合
對(duì)給定的數(shù)據(jù)組(xi,yi),i=1,2,3···m,求一條直線:p(x)=a+bx,按最小二乘法的求作方法,擬合直線與定標(biāo)曲線相應(yīng)點(diǎn)輸出量偏差的平方和為最小。有多元函數(shù)的極值原理,minQ(a,b)的極小值要滿足:
Q(a,b)a=2∑mi=1(a+bxi-yi)·1=0Q(a,b)b=2∑mi=1(a+bxi-yi)·xi=0
整理得到滿足最小均方差的正則方程,用消元法或者克萊姆方法解出方程,得方程(1):
a=1D(∑mi=1yi∑mi=1x2i-∑mi=1xi∑mi=1xiyi)b=1D(m∑mi=1xiyi-∑mi=1xi∑mi=1yi)
其中,D=m∑mi=1x2i-(∑mi=1xi)2。
2.2多項(xiàng)式擬合[4]
對(duì)給定的數(shù)據(jù)組(xi,yi),i=1,2,3···m,求一個(gè)n的多項(xiàng)式(n ma0 + a1 ∑mi = 1xi + ··· + an ∑mi = 1xni = ∑mi = 1yi a0 ∑mi = 1xi + a1 ∑mi = 1x2i ··· + an ∑mi = 1xn + 1i = ∑mi = 1yi xi ···a0 ∑mi = 1xni + a1 ∑mi = 1xn + 1i ··· + an ∑mi = 1x2ni = ∑mi = 1yi xni 由函數(shù)組1,x,x2,···xm的線性無(wú)關(guān)性可證明,方程組存在唯一的解,且解所對(duì)應(yīng)的多項(xiàng)式必定是已給數(shù)據(jù)組的最小二乘法n次擬合多項(xiàng)式。 2.3指數(shù)擬合 如果數(shù)據(jù)組(xi,yi),i=1,2,3···m的分布近似指數(shù)曲線,則擬合時(shí)可用指數(shù)函數(shù)y=a·ebx。先將曲線方程線性化,兩邊取對(duì)數(shù)得:lny=lnb+ax(1),分別命Y=lny,A=lnb,則方程(1)可寫成Y=A+ax,再用最小二乘法按直線擬合的原理求出A,進(jìn)而b=eA可求。 3.matlab仿真 采用Basic,C等編程語(yǔ)言來(lái)實(shí)現(xiàn)曲線擬合,需要編寫非常復(fù)雜的算法程序,而Matlab 語(yǔ)言是集數(shù)值計(jì)算、符號(hào)運(yùn)算和圖形處理等強(qiáng)大功能于一體的科學(xué)計(jì)算語(yǔ)言,適用于工程應(yīng)用各領(lǐng)域的分析、設(shè)計(jì)和復(fù)雜計(jì)算。在此方面,Mat lab 具有一般高級(jí)語(yǔ)言無(wú)法比擬的優(yōu)勢(shì)。 在經(jīng)濟(jì)統(tǒng)計(jì)中的某商品銷售量預(yù)測(cè)或者人口統(tǒng)計(jì)中的短期人口測(cè)算等等,都可以用指數(shù)函數(shù)來(lái)擬合,如表1為某疾病發(fā)病率與年齡段的關(guān)系。 表1某疾病發(fā)病率與年齡段的關(guān)系 x12345678y0.8982.383.071.842.021.942.222.77x9101112131415y4.024.675.466.5310.916.522.5 根據(jù)表1數(shù)據(jù),建立以x為橫坐標(biāo), y為縱坐標(biāo)的坐標(biāo)系,用Matlab軟件把各x、y的值作為坐標(biāo)點(diǎn),畫出這些點(diǎn)。在根據(jù)指數(shù)曲線擬合原理,可以求出A=-0.0910,a=0.1824,則作出函數(shù)圖象如圖1所示。 圖1指數(shù)擬合仿真結(jié)果圖 4.結(jié)束語(yǔ) 在通常的數(shù)據(jù)處理中,不論是線性擬合,還是多項(xiàng)式擬合,至相當(dāng)一部分經(jīng)變換可轉(zhuǎn)變?yōu)榫€性擬合的非線性擬合,都可采用最小二乘法的原理來(lái)進(jìn)行曲線擬合,并且基于最小二乘曲線擬合及Matlab實(shí)現(xiàn)方法簡(jiǎn)明、適用,可應(yīng)用于類似的測(cè)量數(shù)據(jù)處理和實(shí)驗(yàn)研究。(作者單位:中國(guó)農(nóng)業(yè)銀行青海分行西寧支行) 參考文獻(xiàn): [1]齊國(guó)清,呂健.正弦曲線擬合若干問(wèn)題探討[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(14):3677-3680. [2]鄭小萍,莫金垣,謝天堯.一種新型的曲線擬合技術(shù)在分析信號(hào)處理中的應(yīng)用[J].計(jì)算機(jī)與應(yīng)用化學(xué),1999,16(5):371-372. [3]包健,趙建勇,周華英. 基于BP網(wǎng)絡(luò)曲線擬合方法的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26(7):1840-1848.