一元三次方程(I)

程式修改日期: 2005年12月25日 (更新日期: 2007年9月3日)

程式可以解一元三次方程式,若果答為分數(有理數),本程式較第(II)版有較大機會可直接得出分數答案,建議將計數機預先設定為假分數形式表示(按六次 Mode,再按 1 2 )。

第三及第四個程式只能計算實根,若果有學習過複數的朋友或需要計算複數根,請使用第 一及第二個程式。

第一個程式 (130 bytes)

程式需要在 CMPLX 模式下執行,因此在輸入程式前請先按 Mode 2。

?→A: ?→B: B┘- 3A→B: ?→C: C┘A→C: ?→M:

B3 - BAns┘2 - M┘(2A→M:√( ( C┘3 - B2)3 +

Ans2 M+: Ansi => 2 3Abs M cos ( arg M ÷ 3) => Goto 0:

3M + 3( M + 2Ansi: Lbl 0: Ans + B→A◢ 3B - Ans→M:

M┘2 + √(AM - C + M2┘4→B◢ M - Ans→C

 

第二個程式 (125 bytes,不儲存第二個根)

程式需要在 CMPLX 模式下執行,因此在輸入程式前請先按 Mode 2。

?→A: ?→B: B┘- 3A→B: ?→C: C┘A→C: ?→M:

B3 - BAns┘2 - M┘(2A→M:√( ( C┘3 - B2)3 +

Ans2 M+: Ansi => 2 3Abs M cos ( arg M ÷ 3) => Goto 0:

3M + 3( M + 2Ansi: Lbl 0: Ans + B→A◢ 3B - Ans→M:

M┘2 + √(AM - C + M2┘4 M-◢ M

 

第三個程式 (138 bytes 實數版 (Comp模式) )

?→A: ?→B: B┘- 3A→B: ?→C: C┘A→C: ?→M:

B3 - BAns┘2 - M┘(2A→M: B2 - C┘3→D: M2 - Ans3→X:

0>X => 2 √D cos ( 3-1 cos-1 M┘√D3) => Goto 0: √XM+:

3M + 3( M - 2 Ans: Lbl 0: Ans + B→A◢ 3B - Ans→M:

M┘2 + √(AM - C + M2┘4→B◢ M - Ans→C

 

第四個程式 (133 bytes 實數版 (Comp模式),不儲存第二個根)

?→A: ?→B: B┘- 3A→B: ?→C: C┘A→C: ?→M:

B3 - BAns┘2 - M┘(2A→M: B2 - C┘3→D: M2 - Ans3→X:

0>X => 2 √D cos ( 3-1 cos-1 M┘√D3) => Goto 0: √XM+:

3M + 3( M - 2 Ans: Lbl 0: Ans + B→A◢ 3B - Ans→M:

M┘2 + √(AM - C + M2┘4 M-◢ M

 

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

按 Prog 1  再按 3 EXE - 5 EXE 1 EXE - 4 EXE (顯示第一個根為1.86977)

EXE  (第三及第四個程式出現 Math ERROR,而第一及第二個程式右上角出現R<=>I,表示為複數解)

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

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

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

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

 

例題2: 解 2x3 - x2 - 72x + 36 =0

按 Prog 1  再按 2 EXE - 1 EXE - 72 EXE 36 EXE (顯示第一個根為6)

EXE (顯示第二個根為 1/2) EXE (顯示第 三個根為 -6)

 

例題3: 解 x2 - 7x + 12 = 0  (一元二次方程)

方程可以寫成 x3 - 7x2 + 12x = 0 (其中捨去一個 x=0 的解)

按 Prog 1  再按 1 EXE - 7 EXE 12 EXE 0 EXE(顯示第一個實數根為4)

EXE (顯示第二個實數根為3) EXE (顯示第三個根為0 (捨去))

 

註1: 第一個程式執行完成後,可按 RCL A、RCL B 及RCL C分別會顯示三個根的數值。 第二個及第四個程式的第一個根及第三個根記存在記憶A及M中,第二個根沒有記存,若為複數根(第二個程式)可以參考第三個根,因為第二個根與第三個根有共軛複數的關係。

註2: 輸入的係數為整數或分數較為理想,若果輸入的係數為小數,準確度有可能會減少一點。

註3: 第一個根必為實數根。

註4: 程式用作解一元二次方程時,要捨去其中一個0的解,另外這個0的解有可能因計數機的誤差而出現一個很小的數值。

 

返回 fx-3650P及SC-185程式集