Re: [問題] 關於矩陣合併

看板MATLAB作者 (郝渴連)時間11年前 (2013/01/07 19:12), 編輯推噓4(402)
留言6則, 5人參與, 最新討論串3/3 (看更多)
※ 引述《wk4xu4j (ha)》之銘言: : 想問假設有A1矩陣,A2矩陣,兩者皆為MxN,想將他們併成一個 : A為2MxN,且A(1,1) A(3,1),依序下去,為A1(1,1) A1(2,1),依序下去的值, : 到A(2M-1,1)為A1(M, 1),依此方式到A(2M-1,N)為A1(M,N)。 : 而A(2,1) A(4,1) 為A2(1,1) A2(2,1)依序到A(2M,N)為A2(M,N)。 : 即做一個新的較大的矩陣,將舊的兩個矩陣的值,交錯的填進去。 : 有什麼好方法嗎?我用兩個for去跑,要跑很久。還是我for有寫錯讓他到不了終點? : for i=1:2:N-1 : for j=1:2:2*M-1 : A(j, i)=A1((j+1)/2, (i+1)/2) : end : end 請不要使用無謂的迴圈 [M1, N1] = size(A1); [M2, N2] = size(A2); A = zeros(M1+M2, N1); A(1:2:end, :) = A1; A(2:2:end, :) = A2; p.s. 上一篇的 onezillion大大 解法很棒, 可是有小小的瑕疵, M跟N若很大時reshape速度很慢, 但若能確定M,N的值域時, 一行的code比較美 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.21.63.132

01/07 21:00, , 1F
這個好,謝謝
01/07 21:00, 1F

01/07 21:22, , 2F
補推,感謝
01/07 21:22, 2F

01/07 21:27, , 3F
matlab 能用矩陣就用矩陣囉
01/07 21:27, 3F

01/07 23:09, , 4F
01/07 23:09, 4F
※ 編輯: mp19990920 來自: 111.67.55.174 (01/08 08:14) ※ 編輯: mp19990920 來自: 111.67.55.174 (01/08 08:17)

01/08 09:28, , 5F
我太弱了QQ
01/08 09:28, 5F

01/08 11:40, , 6F
哈,沒考慮到速度,只因為推文只能一行 XD
01/08 11:40, 6F
文章代碼(AID): #1Gwgs0O1 (MATLAB)
文章代碼(AID): #1Gwgs0O1 (MATLAB)