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)
Show older comments
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
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.
Answers (1)
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
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
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!