Re: [問題] 矩陣行列變換

看板Mathematica作者 (Hysterisis)時間11年前 (2012/11/17 17:11), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《xnicky2000 (愛談低調的地瓜)》之銘言: : 我現在有個矩陣 : ┌ ┐ : │ a b c d │ : │ │ : │ │ : │ e f g h │ : │ │ : │ │ : │ i j k l │ : │ │ : │ │ : │ m n o p │ : │ │ : └ ┘ : 如果我要把 m n o p : 往上移變成 : ┌ ┐ : │ a b c d │ : │ │ : │ m n o p │ : │ │ : │ e f g h │ : │ │ : │ i j k l │ : │ │ : └ ┘ : 要怎樣做啊?? 可以用TABLE做嗎? : 因為如果之後可能又有別行要換 可以比較好了解 : 感謝 : 版本是7.0的 方法很多 線性代數列變換的話是左乘矩陣 [ 1 0 0 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 0 1 0 0 ] 可以用SparseArray寫成 t= SparseArray[{{1, 1} -> 1, {2, 3} -> 1, {3, 4} -> 1, {4, 2} -> 1}] 新矩陣 = t.原矩陣 (* . 是Dot[],即普通矩陣乘法運算 *) 如果用table的方法大概是,以%1代表原矩陣 mtx = Table[Part[%1, i /. {1 -> 1, 2 -> 3, 3 -> 4, 4 -> 2}], {i, 4}] 要行置換就先Transpose,交換過再Transpose回來 mtx2 = Transpose@Table[Part[Transpose[%1], i /.{1->1,2->3,3->4,4->2}],{i, 4}] -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.213.88

11/17 17:12, , 1F
(閒話)對岸線代課本的行跟列剛好跟我們相反,相當傷腦
11/17 17:12, 1F

11/17 17:13, , 2F
筋。在台灣直的是行=column應該沒錯吧XD
11/17 17:13, 2F
文章代碼(AID): #1GfrJ0SI (Mathematica)
文章代碼(AID): #1GfrJ0SI (Mathematica)