Re: [問題] 將矩陣重新組合成新矩陣

看板Mathematica作者 (養花種魚數月亮賞星星)時間13年前 (2011/09/05 23:24), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《idwma (詔)》之銘言: : 例如 : 我有一個6x6矩陣 : ┌11 12 13 14 15 16┐ : │21 22 23 24 25 26│ : │31 32 33 34 35 36│ : A=│41 42 43 44 45 46│ : │51 52 53 54 55 56│ : └61 62 63 64 65 66┘ : 要將裡面的元素重新組合成新的矩陣 : ┌44 12 53 14 15 62┐ : │21 22 23 43 25 26│ : │31 13 33 34 35 36│ : B=│41 42 11 24 45 46│ : │51 52 32 16 54 56│ : └61 55 63 64 65 66┘ B應該是轉換規則吧! A = RandomInteger[100, {6, 6}] transform[ma_List]:=Block[{myrule,tran}, (*轉換規則*) myrule={{44,12,53,14,15,62},{21,22,23,43,25,26}, {31,13,33,34,35,36},{41,42,11,24,45,46}, {51,52,32,16,54,56},{61,55,63,64,65,66}}; (*取出對應位置元素*) tran=ToExpression@ Flatten[Table[{StringTake[ToString[myrule[[i,j]]],1], StringTake[ToString[myrule[[i,j]]],-1]},{i,6},{j,6}],1]; (*重新排列*) Partition[ma[[#[[1]],#[[2]]]]&/@tran,6]] (* test *) transform[A] // MatrixForm -- 養花種魚數月亮賞星星 http://chungyuandye.twbbs.org -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.129.234 ※ 編輯: chungyuandye 來自: 218.173.129.234 (09/05 23:26)

09/06 02:01, , 1F
真的可以耶~好感謝歐!!!!
09/06 02:01, 1F
文章代碼(AID): #1EPEd1xk (Mathematica)
文章代碼(AID): #1EPEd1xk (Mathematica)