Re: [問題] 將矩陣重新組合成新矩陣
看板Mathematica作者chungyuandye (養花種魚數月亮賞星星)時間13年前 (2011/09/05 23:24)推噓1(1推 0噓 0→)留言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
討論串 (同標題文章)
Mathematica 近期熱門文章
PTT數位生活區 即時熱門文章