[問題] 三維矩陣 轉成 二維矩陣

看板MATLAB作者 (天渡)時間13年前 (2012/04/18 14:47), 編輯推噓3(300)
留言3則, 3人參與, 最新討論串1/1
我的資料格式長這樣 RS(m,n,t) 表示一個m*n的平面(二維矩陣) 在時間t 現在我想把m*n拉成一個一維向量 並且按照時間排列 變成RSline(m*n,t) 這樣的型式 我現在只想到用FOR的方法暴力寫 for i=0:(size(RS,3)-1) RSline(:,i+1)=RS((1+m*n*i):(m*n+m*n*i)); end 或是 for i=0:(size(RS,3)-1) RSline2(:,i+1)=reshape(RS(:,:,i+1),m*n,1); end 不過這兩個跟方法也只是換句話說 處理時間一樣久 不知道版友有沒有什麼小秘訣可以加速? 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.179.121

04/18 14:55, , 1F
reshape
04/18 14:55, 1F
經由版友提醒我再仔細的看一次reshape 發現我根本和我要的答案擦身而過... RSline=reshape(RS,m*n,t); 這樣就好了 對吧?! ※ 編輯: rewq7890 來自: 111.251.179.121 (04/18 15:02)

04/18 16:35, , 2F
就是這麼簡單,另外注意一下元素是用column為主在排的
04/18 16:35, 2F

04/21 21:30, , 3F
permute
04/21 21:30, 3F
文章代碼(AID): #1FZcE8UT (MATLAB)