how sum all element which are the right of diagonal. where row=colom .....i have done this much but confuse in further operation
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/366910/image.jpeg)
2 Commenti
Image Analyst
il 26 Set 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.
Risposte (1)
KSSV
il 26 Set 2020
Modificato: KSSV
il 26 Set 2020
Read about triu.
If A is your matrix, use:
iwant = sum(sum(triu(A)))
3 Commenti
KSSV
il 26 Set 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
Vedere anche
Categorie
Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!