sum all columns in a matrix

40 次查看(过去 30 天)
Ariela Glikman
Ariela Glikman 2018-12-8
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]

回答(2 个)

James Tursa
James Tursa 2018-12-8
Hint: Look at matrix multiplication.

Maneet Kaur Bagga
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 个评论
DGM
DGM 2022-7-5
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
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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by