[問題] 有關matrix reshpae的疑問已回收

看板MATLAB作者 (氧氣)時間14年前 (2011/03/03 08:52), 編輯推噓3(307)
留言10則, 5人參與, 最新討論串1/1
假設我現在有一個三維matrix A 舉一個例子 A(:,:,1) = [ 1 2 3; 4 5 6 ] A(:,:,2) = [ 3 4 5; 6 7 8 ] 我想要reshpe後的矩陣 B = [ A(:,:,1); A(:,:,2) ] 也就是 B = [ 1 2 3; 4 5 6; 3 4 5; 6 7 8 ] 請問不用迴圈的話有什麼特殊的方法嗎 因為直接用reshape的function並不是我要的結果 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.127.111

03/03 10:11, , 1F
你應該要用cat吧,reshape是把矩陣重新以你設定的(m, n)
03/03 10:11, 1F

03/03 10:12, , 2F
重新排列。 不過...B=[A(...); A(...)]不一樣也解決了?
03/03 10:12, 2F

03/03 10:13, , 3F
還是你的資料量很大?
03/03 10:13, 3F

03/03 13:16, , 4F
因為size每次都不一樣...所以不能寫死
03/03 13:16, 4F

03/03 15:16, , 5F
reshape(permute(A,[1 3 2]),4,[])
03/03 15:16, 5F

03/03 15:46, , 6F
size不一樣的話妳疊加起來也難使用不是嗎??
03/03 15:46, 6F

03/03 23:30, , 7F
ㄜ...應該是講說size是我自己決定的
03/03 23:30, 7F

03/03 23:31, , 8F
每次都會變換size來跑結果
03/03 23:31, 8F

03/05 17:57, , 9F
有 squeeze 這個指令可以用
03/05 17:57, 9F

03/05 17:59, , 10F
...呃...squeeze好像沒用
03/05 17:59, 10F
文章代碼(AID): #1DRkP64D (MATLAB)