三階伴隨矩陣/逆矩陣/行列式及矩陣乘法

這個程式將兩個程式(三階矩陣乘法及三階隨矩陣/逆矩陣及行列式(I)合併為一,所以可以節省一個程式位置,特別適合增大程式容量後使用,合併後程式總長度亦略為節省一些。若果不用計算伴隨矩陣,又想直接得出逆矩陣的數值,可以改用附錄的第二個及第三個程式,但程式長度會長一點。

程式編寫日期: 2007年2月7日

程式需要在 REG Quad 模式下執行,因此在輸入程式前請先按 Mode Mode 2 → 3 進入REG Quad模式。

注意: 藍色的英文字為統計模式中的變數(Σx³ 按 Shift 1 → → 1,Σy 按 Shift 1 → 2,Σxy Shift 1 →3),而 ³√是按shift x³,10x是按shift log。

第一個程式(222 bytes)

Stat clear: ?→M: ?→A: ³√(A-1 DT: ?→B: 1 , B DT:

?→C: 0 , C - Σy DT: ?→A: ?→B: ?→C: ?→D: ?→X:

?→Y: M => Goto 0: B + C10x - 6→B: Y ; 0 DT: Lbl 1:

?→C: ?→Y: ?→M: Σx³C + ΣxyY + ΣyM◢ Fix 0: B:

Rnd: Norm 1: CA + Y Ans + M10x6(B - Ans◢ ; 0 DT:

DC + YX + M Ans◢ Goto 1: Lbl 0: Σx³BY + AXΣy +

DΣxyC - BDΣy - XCΣx³ - ΣxyAY◢ BY - CX◢

ΣyX - ΣxyY◢ ΣxyC - ΣyB◢ CD - AY◢ Σx³Y - ΣyD◢

ΣyA - Σx³C◢ AX - BD◢ ΣxyD - Σx³X◢ Σx³B - ΣxyA

 

例題1: 計算下列矩陣的乘積:

按 Prog 1  再按 0 EXE (0代表計算三階矩陣乘法)

1 EXE 2 EXE 3 EXE 3 EXE 2 EXE 1 EXE 4 EXE 5 EXE 6 EXE

(第一個矩陣,由左至右,上至下輸入)

1 EXE 3 EXE 2 EXE (輸入第二個矩陣,第一欄的數據)

(顯示13) EXE (顯示11) EXE (顯示31,這三個數值為答案的第一欄)

EXE 2 EXE 1 EXE 1 EXE (輸入第二個矩陣,第二欄的數據)

(顯示7) EXE (顯示9) EXE (顯示19,這三個數值為答案的第二欄)

EXE 1 EXE 3 EXE 3 EXE (輸入第二個矩陣,第三欄的數據)

(顯示16) EXE (顯示12) EXE (顯示37,這三個數值為答案的第三欄)

所以:

計算完結後,請按Mode 1返回正常模式。

 

例題2: 計算下列矩陣的伴隨矩陣及逆矩陣。

按 Prog 1  再按 1 EXE (1代表計算三階伴隨矩陣及行列式)

2 EXE 1 EXE 3 EXE 7 EXE 4 EXE 6 EXE 8 EXE 9 EXE 7 EXE (顯示行列式的值為40)

EXE (顯示 -26) EXE (顯示 20) EXE (顯示 -6)

EXE (顯示 -1) EXE (顯示 -10) EXE (顯示 9)

EXE (顯示 31) EXE (顯示 -10) EXE (顯示 1)

因此,

計算完結後,請按Mode 1返回正常模式。

 

程式限制:不可以直接輸入分數,否則可能出現MATH ERROR,若要輸入分數,請用除號代替分號。計算矩陣乘法時,輸入的數據絶對值必須為小於100000的整數,若果望計算矩陣乘法(準確版)可以輸入小數,請使附錄3的第四個程式,但程式會較長。

 

附錄1: 第二個程式(可直接顯示逆矩陣(不顯示分數),251 bytes)

Stat clear: ?→M: ?→A: ³√(A-1 DT: ?→B: 1 , B DT:

?→C: 0 , C - Σy DT: ?→A: ?→B: ?→C: ?→D: ?→X:

?→Y: M => Goto 0: B + C10x - 6→B: Y ; 0 DT: Lbl 1:

?→C: ?→Y: ?→M: Σx³C + ΣxyY + ΣyM◢ Fix 0: B:

Rnd: Norm 1: CA + Y Ans + M10x6(B - Ans◢ ; 0 DT:

DC + YX + M Ans◢ Goto 1: Lbl 0: Σx³BY + AXΣy +

DΣxyC - BDΣy - XCΣx³ - ΣxyAY→M◢ M-1(BY - CX◢

M-1(ΣyX - ΣxyY◢ M-1(ΣxyC - ΣyB◢ M-1(CD - AY◢

M-1(Σx³Y - ΣyD◢ M-1(ΣyA - Σx³C◢ M-1(AX - BD◢

M-1(ΣxyD - Σx³X◢ M-1(Σx³B - ΣxyA

 

附錄2: 第三個程式(可直接顯示逆矩陣(顯示分數),260 bytes)

Stat clear: ?→M: ?→A: ³√(A-1 DT: ?→B: 1 , B DT:

?→C: 0 , C - Σy DT: ?→A: ?→B: ?→C: ?→D: ?→X:

?→Y: M => Goto 0: B + C10x - 6→B: Y ; 0 DT: Lbl 1:

?→C: ?→Y: ?→M: Σx³C + ΣxyY + ΣyM◢ Fix 0: B:

Rnd: Norm 1: CA + Y Ans + M10x6(B - Ans◢ ; 0 DT:

DC + YX + M Ans◢ Goto 1: Lbl 0: Σx³BY + AXΣy +

DΣxyC - BDΣy - XCΣx³ - ΣxyAY→M◢ (BY - CX)┘M◢

(ΣyX - ΣxyY)┘M◢ (ΣxyC - ΣyB)┘M◢ (CD - AY)┘M◢

(Σx³Y - ΣyD)┘M◢ (ΣyA - Σx³C)┘M◢ (AX - BD)┘M◢

(ΣxyD - Σx³X)┘M◢ (Σx³B - ΣxyA)┘M

 

附錄3: 第四個程式(計算矩陣乘法時可輸入小數,246 bytes)

Stat clear: ?→M: -1 DT: ?→A: 1 , A DT: ?→B: ³√B , 0 DT: ?→C:

0 , C - Σy DT: ?→A: ?→B: ?→Y: ?→X: ?→C: ?→D: M => Goto 0:

E 60D→D: E - 60Y , X ; 0 DT: Lbl 1: ?→X: ?→M: ?→Y:

XΣxy + MΣx³ +YΣy; 0 DT: XA + MB + E 60AnsY◢

MC + E - 60DY→M: Σy→Y: ; 1 DT: Σy - Y→Y: YX +M◢ ; -1 DT:

Goto 1: Lbl 0: ΣxyBD - CYΣxy + ACΣy + YΣx³X - BXΣy - ADΣx³

BD - YC◢ ΣyC - Σx³D◢ Σx³Y - ΣyB◢ XY - AD◢ ΣxyD - ΣyX◢

ΣyA - ΣxyY◢ AC - BX◢ Σx³X - ΣxyC◢ ΣxyB - Σx³A

 

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

Free Web Hosting