Effacer les filtres
Effacer les filtres

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

407 vues (au cours des 30 derniers jours)
afrya
afrya le 6 Nov 2013
Commenté : Jeevith le 16 Oct 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?

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 6 Nov 2013
Modifié(e) : Azzi Abdelmalek le 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 commentaires
afrya
afrya le 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 le 6 Nov 2013
Modifié(e) : Azzi Abdelmalek le 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

Connectez-vous pour commenter.

Plus de réponses (5)

Shubham Kumar
Shubham Kumar le 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 commentaires
James Tursa
James Tursa le 5 Mai 2015
This is exactly the same answer that was already given and accepted 1 1/2 years ago.
Andrew Mccooey
Andrew Mccooey le 21 Fév 2021
James Tursa. You're comment is extremely invaluable.

Connectez-vous pour commenter.


Delladj Kamel
Delladj Kamel le 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 le 8 Août 2021
how to calculate sum of all rows in a matrix given using matlab commands

loukil sana
loukil sana le 9 Déc 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 le 26 Juin 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 commentaires
Jan
Jan le 26 Juin 2017
Modifié(e) : Jan le 26 Juin 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 le 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).

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by