How can I sum only few values in a diagonal matrix?

13 vues (au cours des 30 derniers jours)
Rida
Rida le 14 Avr 2014
if I have a diagonal matrix, and I use sum(diag(A)) , it gives me the sum of entire diagonal, but I only want the sum of lets say 1st three values in the diagonal? How can I add them?
Thank you!!

Réponse acceptée

Mischa Kim
Mischa Kim le 14 Avr 2014
Rida, use
sum(diag(A(1:3,1:3)))
  1 commentaire
mohammed abdul wadood
mohammed abdul wadood le 26 Mar 2018
a tired it with my data, it's work perfectly, thanks Mischa.

Connectez-vous pour commenter.

Plus de réponses (2)

Alberto
Alberto le 14 Avr 2014
Sum=0;
for k=1:3 % will sum 3 first diagonal elements Sum=Sum+A(k,k);
end
You can change the range k=1:3 with an array with the index of elements u want to sum.

Walter Roberson
Walter Roberson le 26 Mar 2018
Without a loop:
r = size(A, 1);
sum(A([1, r+1, 2*(r+1)]))

Catégories

En savoir plus sur Operating on Diagonal Matrices 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