【摘要】基于經典辛普森(Simpson)法,將擬合函數換為三次函數,利用待定系數法,通過復化方式得到定區間內f(x)的積分近似計算公式.最后,使用C++編程比較了與經典Simpson法的計算精度,說明以三次函數擬合的結果更精確.
【關鍵詞】Simpson法;待定系數法;積分計算;C++
經典的Simpson法,實質就是將自變量2n等分,針對每個區間進行二次函數的積分,最終對各子區間進行求和.為了進一步探討一重積分的近似計算,對于逼近函數的任意積分單元進行拓展,進行以下積分計算過程.
1.三次函數積分
將二次函數推廣為三次函數,將區間[a,b]進行4n等分.考慮到相鄰區間的曲線連續性,將擴展五個數據點構成一個單元區間,其擁有數據點為
則方程組可寫作常見的AX=b型矩陣式,A、X、b的矩陣式容易寫得,此處不贅述,這樣,根據原方程組等價于:ATAX=ATb,得到如下方程組:
以上方法完美地應用了待定系數法,這樣,對于四階以上的逼近函數,如果依舊使用這種方法,將使得求解更加困難,因此,不再增加單元函數的階數.
2.算例驗證
針對兩種積分近似計算的方法,選擇f(x)=sinx/x在[0,1]內的積分進行分別檢驗,使用C++獨立編程比較,計算結果如下表1.
由表中結果可見,使用三次函數進行逼近插值,將得到更加理想的積分結果.
3.結 論
本文根據發散思想,對Simpson法進行拓展,鑒于高階的積分近似計算的公式復雜性,一般計算中,使用二階的積分近似值公式就可以達到好的數值結果.
【參考文獻】
[1]同濟大學數學系.高等數學 [M].北京:高等教育出版社,2007.
[2] 楊志明.計算方法及其MATLAB實現[M].西安:西安電子科技大學出版社,2009.