how sum all element which are the right of diagonal. where row=colom .....i have done this much but confuse in further operation

2 views (last 30 days)
function summa = halfsum(A)
%A = randi(n,x,y);
[row,col] = size(A);
if row == col
for r = 1:row
for c = 1:col
summa = sum(A(r,c)) + sum(A(r,c));
end
end
else
fprintf('Input correct matrix.\n')
end
end
  2 Comments
Image Analyst
Image Analyst on 26 Sep 2020
Is this homework (sounds a lot like it)? If so, tag as homework. In the meantime, check out triu() and tril(), and consider if r <= or >= c
if c >= r % or....
if c <= r
if you want/need to do it as a for loop.

Sign in to comment.

Answers (1)

KSSV
KSSV on 26 Sep 2020
Edited: KSSV on 26 Sep 2020
Read about triu.
If A is your matrix, use:
iwant = sum(sum(triu(A)))
  3 Comments
KSSV
KSSV on 26 Sep 2020
Read the documentation..it is clear in the documentation.
Also you can use loops like below:
A = rand(3) ;
[m,n] = size(A) ;
upper_diagonal = zeros([],1) ;
count = 0 ;
for i = 1:m
for j = 1:n
if i<=j
count = count+1 ;
upper_diagonal(count) = A(i,j) ;
end
end
end

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!