2012-10-26 121 views
0

矩阵这是我面临的一个问题的一个简单的例子:重新格式化在MATLAB

depth = [0:1:20]'; 
data = rand(1,length(depth))'; 

d = [depth,data]; 
d = [d;d;d]; 

考虑矩阵“d”。在这里,我们在第一列有深度,接着是在第二栏记录的深度温度(在这个例子中我们有3天的数据)。我怎么能改变这个矩阵,以便每列代表一个特定的深度,每一行代表时间。所以,最后我应该有3列21列。

回答

1

如果我理解正确,您的数组d的第1天的行数为1:21,第2天的行数为22:42,依此类推。 d的第1列保存深度(3次),第2列保存测量值。得到你想要的形式的结果

的一种方法是执行:

d2 = reshape(d(:,2),21,3)'; % note the ' for transposition here 

这使你用3行21列的阵列。每列表示一个深度的测量值,每行表示一天的测量值。