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

1 次查看(过去 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
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
KSSV 2020-9-26
编辑:KSSV 2020-9-26
Read about triu.
If A is your matrix, use:
iwant = sum(sum(triu(A)))
  3 个评论
KSSV
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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by