王榮忠 高秋英,2 王得軍
1. 青島海爾洗衣機(jī)有限公司,山東省青島市 266100;2. 數(shù)字化家電國家重點實驗室,山東省青島市 266100
在控制器的研發(fā)過程中,經(jīng)常需要對實驗獲得的數(shù)據(jù)進(jìn)行曲線擬合處理,以便找到變量之間的關(guān)系,目前較為常用的方法是最小二乘法,而其中多項式擬合應(yīng)用最為廣泛。在實際計算中,通過對偏差的平方和對每個系數(shù)求偏導(dǎo)數(shù),使偏導(dǎo)數(shù)為零來建立方程組,經(jīng)過一系列推導(dǎo),得到系數(shù)公式,然后求得系數(shù)[1]。在多項式的系數(shù)求解計算中會有大量的運(yùn)算,而控制器通常會使用單片機(jī)作為采集和運(yùn)算單元,其運(yùn)算能力不足,所以對運(yùn)算過程進(jìn)行簡化是非常有必要的[2]。本文結(jié)合最小二乘法多項式擬合的算法原理,在自變量為自然數(shù)序列時,對應(yīng)用較為廣泛的多項式曲線擬合進(jìn)行了公式推導(dǎo),得出一種簡化算法,并舉出實例說明了其應(yīng)用方法。
設(shè)有一組實驗數(shù)據(jù)為(xi,yi)i=1, 2,…,n,其擬合函數(shù)為下式:
其中,a0,a1, …,an是n+1個待定參數(shù),y是與x有一定依賴關(guān)系的變量,根據(jù)最小二乘法原理,則應(yīng)使
對函數(shù)S求偏導(dǎo)數(shù),并令其為0,即可得:
若對于任意函數(shù)h(x),g(x)引入記號:即:
其中,f為yi與xi依賴關(guān)系式,寫成矩陣形式為[3]:
上式稱為正規(guī)方程組。當(dāng)φ0(x),φ1(x),…,φn(x)線性無關(guān)時,方程組有唯一解。取φ0(x)=1,φ1(x)=x,…,φn(x)=xn,相應(yīng)的方程組為[4-5]:
從中可以解出a0,a1,…,an。
設(shè)有一組實驗數(shù)據(jù)(xi,yi)i=1, 2,…,n,其中,x為一組自然數(shù)序列,取值從1到n,y為實測值,設(shè)該組數(shù)據(jù)的一次曲線擬合函數(shù)為[4]:
由上述式(6)可得出其擬合公式為:
其中,a0,a1——要求解的系數(shù);
n——采集數(shù)據(jù)的個數(shù);
xi——數(shù)據(jù)的序號;
yi——測得的數(shù)據(jù)。
由式(8)可得a0表達(dá)式為:
將a0代入式(8)可得a1的表達(dá)式為:
使用式(10)進(jìn)行計算,可以不用將每個變量的值都進(jìn)行存儲,只需累加計算,便可進(jìn)行曲線擬合的計算。
根據(jù)等差數(shù)列平方和公式,可得:
將公式(12)、(13)代入式(10),則有:
分子分母同時消掉n:
進(jìn)一步進(jìn)行簡化:
可見,公式(16)已得到很大簡化,且b、d的計算已被省略掉。在單片機(jī)中計算時,為了減少計算步驟,可簡化為如下形式:
得到a1的表達(dá)式之后,將式(17)代入式(9)可得到a0的計算公式:
至此,擬合公式中的兩個系數(shù)求解都得到了簡化后的計算公式,計算公式中僅與和數(shù)據(jù)采集的個數(shù)n有關(guān),省去了兩個復(fù)雜變量的計算。
以一個溫度傳感器的數(shù)據(jù)擬合為例,表1給出實際采集到的一組數(shù)據(jù),數(shù)據(jù)從1到60,即n=60。
將c、e、n及a1的值代入式(18),可計算出a0=30.1472,至此,我們可以得到該組溫度數(shù)據(jù)的擬合曲線公式為:
利用Excel表格中的曲線擬合工具,對表1中的數(shù)據(jù)進(jìn)行曲線擬合,得到的公式如下,可以看出,與我們的計算結(jié)果是一致的。
表1 溫度傳感器數(shù)據(jù)
綜上所述,在使用最小二乘法進(jìn)行曲線擬合時,可以使用自然數(shù)序列作為自變量,或經(jīng)過變換將自變量變?yōu)樽匀粩?shù)序列,從而可以使用本文推導(dǎo)后的簡化算法,省掉多個中間變量以及復(fù)雜的運(yùn)算環(huán)節(jié),有效節(jié)省運(yùn)算資源,且不影響最終的計算結(jié)果。本文提出的簡化后的系數(shù)計算方法非常適用于一些計算能力不足的應(yīng)用場合,對于實用場景中的非線性關(guān)系,可以進(jìn)行分段線性化或者一些變量關(guān)系的轉(zhuǎn)換變?yōu)榫€性關(guān)系,從而可以應(yīng)用本簡化方法。另外,按照本文提出的簡化方法,可以很方便地推廣到曲線擬合的其他應(yīng)用場合。