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

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

回答(2 个)

Matt Shellhammer
Matt Shellhammer 2020-3-31
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 2020-3-31
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

类别

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