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

10 Ansichten (letzte 30 Tage)
Rida
Rida am 14 Apr. 2014
Beantwortet: Walter Roberson am 26 Mär. 2018
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!!

Akzeptierte Antwort

Mischa Kim
Mischa Kim am 14 Apr. 2014
Rida, use
sum(diag(A(1:3,1:3)))

Weitere Antworten (2)

Alberto
Alberto am 14 Apr. 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 am 26 Mär. 2018
Without a loop:
r = size(A, 1);
sum(A([1, r+1, 2*(r+1)]))

Kategorien

Mehr zu Operating on Diagonal Matrices 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