例如,对于矩阵 A = [1 2; 3 4; 5 6; 7 8; 9 10; 11 12],输出将是 B = [4 6; 12 14; 20 22] 如果我将矩阵中每两个相邻行相加。
ps:如果该函数也适用于列向量来对 n 个相邻条目求和,那就更好了。
您可以使用
reshape
和 sum
来完成此操作:
k = 2; % how many elements to sum
n = size(A,1)/k;
out = reshape(A, k, n, []);
out = sum(out, 1);
out = reshape(out, n, []);
当然,
n
必须是整数。也就是说,矩阵的高度必须能被k
整除。
(我将其分行写出来,以便更清楚地了解正在发生的事情,但当然,如果您愿意,可以将其变成一句台词。)