作者rewq7890 (天渡)
看板MATLAB
标题[问题] 三维矩阵 转成 二维矩阵
时间Wed Apr 18 14:47:33 2012
我的资料格式长这样
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
1F:推 DKer:reshape 04/18 14:55
经由版友提醒我再仔细的看一次reshape
发现我根本和我要的答案擦身而过...
RSline=reshape(RS,m*n,t);
这样就好了
对吧?!
※ 编辑: rewq7890 来自: 111.251.179.121 (04/18 15:02)
2F:推 Gwaewluin:就是这麽简单,另外注意一下元素是用column为主在排的 04/18 16:35
3F:推 ak075:permute 04/21 21:30