2017-10-06 40 views
0

我有一个简单的问题。上市的频率属性值在Matlab

让我告诉你的例子拳头。

如果我有一个矩阵,该矩阵是像下面,

200 , 2; 
100 , 4; 
300 , 6 

(第一列是值,第二个是那些值的计数)

欲阵列像下面

那些数据
200,200, 100,100, 100, 100, 300,300,300,300,300,300 

我怎样才能做到这一点内MATLAB?

+2

有你试过[repelem(https://www.mathworks.com/help/matlab/ref/repelem.html)? – rahnema1

回答

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 
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