[討論] 矩陣維度轉換 129X129 轉 3X5547已回收

看板MATLAB作者 (GuanTing)時間15年前 (2010/12/09 11:02), 編輯推噓3(304)
留言7則, 4人參與, 最新討論串1/1
我想將129X129的矩陣轉換為3X5547,簡單舉俐如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 2 3 4 5 6 19 20 21 22 23 24 7 8 9 10 11 12 25 26 27 28 29 30 13 14 15 16 17 18 31 32 33 34 35 36 我的程式如下 clear yy ee=1; ff=1; bb=1; for bb=1:5547 if ff>=130 & ee<129 ff=1; ee=ee+3; else yy(1,bb)=qq(ee,ff); yy(2,bb)=qq(ee+1,ff); yy(3,bb)=qq(ee+2,ff); ff=ff+1; end end 執行結果都匯錯誤~並非我所想要結果~敬請各位大大指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 221.169.232.102

12/09 11:22, , 1F
B=[A(1:3,:),A(4:6,:)]
12/09 11:22, 1F

12/09 12:22, , 2F
這樣對於短的矩陣ok~長的矩陣該怎辦呢?
12/09 12:22, 2F

12/09 13:56, , 3F
你的code在bb=130的時候只執行ee+3的動作就結束跳到
12/09 13:56, 3F

12/09 13:57, , 4F
BB=131 所以才會發生錯誤
12/09 13:57, 4F

12/09 14:01, , 5F
試試看B=[] ,for k=1:43 B=[B A(3k-2:3k,:)]
12/09 14:01, 5F

12/09 14:16, , 6F
感謝您~~~真的跑出結果了...^^
12/09 14:16, 6F

12/09 15:05, , 7F
用reshape函數
12/09 15:05, 7F
文章代碼(AID): #1D04RFqA (MATLAB)