聯立三元一次方程及行列式(I)
程式新版 (舊版保留在網頁下方)
程式參考了網友 tony200910041修改意見。
新版程式較舊版短一些,第二個程式(多2 bytes)可保留M記憶作儲存臨時數據之用。
若果輸入係數為整數,答案會以分數形式表示,建議將計數機預先設定為假分數形式表示(按 SHIFT SETUP → → 2 )。
更新寫日期: 2011年5月5日
程式需要在 REG Lin 模式下執行,因此在選擇新程式位置後,按 5 1 選用REG Lin模式。
注意 : 若果不用記存答案,程式中綠色部份可以不輸入 ,第一個程式長度變為128 bytes,第二個程式則為132 byes。藍色的英文字為統計模式中的變數(maxX 按 shift 2 2 2,maxY 按 shift 2 2 → 2,n 按 Shift 1 3),FreqOn 按 Shift MODE ← ← 1。
第一個程式 (126 bytes 或 132 bytes)
FreqOn: ?→D: ?→C: ?→B: ?→A: ?→X: ?→Y: ?→M:
DY - CX , BX - DM ; CM - BY DT: ?→X:
CX - AY→Y: AM - BX→M: ?→D: ?→C: ?→B: ?→A:
Dn + C maxY + B maxX→D◢ (An - CM - BY)┘Ans→A◢
(M + maxY A)┘n→B◢ (Y + maxX A)┘n→C
第二個程式 (128 bytes 或 134 bytes,使用記憶A, B, C, D, X及Y)
FreqOn: ?→D: ?→C: ?→B: ?→A: D: ?→D: ?→X: ?→Y:
AnsX - CD , BD - AnsY ; CY - BX DT: ?→D:
CD - AX→X: AY - BD→Y: ?→D: ?→C: ?→B: ?→A:
Dn + C maxY + B maxX→D◢ (An - CY - BX)┘Ans→A◢
(Y + maxY A)┘n→B◢ (X + maxX A)┘n→C
例題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,代表方程組的行列式為零 或違反限制條件,若果是違反限制條件,請將方程組內的方程式調換次序輸入。
註3: 若計算三階行列式,程式的限制條件為: b1c2≠b2c1。
返回 CASIO fx-50FH、fx-3650P II、fx-50FH II及fx-50F PLUS 程式集
程式舊版
程式編寫日期: 2007年9月14日
程式共有兩個,第一個程式較短,但計算三階行列式時,有機會被程式限制條件影響。第二個程式計算三階行列式則不受任何限制。另外若果輸入係數為整數,答案會以分數形式表示,建議將計數機預先設定為假分數形式表示(按 SHIFT SETUP → → 2 )。
程式需要在 SD 模式下執行,因此在選擇新程式位置後,按 4 選用SD模式。
注意 : 若果不用記存答案,程式中綠色部份可以不輸入 ,第一個程式長度變為128 bytes,第二個程式則為132 byes。藍色的英文字為統計模式中的變數(n 按 shift 1 3 ,x為平均x 按 shift 2 1)
第一個程式 (128 bytes 或 134 bytes)
ClrStat: ?→D: ?→C: ?→B: ?→A: ?→X: ?→Y: ?→M:
DY - CX ; CM - BY DT: BX - DM→X: ?→D:
CD - AY→Y: AM - BD→M: ?→D: ?→C: ?→B: ?→A:
Dn + CX + Bx→D◢ (An - CM - BY)┘Ans→A◢
(M + XA)┘n→B◢ (Y + xA)┘n→C
第二個程式 (132 bytes 或 138 bytes)
ClrStat: ?→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
程式小數版 (較簡短,125 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,代表方程組的行列式為零 或違反限制條件,若果是違反限制條件,請將方程組內的方程式調換次序輸入。
第二個程式: 若果方程組的行列式顯示為零,表示方程無唯一解(無限解或無解),繼續執行程式會出現Math error。若果方程組的行列式顯示為非零的數值,並且隨後出現Math error,表示違反限制條件,請將方程組內的方程式調換次序輸入。
註3: 若計算三階行列式,第一個程式的限制條件為: b1c2≠b2c1,第二個程式則沒有任何限制。