How to sum the diagonal numbers and numbers after the diagonal of a matrix

17 views (last 30 days)
Write a function called halfsum that takes as input a matrix and computes the sum of its elements that are in the diagonal or are to the right of it. The output arguments name is summa.
I have absolutely no idea how to start with this problem. How am I meant to use a for-loop for this?
Thank you very much

Answers (2)

Matt Shellhammer
Matt Shellhammer on 31 Mar 2020
total = 0;
for idx = 1:size(a,1)
total = total + a(idx,idx);
end
or
sum(a(1:(size(a,1)+1):size(a,1)*size(a,2)))
or
sum(diag(a))
and for the indices to the right of it... (assuming its square).
total = 0;
for idx = 1:size(a,2)-1
total = total + a(idx,idx+1);
end

Bhaskar R
Bhaskar R on 31 Mar 2020
function summa = halfsum(inp_mat)
summa = zeros(2,1); % first element is sum of diagonal elements, second is sum of diagonal to right
summa(1) = sum(diag(inp_mat)) %diagnal elemts
summa(2) = sum(diag(inp_mat, 1)) % right to diagonal
end

Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!