How to calculate the sum of each row in a matrix?

862 views (last 30 days)
Dear All,
I want to calculate the sum of each row in a large matrix.The matrix looks like:
y1 y2 y3 y4 y5
x2 2 4 4 6 7 Sumx2=??
x3 1 2 3 4 5 Sumx3=??
x4 1 2 3 4 5 etc
x5 1 2 4 5 6
My goal is to calculate for each x values the sum of the row. Do you have any idea to do that?

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 6 Nov 2013
Edited: Azzi Abdelmalek on 6 Nov 2013
A=[2 4 4 6 7
1 2 3 4 5
1 2 3 4 5
1 2 4 5 6]
out=sum(A,2)
  2 Comments
afrya
afrya on 6 Nov 2013
Ok thanks,so I have to extract the matrix A of my large matrix, because x and y are integer values.Do you know a way that enable to calculate directly the sum of each row, without extracting the matrix A?
Azzi Abdelmalek
Azzi Abdelmalek on 6 Nov 2013
Edited: Azzi Abdelmalek on 6 Nov 2013
for example, for row 1
s=sum(A(1,:))
For row n
n=3
s=sum(A(n,:))
You have to read about array
doc array

Sign in to comment.

More Answers (5)

Shubham Kumar
Shubham Kumar on 5 May 2015
You can create a sum matrix over rows by typing sum(matrixName, 2). This will return an array containing sum over rows.
  2 Comments
James Tursa
James Tursa on 5 May 2015
This is exactly the same answer that was already given and accepted 1 1/2 years ago.
Andrew Mccooey
Andrew Mccooey on 21 Feb 2021
James Tursa. You're comment is extremely invaluable.

Sign in to comment.


Delladj Kamel
Delladj Kamel on 5 May 2015
You can produce a sum vector over rows of matrix "A" by typing sum(A') where A' is the matrix transpose of matrix "A".

lurvik pokala
lurvik pokala on 8 Aug 2021
how to calculate sum of all rows in a matrix given using matlab commands

loukil sana
loukil sana on 9 Dec 2015
hi, i want to do some controle on the sum of each raw for example: y1 y2 y3 y4 y5 x2 2 4 4 6 7 Sumx2=1000 x3 1 2 3 4 5 Sumx3=1200 x4 1 2 3 4 5 Sumx4=1000 x5 1 2 4 5 6 Sumx5=1200
and i want to note that values given in the matrice are randomly genarating . thanks

Soumyabrata Bhattacharjee
Soumyabrata Bhattacharjee on 26 Jun 2017
I don't know if someone has already highlighted this, I didn't go through all the answers. But coming to your question, you can try this
sum (A')'
where A is the input matrix
  2 Comments
Jan
Jan on 26 Jun 2017
Edited: Jan on 26 Jun 2017
This works, but prefer sum(A, 2):
  • It saves the time for transposing
  • It calculates the wanted sum over the rows also if A is a coulmn matrix. Then the output must equal the input, but with sum(A')' a scalar is replied, because Matlab decides smartly to sum over the column.
Jaimie Ritchie
Jaimie Ritchie on 21 Sep 2022
Thank you Jan! That is very helpful. I was able to use this to just find the sum of each row with columns 2 through 4 by using sum(A(:,2:4),2).

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!