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