how sum all element which are the right of diagonal. where row=colom .....i have done this much but confuse in further operation
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
Image Analyst
2020-9-26
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.
回答(1 个)
KSSV
2020-9-26
编辑:KSSV
2020-9-26
Read about triu.
If A is your matrix, use:
iwant = sum(sum(triu(A)))
3 个评论
KSSV
2020-9-26
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
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!