усреднить каждые n строк в сложной матрице - PullRequest
0 голосов
/ 09 июня 2018

У меня большая сложная единичная матрица (9040 X 23293).Поскольку эта матрица содержит много данных для меня, я хочу усреднить каждые n строк.Например, n может быть 10, а новая матрица будет 904 X 23293. Я пытался использовать изменение формы, но оно не работает с комплексными числами.

Я бы хотел получить помощь.

Спасибо, Лорен. Спасибо.Laurn

1 Ответ

0 голосов
/ 09 июня 2018

Reshape работает на комплексных числах.Поскольку вы не передали код, я не знаю, в чем проблема.В любом случае, если число строк не кратно 10, вы можете изменить форму первых 10 * n строк и добавить среднее значение оставшихся строк.Вы можете найти общее решение в следующем для данной комплексной матрицы m:

fixed_num_rows = fix(size(m,1)/n);
means = mean(reshape(m(1:(fixed_num_rows * n),:), fixed_num_rows, n * size(m,2)),2);
means = [means; mean(mean(m((fixed_num_rows * n + 1):size(m,1),:)))];
...