how sum all element which are the right of diagonal. where row=colom .....i have done this much but confuse in further operation
1 view (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
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!