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

5 次查看(过去 30 天)
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!!

采纳的回答

Mischa Kim
Mischa Kim 2014-4-14
Rida, use
sum(diag(A(1:3,1:3)))

更多回答(2 个)

Alberto
Alberto 2014-4-14
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 2018-3-26
Without a loop:
r = size(A, 1);
sum(A([1, r+1, 2*(r+1)]))

类别

Help CenterFile Exchange 中查找有关 Operating on Diagonal Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by