2013-04-07 49 views
0

我在Matlab中有两个行向量,比如说X和Y(两者都是相同的大小)。现在我想查找订单对(x,y)的频率。这个怎么做?matlab中订单对的频率

回答

1

使用unique找到唯一对他们occurances

[C, ia, ic] = unique([X Y], 'rows'); 
n = hist(ic, 1:size(C,1)); % count the pairs 
freq = n ./ sum(n); 
+0

我没有得到你的最后一个命令。我想要[X Y] – sahil 2013-04-07 07:40:45

+0

@sahil中每个订单对的频率 - 最佳方式:在调试模式下运行,看看会发生什么。 'ic'存储唯一对的行索引(从'C'映射到'[X Y]')。 'hist'命令计算每个唯一索引的频率,从而以'n'返回每个对的出现次数。 – Shai 2013-04-07 07:55:38

+0

所以我应该得到的是没有。 n中的行数与n相同。因为每一行都应该告诉C中相应对的频率。但是我收到的是:size(C):821 x 2 and size(n):1 x 1642 – sahil 2013-04-07 09:52:16