一元五次方程
更新日期: 2012年12月3日
程式由Skwai 提供及參考了roviury意見修改。
程式可以計算一元五次方程式(quintic equations)的五個根(包括複數根)。
程式需要在 CMPLX 模式下執行,因此在選擇新程式位置後,按 2 選用CMPLX模式。
程式 (307 bytes)
?→A: ?→B: ?→C: ?→D: ?→X: ?→Y: π→M:
While (AM^(5) + BM2 2 + CM3 + DM2 + XM + Y)
÷ (5AM2 2 + 4BM3 + 3CM2
+ 2DM + X M-: WhileEnd:
M◢ B + AAns→B: C + AnsM→C: D + AnsM→D: X + AnsM→M:
B┘(4A→B: C┘A - 6Ans2→C: D┘A - 4B3 - 2AnsB→D: M┘A - B( B3
+ BC + Ans→M:
C2 - 4Ans→X: 8C3 - 9┘2( 2AnsC+3D2→Y: 4C2 - 3X→M: √( Y2 - Ans3:
Ans - Y - 2Ans( Ans=Y→Y: 3√( Abs( Ans => Ans∠( 3-1arg( Y ) + 5!o (πr = arg( Y→Y:
Abs(Ans => Y + M┘Y: √( ( Ans - 2C)┘3→A: A
=> D┘Ans→X: For -1→D To 1 Step 2:
√( 2DX - 2C-A2→M: ( Ans - AD )┘2 - B◢ Ans - M◢ Next
例題1: 解 x5 - 3x4 - 23x3 + 51x2 + 94x - 120 = 0
按 Prog 1 再按 1 EXE - 3 EXE - 23 EXE 51 EXE 94 EXE - 120 EXE (顯示第一根為3)
EXE (顯示第二個根為 5) EXE (顯示第三個根為 1)
EXE (顯示第三個根為 - 2) EXE (顯示第五個根為 -4)
計算完結按 AC 或 EXE 終止程式
例題2: 解 3x5 - 2x4 - 22x3 + 27x2 - 10x + 24 = 0
按 Prog 1 再按 3 EXE -2 EXE -22 EXE 27 EXE -10 EXE 24 EXE (顯示第一根為2)
EXE ( 此時計算機右上角出現R<=>I,表示為複數解)
(顯示第二個根實數部為 - 0.101554)
Shift Re<=>Im (顯示第二個根虛數部為 0.838323 i)
EXE (顯示第三個根的實數部為 - 0.101554)
Shift Re<=>Im (顯示第三個根虛數部為 - 0.838323 i)
EXE (顯示第四個根為1.86977)
EXE (顯示第五個根為 - 3)
計算完結按 AC 或 EXE 終止程式
註: 程式使用牛頓法計算第一個根的值,可能需要較長的時間,另外若果第一個根為重根,誤差可能會較大。
程式舊版
程式需要在 CMPLX 模式下執行,因此在選擇新程式位置後,按 2 選用CMPLX模式。
注意 : 若果不需要記存方程的答案,程式中綠色部份可以不輸入。
程式 (350 / 346 bytes)
?→X: ?→B: ?→C: ?→A: ?→D: ?→Y: π→M:
While (XM^(5) + BM2 2 + CM3 + AM2 + DM + Y)
÷ (5XM2 2 + 4BM3 + 3CM2 + 2AM + D M-: WhileEnd:
- (B┘X + M)┘4→B: C┘X - 4BM→C: A┘X + CM→A:
M→Y◢ 3B2 2 - CB2 - AB - D┘X - AM→M:
CB┘2 - 2B3 + A┘4→A: B2 - C┘6→C:
If A: Then A2 - CM - C3:
Ans + √(Ans2 + (M┘3 - C2)3→D: iD - iConjg( D => 2 3√( Abs( D ) )
cos ( 3-1 arg( D => Goto 2: 3√( D) + 3√(2A2 - 2CM - 2C3 - D: Lbl 2:
√(Ans┘2 + C→M: 3C - M2→C: C + A÷M→A:
Else 3C→C: C + √( C2 + M→A: MM-: IfEnd: 2C - A→C:
√( Abs( A => Ans∠ ( . 5 arg (A: Ans - M + B→A◢ √( Abs( C =>
Ans∠ ( . 5 arg (C: Ans + M + B→C◢ 2B - 2M - A→M◢
4B - A - Ans - C→B