Matlab,基于x = 1平均y值

时间:2014-07-10 17:30:17

标签: arrays matlab matrix

我无法根据x个计数器部分平均y值。

例如

1 5

3 4

1 6

如何根据与x值1配对获得5和6的平均值?对于我的具体问题,我将在重复1' s之间有98个值,并且数组中总共有99个1。

这并不是非常复杂,但是因为我使用了matlab已经超过一年了,所以生锈让我挠头。

1 个答案:

答案 0 :(得分:1)

这是我得到的:

x = [1, 5;
     3, 4;
     1, 6]

col1 = x(:, 1) % extract first row

col1 =

   1
   3
   1

ri = find(col1 == 1) % get row indices where 1 appears

ri =

   1
   3

mean(x(ri, 2)) % index into the second column of rows with a 1, and take average

ans =  5.5000