高斯-克朗羅德十五點定積分(I)

程式編寫日期: 2008年3月24日

以下程式使用了高斯-克朗羅德法十五點方法(Gauss-kronrod Quadrature)計算一個定積分的近似值,高斯-克朗羅德法為高斯-勒讓德法(Gauss-Legendre Quadrature)的改良版本,效果更理想,現時不少圖像計算機都是使用這個方法計算定積分的近似值。

程式 (347 bytes,不包括綠色的函數方程)

ClrMemory: ?→A: ?→B: 2-1(B - A→B:

While Ans: A + B + BX: ln( Ans: Ans ( . 2094821411(Y=0)

+ . 022935322(Y2+2=3Y) + . 0630920926(Y>2)(5>Y)

+ . 1047900103(Y>4)(7>Y) + . 1406532597(Y>6)(9>Y)

+ . 1690047266(Y>8)(11>Y) + . 1903505781(Y>10)(13>Y)

+ . 2044329401(Y>12M+: 1+Y→Y: -X→X:

Y=1 => . 9914553711→X: Y=3 => . 9491079123→X:

Y=5 => . 8648644234→X: Y=7 => . 7415311856→X:

Y=9 => . 5860872355→X: Y=11 => . 4058451514→X:

Y=13 => . 207784955→X: Y-15: WhileEnd: MB

註: 綠色的 ln( Ans是函數方程(變數是Ans),若果想計算其它函數的積分,只要修改綠色的部份。

 

例題: 利用高斯-克朗羅德十五點方法(Gauss-kronrod Quadrature),計算

按 Prog 1 再按 1 EXE 2 EXE (顯示答案為0.386294361)

 

參考資料:

http://mathworld.wolfram.com/Legendre-GaussQuadrature.html

http://en.wikipedia.org/wiki/Gaussian_quadrature

 

返回 CASIO fx-50FH 及 fx-50F PLUS 程式集

Free Web Hosting