Вы можете сделать это без использования цикла, переставив массив в 3D и затем суммируя.
Основная идея состоит в том, чтобы изменить форму в 2D, транспонировать, изменить в 3D и затем суммировать обратно в 2D.
%test case
mat = repmat([1 2 3 4 5 6],3,1); %test matrix
nCol = 3; %number of columns to sum
if mod( size(mat,2), nCol) == 0
res = sum( reshape( reshape( mat, size(mat,1)*nCol , [] )',[size(mat,2)./nCol, size(mat,1), nCol] ),3)';
end