在matlab中重新格式化矩阵

时间:2012-10-26 09:06:37

标签: matlab matrix

这是我面临的问题的一个简单例子:

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

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

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

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您的数组d包含第1天第1行的第1天数据,第22行第22行第2天的数据,依此类推。 d的第1列保存深度(3次),第2列保存测量值。

以您想要的形式获得结果的一种方法是执行:

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

这将为您提供一个包含3行和21列的数组。每列代表一个深度的测量值,每行代表一天的测量值。