Вычислить среднее значение интервала столбца в Matlab (интервал не фиксирован) - PullRequest
0 голосов
/ 28 июня 2019

У меня есть массив (2000x2) с двумя переменными, и я хочу вычислить среднее значение для столбца 2 с интервалами, определенными в столбце 1. Как я могу это сделать?

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

Я хочу рассчитать среднее давлениес интервалами скорости 5 см / с.Так что я получаю 20 значений для давления, которые соответствуют 20 интервалам скорости.

Должно быть просто, но я все еще новичок в Matlab.

1 Ответ

2 голосов
/ 28 июня 2019

Функция 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...