理解矩陣轉置及矩陣轉置算法


矩陣是二維數組,行寬和列寬均大於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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM