作者Oxygenair (氧氣)
看板MATLAB
標題[討論] 請問矩陣重複延伸
時間Thu Feb 16 00:47:57 2012
我現在想要將原本的矩陣重複做延伸
例如
A = [ 1 2 3
4 5 6 ]
我希望延伸兩倍後會變成
B = [ 1 1 2 2 3 3
4 4 5 5 6 6 ]
我知道repmat指令可以做矩陣的疊接
可是出來會是
C = [ 1 2 3 1 2 3
4 5 6 4 5 6 ]
這不是我要的結果
請問一下有沒有精簡快速的發法可以達成這個效果呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.127.59
1F:推 kevinztw:B = [A(:,1); A(:,1); A(:,2);A(:,2);A(:,3);A(:,3)] 02/16 00:56
2F:→ Oxygenair:XD...我的size是不固定的 而且延伸幾倍也不是固定的 02/16 00:58
3F:推 sunev:往第三個dimension疊,把第二個和第三個dimension交換,合併 02/16 05:16
4F:→ DKer:AA=A(:); BB=[AA AA]; B=reshape(BB,2,:); 02/16 08:27
5F:→ Oxygenair:D大的方法好像有點問題@@ 02/16 11:58
6F:→ DKer:不太確定AA會長怎樣..如果是變成1*n的話 改這樣: 02/16 13:36
7F:→ DKer:AA=A(:)'; 就好 02/16 13:37
8F:→ DKer:啊 是這裡的問題.... B=reshape(BB,2,__); <=__要自己輸入 02/16 13:38
9F:推 forloricever:kron([1 2 3; 4 5 6], ones(1, 2)) 02/29 00:04