sum all columns in a matrix

hi,
i want to sum all the columns of some matrix.
but without using a loop or the sum function.
for ex:
for the matrix [1 3 2; 4 4 8]
i will recive [5 7 10]

Answers (2)

James Tursa
James Tursa on 8 Dec 2018
Hint: Look at matrix multiplication.
As per my understanding you want to get the sum of the matrix coloumn wise so you can use the MATLAB sum function. All the MATLAB functions by default work on coloumn so you get the sum directly. You can refer to the code below. Hope it helps!
x = [1 3 2; 4 4 8]
x = 2×3
1 3 2 4 4 8
sum(x)
ans = 1×3
5 7 10

2 Comments

In any practical scenario, using sum() would be perfectly sensible, but OP was working around contrived limitations -- no loops and no sum().
Thanks for correcting DGM,
You can refer to the below code as a solution.
x1 = [1 2 3; 4 5 6; 7 8 9];
all =(x1);
sumcol=0;
for i=1:length(all)
sumcol = 0;
for j = 1:length(all)
sumcol = sumcol + all(j,i);
end
fprintf("%d ",sumcol);
end
12 15 18

Sign in to comment.

Products

Release

R2018a

Asked:

on 8 Dec 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!