【发布时间】:2018-11-18 12:34:55
【问题描述】:
我有一个包含两列大约 500 行的矩阵。第一列的值从 1 到 48 不等。这意味着第一列中有重复的数字。 我需要构建一个有 48 行的新矩阵,每行包含第 1 列中特定数字的信息。例如考虑以下数据:
x = [ 3 500
5 400
3 200
1 100
1 1100
2 450
3 890
1 110
2 800
....]
所以,输出矩阵应该是:
Output = [100 1100 110 ...0 0 0; 450 800 ... 0 0 0; 8200 890 0 0 0 ...; 0 0 0];
我知道如何使用 for 循环来完成,但我需要在没有 for 循环的情况下完成。
我使用了以下几行
XX = X(:,2);
Output = XX(X(:,1)==(1:48)');
但是没有用,因为新矩阵的行数不一样。
感谢任何帮助。
【问题讨论】:
标签: matlab