How to sum the diagonal numbers and numbers after the diagonal of a matrix
    조회 수: 12 (최근 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
      
 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
댓글 수: 0
  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
댓글 수: 0
참고 항목
카테고리
				Help Center 및 File Exchange에서 Operating on Diagonal Matrices에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!