计算Matlab中列的间隔平均值(间隔不固定)

时间:2019-06-28 11:07:57

标签: matlab mean intervals

我有一个带有两个变量的数组(2000x2),想以由列1确定的间隔来计算列2的平均值。

speed=(:,1); %values range from 0-100 cm/s
press=(:,2); 

我想以5 cm / s的速度间隔计算平均压力。这样我得到20个压力值,分别对应20个速度间隔。

应该很简单,但是我仍然是Matlab的初学者。

1 个答案:

答案 0 :(得分:2)

accumarray函数就是这样做的:

data = [0 20 33 44 22 56 25 47 81 90; 3 5 4 3 2 4 5 5 6 0].';
speed = data(:,1);
press = data(:,2);
sz = 5; % interval size
fill = NaN; % fill value in the result, for empty groups
group = floor(speed/sz)+1; % compute index of group for each value
result = accumarray(group, press, [], @mean, NaN); % compute mean of each group