Matlab - sumowanie elementów macierzy o wartościach większych niż i mniejszych niż

0

Cześć. Dopiero zaczynam w Matlabie, mam w ramach ćwiczenia zrobić kilka zadań i zacięłam się na jednym. Mianowicie muszę zsumować elementy macierzy które są większe niż 5 i mniejsze niż 10. Używam znaku && i robię wszystko według wskazówek, próbuję z nawiasami na różne sposoby, ale suma cały czas wychodzi zła. Czy ktoś mógłby pomóc mi wpaść na to gdzie robię błąd?

to moja macierz:
for i=1:8
for j=1:i
C(i,j)=i+j;
end
end

a to sumowanie elementów:
for i=1:8
for j=1:8
if ((5<(C(i,j)))&&(C(i,j))<10); - wkleiłam tu jeden z przykładów którego próbowałam
end
end
end

suma=suma+C(i,j);
suma

Z góry dziękuję za wszelkie rady i pomoc.

0

A jaki jest błąd?

0

suma powinna wynosić 107, a mi wychodzi albo 16 albo 32

0

Wklej cały kod z formatowaniem

0

for i=1:8
for j=1:i
C(i,j)=i+j;
end
end
C

C =

 2     0     0     0     0     0     0     0
 3     4     0     0     0     0     0     0
 4     5     6     0     0     0     0     0
 5     6     7     8     0     0     0     0
 6     7     8     9    10     0     0     0
 7     8     9    10    11    12     0     0
 8     9    10    11    12    13    14     0
 9    10    11    12    13    14    15    16

for i=1:8
for j=1:8
if (5<(C(i,j))&&(C(i,j))<10);
end
end
end
suma=suma+C(i,j);
suma

suma =

16
0
a
0

w poprzednim zadaniu, które było podobne używałam takiej formuły, żeby zliczyć "0" w macierzy:
if C(i,j)==0
a w tym zadaniu z sumowaniem elementów miało być użyte "&&" do tych dwóch warunków (5< i <10)

1
for i=1:8
for j=1:8
if (5<(C(i,j))&&(C(i,j))<10);
suma=suma+C(i,j);
end
end
end
suma

Powinno wystarczyć przenieść linkuję z sumowanie do if'a.

Obecnie masz sumowanie na samym końcu, po wykonaniu obu pętli. W efekcie sumowanie wykonuje się tylko raz - dla ostatniego obiektu w macierzy, czyli 16.

1 użytkowników online, w tym zalogowanych: 0, gości: 1