sum all columns in a matrix

32 views (last 30 days)
Ariela Glikman
Ariela Glikman on 8 Dec 2018
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.

Maneet Kaur Bagga
Maneet Kaur Bagga on 5 Jul 2022
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
DGM
DGM on 5 Jul 2022
In any practical scenario, using sum() would be perfectly sensible, but OP was working around contrived limitations -- no loops and no sum().
Maneet Kaur Bagga
Maneet Kaur Bagga on 5 Jul 2022
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

Community Treasure Hunt

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

Start Hunting!