矩陣是二維數組,行寬和列寬均大於2的二維數組是矩陣(易語言中)。
我們可以這樣理解:一堆數據排列成一個陣,這個陣的形狀是矩形,於是咱們稱陣(這種形式)為矩陣。
轉置是矩陣的一種算法,就像四則運算(即加、減、乘、除)那樣的;它將矩陣的每一行變成列,那么原先的每一列就會變成行,簡單點說就是行列互換。
【矩陣轉置前后】
【易語言 - 矩陣轉置算法】
(算法不一定最優,只是比較簡單罷了)
(算法由我[砹小翼]編寫,沒有參考其它資料)
1 .版本 2 2 3 .子程序 整數矩陣轉置, 邏輯型, 公開, 對一個整數矩陣進行“轉置”運算,可理解為行和列互相調換。數組不為整數矩陣則返回假。 4 .參數 欲轉置的整數矩陣, 整數型, 數組 5 .參數 存放結果的變量, 整數型, 參考 可空 數組, 如果不提供此參數,則將結果返回給矩陣所在變量;如果提供此參數,則矩陣不變,結果存放在此參數。 6 .局部變量 一維下標, 整數型 7 .局部變量 二維下標, 整數型 8 .局部變量 i, 整數型 9 10 一維下標 = 取數組下標 (欲轉置的整數矩陣, 1) 11 二維下標 = 取數組下標 (欲轉置的整數矩陣, 2) 12 .如果真 (一維下標 < 2 或 二維下標 < 2 或 取數組下標 (欲轉置的整數矩陣, 3) ≠ 0) 13 返回 (假) 14 .如果真結束 15 .計次循環首 (一維下標 × 二維下標, i) 16 加入成員 (存放結果的變量, 欲轉置的整數矩陣 [i]) 17 ' 易語言中,非線性數組可當作線性數組讀取。 18 ' 設數組為[4,3],依照讀取順序,對應關系為: 19 ' [1] : [1] [1] 20 ' [2] : [1] [2] 21 ' [3] : [1] [3] 22 ' [4] : [2] [1] 23 ' [5] : [2] [2] 24 ' ... 25 ' [9] : [3] [3] 26 ' [10] : [4] [1] 27 ' [11] : [4] [2] 28 ' [12] : [4] [3] 29 .計次循環尾 () 30 重定義數組 (存放結果的變量, 真, 二維下標, 一維下標) 31 .如果真 (是否為空 (存放結果的變量)) 32 復制數組 (欲轉置的整數矩陣, 存放結果的變量) 33 .如果真結束 34 返回 (真)
【易語言 - 矩陣判斷】
易語言中,只要二維數組兩個維度的下標都大於1,那么二維數組一定是矩陣。
詳細代碼:(其實很簡單)
1 .版本 2 2 3 .子程序 是否為整數矩陣, 邏輯型, 公開, 檢驗一個二維數組是否為整數矩陣,是則返回真,否則返回假。 4 .參數 欲檢查的數組, 整數型, 數組 5 6 返回 (取數組下標 (欲檢查的數組, 1) ≥ 2 且 取數組下標 (欲檢查的數組, 2) ≥ 2 且 取數組下標 (欲檢查的數組, 3) = 0)