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

851 Ansichten (letzte 30 Tage)
afrya
afrya am 6 Nov. 2013
Kommentiert: Jeevith am 16 Okt. 2023
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?

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 6 Nov. 2013
Bearbeitet: Azzi Abdelmalek am 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 Kommentare
afrya
afrya am 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 am 6 Nov. 2013
Bearbeitet: Azzi Abdelmalek am 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (5)

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

Melden Sie sich an, um zu kommentieren.


Delladj Kamel
Delladj Kamel am 5 Mai 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 am 8 Aug. 2021
how to calculate sum of all rows in a matrix given using matlab commands

loukil sana
loukil sana am 9 Dez. 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 am 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 Kommentare
Jan
Jan am 26 Jun. 2017
Bearbeitet: Jan am 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 am 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).

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by