Filter löschen
Filter löschen

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

418 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.

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by