三階矩陣乘法
更新日期: 2011年6月1日
程式可以計算一個 3 × 3 整數矩陣及另一個 3 × n矩陣的乘積,其中 n是正整數。程式沒有整數的限制,第一個程式較短,但準確度低一點,第二個程式準確度很高,但程式較長一點。
程式需要在 REG Lin 模式下執行,因此在選擇新程式位置後,按 5 1 選用REG Lin模式。
注意: 藍色的英文字為統計模式中的變數(Σx 按 Shift 1 2,Σy 按 Shift 1 → 2,Σxy 按 Shift 1 → 3)。
第一個程式(精簡版,113 byes)
FreqOn: ?→A: ; A - 3 DT: ?→B: B - 1 DT:
?→C: 1 , C DT: ?→D: 0 , D - C DT: ?→X:
X ; 0 DT: ?→Y: ?→M: ?→D: ?→X: While 1:
?→A: ?→B: ?→C: An + BΣx + CΣxy◢ ; 0 DT:
AΣy + BAns + CY◢ AM + BD + CX◢ WhileEnd
程式限制: 程式雖然可以接受小數,但可能存在計算誤差,為了被免誤差出現,所以輸入的數值的絶對值不宜太大或太小,建議最大的絶對值小於106,而最小的位值為10-5。
第二個程式(準確版,125 byes)
FreqOn: ; - 5 DT: -1 DT: ?→A: 1 , A DT: ?→B:
B , 0 DT: ?→C: 0 , -A DT: , C DT: ?→D: , 0 ; D DT:
?→X: X ; 0 DT: ?→Y: ?→M: ?→D: ?→X: While 1:
?→A: ?→B: ?→C: AΣxy + BΣx + CΣy◢ ; 0 DT:
An + BAns + CY◢ AM + BD + CX◢ WhileEnd
程式限制: 無特別限制。
例題: 計算下列矩陣的乘積:
按 Prog 1 再按 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,這三個數值為答案的第三欄)
所以: