Beta 函數(I)(Beta Fucntion I)
程式編寫日期: 2014年8月1日
程式由網友 Skwai提供。
這個程式可以計算Beta函數B(x,y)的數值,亦可計算實數的伽瑪函數,大約能夠準確至有效數字九至十位。
注意: e^( 是按shift ex。
程式一 (142 bytes,正實數因變數版本)
ClrMemory: ?→A: ?→B: 1→C: While M≠3 M+: A + 3:
( Ans + . 85 )^( A - . 5 ) e^( - Ans )( 1.071370357
+
39.41066934 ÷ A - 35.55136409 ÷ ( A + 1 ) - . 0943944629 ÷ Ans +
6.326951402 ÷ ( A + 2: Ans ÷ C→C: B = 0 => Break: B
+ A ( M≠2→A: WhileEnd: C
註1: 輸入如 B ( 0.35 , 0 ) 時,視為計算Γ ( 0.35 )。程式一如只計算Beta函數,程式碼B = 0 => Break: 可以不輸入,程式長度變為136 bytes。
註2: 程式一 ClrMemory 改 MM- 可以保留 D X Y 三個記憶。
註3: 程式一答案記存在 C ,按 RCL C 可以顯示。
程式二 (165 bytes,實數因變數版本)
ClrMemory: ?→C: ?→D: 1→B: While M≠3 M+:
Abs( C→A: Ans + 3: ( Ans + . 85 )^( A - . 5 ) ÷ e^(
Ans )( 1.071370357 +
39.41066934 ÷ A - 35.55136409 ÷ ( A + 1 ) + 6.326951402 ÷ ( A + 2
) - . 0943944629 ÷ ( A + 3 : If C < 0: Then π ÷ ( Ans A sin( C
πr : IfEnd:
Ans ÷ B→B: D = 0 => Break: D + C ( M≠2→C: WhileEnd:
B
註1: 輸入如 B ( 0.35 , 0 ) 時,視為計算Γ ( 0.35 )。程式二如只計算Beta函數,程式碼D = 0 => Break: 可以不輸入,程式長度變為159 bytes。
註2: 程式一 ClrMemory 改 MM- 可以保留 X Y 二個記憶。
註3: 程式一答案記存在 B ,按 RCL B 可以顯示。
例題1: 計算 B(1.2 , 2.3)的值。
按 Prog 1 再按 1.2 EXE 2.3 EXE (顯示答案為0.322336825)
例題2: 計算Γ(0.35)的值。
按 Prog 1 再按 0.35 EXE
0 EXE(計算伽瑪函數第二個輸入0,顯示答案為2.546146978)
例題3: 計算Γ(- 0.35)的值。
只限程式二
按 Prog 1 再按 - 0.35 EXE
0 EXE(計算伽瑪函數第二個輸入0,顯示答案為 -3.956557433)
Beta 函數的參考資料:
1. Beta function - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Beta_function
2. Beta Function -- from Wolfram MathWorld
http://mathworld.wolfram.com/BetaFunction.html