我有一个简单的问题。
让我举两个例子。
如果我有一个如下所示的矩阵,
200 , 2;
100 , 4;
300 , 6
(第一列是值,第二列是这些值的计数)
我想对这些数据进行排列,如下所示
200,200, 100,100, 100, 100, 300,300,300,300,300,300
我怎样才能在MATLAB中做到这一点?
答案 0 :(得分:1)
如rahnema1所述,可以使用repelem
完成此操作。按照你的例子:
input = [200 2; 100 4; 300 6];
v = input(:,1); % your data
n = input(:,2); % these are your counts
result = repelem(v,n)
result = result'; % transpose result if preferred
答案 1 :(得分:0)
如果您有以下矩阵:
A = [ 200 , 2;
100 , 4;
300 , 6;]
你可以这样做:
B = repelem(A(:,1),A(:,2))';
输出应为:
B =
200 200 100 100 100 100 300 300 300 300 300 300