Azzera filtri
Azzera filtri

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)
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 Commenti
Image Analyst
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.
Abdur Rob
Abdur Rob il 26 Set 2020
not really ,, actually i'm learning MATLAB and i found this problem from web that's why i need help

Accedi per commentare.

Risposte (1)

KSSV
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
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

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Prodotti


Release

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by