聯立三元一次方程及行列式分數版
程式編寫日期: 2005年11月24日
程式共有兩個,第一個程式較短,但計算三階行列式時,有機會被程式限制條件影響。第二個程式計算三階行列式則不受任何限制。另外若果輸入係數為整數,答案會以分數形式表示,建議將計數機預先設定為假分數形式表示(按六次 Mode,再按 1 2 )。
程式需要在 SD 模式下執行,因此在輸入程式前請先按 Mode Mode 1 進入SD模式。
注意 : 若果不用記存答案,程式中綠色部份可以不輸入 ,第一個程式長度變為126 bytes,第二個程式則為132 byes。藍色的英文字為統計模式中的變數(n 按 shift 1 3 ,x為平均x 按 shift 2 1)
第一個程式 (126 bytes 或 132 bytes)
Stat clear: Lbl 0: ?→D: ?→C: ?→B: ?→A: n => Goto 1:
?→X: ?→Y: ?→M: DY - CX ; CM - BY DT: BX - DM→X:
?→D: CD - AY→Y: AM - BD→M: Goto 0: Lbl 1:
Dn + CX + Bx→D◢ (An - CM - BY)┘Ans→A◢
(M + XA)┘n→B◢ (Y + xA)┘n→C
第二個程式 (132 bytes 或 138 bytes)
Stat clear: ?→A: ?→B: ?→C: ?→D: ?→X: ?→Y:
AY - XB→M: A: ?→A: CX - AnsA→X: B: ?→B:
AnsB - YD ; AnsA - YC DT: DA - BC→Y:
?→D: ?→C: ?→B: ?→A: Dn + CX + BM→D◢
(An - YC - xB)┘Ans→A◢
(XA + Y)┘n→B◢ (MA + x)┘n→C
程式小數版 (較簡短,123 bytes - 129 bytes)
例題1: 解聯立方程 :
按 Prog 1 再按 1 EXE 1 EXE 1 EXE 6 EXE 1 EXE -1 EXE 2 EXE 5 EXE 1 EXE 3 EXE 1 EXE 10 EXE
(顯示方程組行列式為 -2) EXE (顯示x=1) EXE (顯示y=2) EXE (顯示z=3)
例題2: 計算下列的行列式:
按 Prog 1 再按 1 EXE 2 EXE 3 EXE EXE (不輸入數值)
7 EXE 8 EXE 9 EXE EXE (不輸入數值)
6 EXE 5 EXE 2 EXE EXE (不輸入數值,最後顯示行列式的值為12)
註1: 若程式有綠色程式碼,執行完成後,按 RCL A 、RCL B及RCL C分別顯示x、y、z的值,按 RCL D 顯示方程組行列式的值。
註2: 若方程組為 a1x + b1y + c1z = d1 , a2x + b2y + c2z = d2 , a3x + b3y + c3z = d3
解聯立三元一次方程的限制條件為: b1c2≠b2c1
第一個程式: 若果出現Math error,代表方程組的行列式為零,表示方程無唯一解(無限解或無解),若果輸入的數據違反限制條件,輸入所有數據後會出現 "X?"及沒有"Disp",這時只要重新輸入第一及第二條方程即可(第三條方程不需重新輸入 ,故操作效率較高)。
第二個程式: 若果方程組的行列式顯示為零,表示方程無唯一解(無限解或無解),繼續執行程式會出現Math error。若果方程組的行列式顯示為非零的數值,並且隨後出現Math error,表示違反限制條件,請將方程組內的方程式調換次序輸入。
註3: 若計算三階行列式,第一個程式的限制條件為: b1c2≠b2c1,第二個程式則沒有任何限制。