我有一个很复杂的单矩阵(9040 X 23293)。 因为这个矩阵对我来说有很多数据,所以我想平均每n行。例如,n可以是10,新矩阵将是904 X 23293。 我尝试使用重塑,但它不适用于复数。
我很想得到一些帮助。
谢谢, 劳伦 谢谢。 Laurn
答案 0 :(得分:1)
重塑可用于复数。由于你没有共享代码,我不知道是什么问题。无论如何,如果行数不是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),:)))];