一元四次方程(III) Quartic Equation III

程式由網友 roviury 提供。

更新日期: 2012年1月15日

這個程式版本只可以計算實數係數的一元四次方程。

程式需要在 CMPLX 模式下執行,因此在選擇新程式位置後,按 2 選用CMPLX模式。

注意: 5!o是按 5 SHIFT x! SHIFT Ans 1。

程式一(實數係數版本,221 bytes)

?→A: ?→B: ?→C: ?→D: ?→M: B┘(4A→B: C┘A - 6B2→C:

D┘A - 4B3 - 2BC→D: M┘A - B( B3 + BC + D→M: C2 - 4M→X:

8C3 - 9┘2( 2CX+3D2→Y:  4C2 - 3X→M: √( Y2 - M3: 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: √( X→X: A => D┘A→X: For -1→D to 1 Step 2: √( 2DX - 2C-A2→M: 

( M - DA )┘2 - B◢ Ans - M◢ Next

 

程式二(複數係數版本,259 bytes)

?→A: ?→B: ?→C: ?→D: ?→M: B┘(4A→B: C┘A - 6B2→C:

D┘A - 4B3 - 2BC→D: M┘A - B( B3 + BC + D→M: C2 - 4M→X:

8C3 - 9┘2( 2CX+3D2→Y:  4C2 - 3X→M: √( Abs(Y2 - M3 => Ans∠(.5arg(Y2 - M3:

Ans - Y - 2Ans( Ans=Y→Y: 3√( Abs( Ans => Ans∠( 3-1arg( Y→Y:

Abs(Ans => Y + M┘Y: ( Ans - 2C)┘3→A: √( Abs(A => Ans∠( . 5arg(A→A:

√( Abs(X => Ans∠( . 5arg(X→X: Abs(A => D┘A→X:

For -1→D to 1 Step 2: 2DX - 2C - A2→M: √(Abs(M => Ans∠( . 5 arg(M→M: ( M - DA )┘2 - B◢

Ans - M◢ - A→A: - X→X: Next

 

例題1: 解 2x4 - 11x3 - 12x2 + 71x + 70 = 0

按 Prog 1  再按 2 EXE - 11 EXE - 12 EXE 71 EXE 70 EXE (顯示第一個根為 5) EXE (顯示第二個根為 3.5)EXE (顯示第三個根為-1)

EXE (顯示第四個根為 -2)

計算完結後按AC 或 EXE 終止程式

 

例題2: 解 3x4 - 5x3 + x2 - 4x =0

按 Prog 1  再按 3 EXE - 5 EXE 1 EXE - 4 EXE

0 EXE (顯示第一個根為1.869774)

EXE (顯示第二個根為 0)

EXE (顯示第三個根實數部為 - 0.101554)

Shift Re<=>Im (顯示第三個根虛數部為 0.838323 i)

EXE (顯示第四個根的實數部為 - 0.101554)

Shift Re<=>Im (顯示第四個根虛數部為 - 0.838323 i)

計算完結後按AC 或 EXE終止程式

 

例題3: 解 (1+2i)x4 + (3+4i)x3 + (5+6i)x2 + (7+8i)x + 9 + 10i = 0

只適用於第二個程式

按 Prog 1  再按 1 + 2i EXE 3 + 4i EXE 5 + 6i EXE 7 + 8i EXE

9 + 10i EXE (顯示第一個根為0.338372)

Shift Re<=>Im (顯示第一個根虛數部為 1.525119 i)

EXE (顯示第二個根為 0.190034)

Shift Re<=>Im (顯示第二個根虛數部為 -1.423764 i)

EXE (顯示第三個根實數部為 - 1.318397)

Shift Re<=>Im (顯示第三個根虛數部為 1.043530 i)

EXE (顯示第四個根的實數部為 - 1.410008)

Shift Re<=>Im (顯示第四個根虛數部為 - 0.744885 i)

計算完結後按AC 或 EXE 終止程式

 

返回 CASIO fx-50FH、fx-3650P II、fx-50FH II及fx-50F PLUS 程式集