У меня есть огромный объем данных в MATLAB (350695x5). Примером такой:Среднее значение диапазона векторных элементов
z = [
1.79 0.16 0.16 21.39 21.50
1.83 0.16 0.16 21.39 22.40
1.92 0.16 0.16 21.39 22.00
2.07 0.16 0.16 21.39 22.00
2.36 0.15 0.15 21.39 21.08
2.96 0.13 0.13 21.39 21.04
3.21 0.13 0.13 21.39 23.00
3.72 0.12 0.12 21.39 24.00
3.87 0.11 0.11 21.39 21.39
4.14 0.10 0.10 21.39 22.00
4.14 0.10 0.10 21.39 21.50
4.16 0.10 0.10 21.39 21.39]
и мне нужно отсортировать его следующим образом: в расчете на 1 колонке с 1-2, 2-3, 3-4 и найти средние значения в диапазоне (0-1, 1-2, 2-3, 3-4) для 2,3,4 колонн
результат должен выглядеть следующим образом:
1 0.16 0.16 21.39 21.97
2 0.15 0.15 21.39 21.49
3 0.12 0.12 21.39 22.68
4 0.10 0.10 21.39 21.63
проблема заключается в том, что я не могу сортировать его надлежащим образом.
Часть раствора может быть описана
[ii jj] = ndgrid(z(:,1)+1,1:size(z,2)-1) %should sort first column from 0-1,1-2, 2-3, 3-4
z23 = z(:,2:end)
out = [unique(z(:,1)),accumarray([ii(:),jj(:)],z23(:),[],@mean)], %find mean value
Итак, в чем ваш вопрос? Вы ничего не просили. Также, пожалуйста, прочитайте [ask], так как мы хотели бы увидеть некоторые усилия с вашей стороны в решении этого вопроса, в частности, код, который вы уже пробовали. [edit] ваш вопрос, чтобы содержать [mcve]. – Adriaan