Re: [問題] 關於矩陣合併
※ 引述《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
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
01/08 09:28, 5F
→
01/08 11:40, , 6F
01/08 11:40, 6F
討論串 (同標題文章)