Beta 函數II (Beta Fucntion II)
程式編寫日期: 2014年8月1日
程式由網友 Skwai提供。
這個程式可以計算Beta函數B(x,y)的數值,大約能夠準確至有效數字九至十位,另外這個版本較特別之處是可以計算複數因變數的Beta函數。
注意: e^( 是按shift ex。
程式 (249 bytes)
ClrMemory: ?→A: ?→Y: 1→D: While M≠3M+:
A ( 0 > A ( A = Conjg ( A→C: Ans => Abs( Ans→A:
Abs( A ) sin( arg( A→X: A - . 5 - i Ans→B: A + 3.85:
Abs( Ans ) ^ ( B ) ÷ e^( π
r-1 X π arg( Ans:
Ans ∠ ( B arg( A + 3.85 ) + π -1 X πr
ln( Abs( A + 3.85:
Ans ÷ e^( B + 3.5 ) ∠ Xr
×
( 1.071370357 +
39.41066934 ÷ A - 35.55136409 ÷ ( A + 1 ) + 6.326951402 ÷ ( A + 2
) - . 0943944629 ÷ ( A + 3: If C: Then π ÷ ( Ans A sin( C
πr : IfEnd:
Ans ÷ D→D: Y = 0 => Break: C
=> Ans→A: Y + A ( M≠2→A: WhileEnd: D
註1: 輸入如 B ( 0.35 , 0 ) 時,視為計算Γ ( 0.35 )。如只計算Beta函數,程式碼Y = 0 => Break: 可以不輸入,程式長度變為242 bytes。
註2: 如果是使用fx-50FH,上述程式中的乘號 ×可以省略不輸入,程式長度可節省1 byte。
註3: 答案記存在 D ,按 RCL D可以顯示。
例題1: 計算 B(1.2 , 2.3)的值。
按 Prog 1 再按 1.2 EXE 2.3 EXE (顯示答案為0.322336825)
例題2: 計算 B(1+2i , 3+4i)的值。
按 Prog 1 再按 1+2i EXE 3+4i EXE
( 此時計算機右上角出現R<=>I,表示為複數解)
(顯示實數部為- 0 . 061 274 167) 再按 Shift Re<=>Im (顯示第一個根虛數部為 0 . 197 519 756)
即 B(1+2i , 3+4i) = - 0 . 061 274 167 + 0 . 197 519 756 i
例題32: 計算Γ(0.35)的值。
按 Prog 1 再按 0.35 EXE
0 EXE(計算伽瑪函數第二個輸入0,顯示答案為2.546146978)
例題4: 計算Γ(- 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
For 0→X To 2: If X≠2: Then AnsX→Y: A→D:
?→A: Else AnsY→Y: A + D→A: IfEnd:
A ( 0 > A ( A = Conjg( A→C: C => Abs(
C→A:
Abs( A ) sin( arg( A→M: e^(A
+ 3 - Mi )∠ Mr→B: A + 3.85:
( Abs( Ans) )^(A - . 5 - iM) e^( -
πr -1 M
π arg( Ans) )
∠ ( (A - . 5 - iM) arg( Ans ) + π -1 M πr ln(
Abs( Ans:
AnsB-1( 1.07 137 035 7+ 39.4 106 693 4 ÷ A - 35.5 513 640 9 ÷ ( A + 1
)
+ 6.32 695 140 2 ÷ ( A + 2 ) - . 094 394 462 9 ÷ ( A + 3:
If C: Then - π ÷ (AnsC sin( C πr :
IfEnd: Next: Y ÷ Ans