張宏 陳立勇
摘要:文章簡單介紹根據(jù)最小二乘多項式求解過程中生成正規(guī)多項式系數(shù)矩陣的特點,借助于矩陣壓縮存儲的思想,使用一維數(shù)組存放系數(shù)矩陣的各項的值。此算法在時間復(fù)雜度和空間復(fù)雜度上均有較大改進(jìn)。最后通過實驗證明此算法的正確性,并為在工程分析計算中運(yùn)用此方法提供較好的樣例。
關(guān)鍵詞:曲線擬合;最小二乘多項式;系數(shù)矩陣;一維數(shù)組
中圖分類號:TN957文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2012)23-5722-03
Solve the Least Square Curve Fitting Polynomial Coefficient with Improved Program
ZHANG Hong, CHEN Li-yong
(Department of Computer Science, Zhoukou Normal University, Zhoukou 466001, China)
Abstract: In this paper, the author simply introduced the feature of Coefficient matrix in the progress of Solve the Least Square Curve Fit? ting Polynomial Coefficient. With the help of compressing storage of matrix, this paper saves dates of matrix by using One-dimensional ar? ray. This arithmetic great reduces time complexity and space complexity. Empirical results show the Correctness of this arithmetic and give a good example in engineering analysis calculations.
Key words: curve fitting; least square curve fitting polynomial; coefficient matrix; one-dimensional array
多項式擬合在工程計算領(lǐng)域得到較廣泛的應(yīng)用,如在強(qiáng)噪聲地震資料中的應(yīng)用,短期潮位補(bǔ)缺中的應(yīng)用,機(jī)動目標(biāo)運(yùn)動補(bǔ)償算法中的應(yīng)用等等。在工程分析計算過程中,多項式擬合的結(jié)果往往需要保存到文件中,作為數(shù)據(jù)處理的中間數(shù)據(jù)。市場中存在很多可用于多項式擬合的軟件(如Grapher),雖說可以完成多項式的擬合,并看到擬合曲線,但大多數(shù)軟件不能夠一次性的查看多次擬合圖形,并形成比較,且不能根據(jù)用戶需要保存理想的擬合結(jié)果。因此很多企業(yè)或公司需要開發(fā)自己的軟件已滿足特定行業(yè)需求。那么,編寫程序來求解最小二乘多項式系數(shù)成為此類軟件開發(fā)過程的關(guān)鍵技術(shù),青海師范大學(xué)陳桂秀老師在[1]中提供了程序法求解最小二乘多項式系數(shù)的方法。但其算法無論是空間復(fù)雜度還是時間復(fù)雜度,都達(dá)到讓人無法接受的結(jié)果。實驗數(shù)據(jù)結(jié)果分析,如果實驗數(shù)據(jù)達(dá)到800條,運(yùn)行一次擬合就需要3-4分鐘(根據(jù)常用辦公室計算機(jī)測試)。這就為設(shè)計較小空間復(fù)雜度和時間復(fù)雜度的程序算法提供了契機(jī)。該文主要包括三個部分:1)多項式擬合基本原理介紹;2)程序算法;3)通過實驗驗證結(jié)果的正確性。
圖1擬合曲線界面圖
原始數(shù)據(jù)有796條(刪除了嚴(yán)重偏差的4條),一次性完成從2次曲線擬合到10次曲線擬合,并實現(xiàn)動態(tài)加載原始數(shù)據(jù)和保存擬合結(jié)果(為了簡化程序設(shè)計的難度,坐標(biāo)系并沒有標(biāo)明坐標(biāo)值)。程序運(yùn)行后,首先單擊左上角“載入數(shù)據(jù)”按鈕,然后單擊“繪圖”按鈕,程序一次畫出從2次擬合到10次擬合的原始數(shù)據(jù)點線圖和擬合后的曲線圖。其中黑色的為原始數(shù)據(jù)點連接成線的圖形,從圖形可以看出,數(shù)據(jù)點產(chǎn)生強(qiáng)烈震蕩而不平滑。其中中間平滑的紅線為擬合后的曲線圖。很明顯介于原始圖形震蕩的趨于中間的位置。說明了程序擬合結(jié)果的正確性,實驗中完成9次擬合共用時6秒鐘(包括繪制圖形部分),完全在用戶可以接收的時間范圍之內(nèi)。通過直觀的圖形,用戶可以輕松的得出結(jié)論——哪一次擬合的結(jié)果更有助于分析數(shù)據(jù),然后在相應(yīng)的擬合圖形上單擊以保存擬合后的數(shù)據(jù)。
該文借助矩陣壓縮存儲的思想,通過數(shù)組法,使用一維數(shù)組來保存系數(shù)矩陣各項值,減少了時間復(fù)雜度和控件復(fù)雜度,極大的提高了程序運(yùn)行的速度,為用戶開發(fā)適合特定工程需要的軟件產(chǎn)品提供思想上和方法上的指導(dǎo)。
[1]陳桂秀.用程序求解最小二乘擬合多項式的系數(shù)[J].青海師范大學(xué)學(xué)報:自然科學(xué)版,2010(3):15-17.
[2]鐘偉,楊寶俊,張智.多項式擬合技術(shù)在強(qiáng)噪聲地震資料中的應(yīng)用研究[J].地球物理學(xué)進(jìn)展,2006,21(1):184-189.
[3]陸偉,劉杰,孫艷軍.多項式擬合在短期潮位補(bǔ)缺中的應(yīng)用分析[J].科技信息,2011(4).
[4]侯成宇,沈一鷹.基于最小二乘擬合的機(jī)動目標(biāo)運(yùn)動補(bǔ)償算法[J].現(xiàn)代雷達(dá),2009,31(1):54-57.