WHILE LOOP program does not work

3 visualizzazioni (ultimi 30 giorni)
sss dzu
sss dzu il 24 Ott 2012
Please, any one tell me why my program does not work, thank you.
This is my program
a=[7 18 11 5;
2 8 10 13;
3 24 20 12;
21 1 20 17];
[m,n]= size(a);
Re=0;
i=1;
while i<=m;
j=1
while j<=n;
if ((a(i,j)<=15) & (a(i,j)>=4))
Re= Re+ a(i,j);
end
end
end
disp(Re)
  1 Commento
Walter Roberson
Walter Roberson il 24 Ott 2012
In order for people to tell you why your program does not work, you have to tell them what the intended working of the program is.

Accedi per commentare.

Risposta accettata

Image Analyst
Image Analyst il 25 Ott 2012
Try it without loops, in a more MATLAB-ish vectorized way:
indexesToSum = a>=4 & a<=15
Re = sum(a(indexesToSum))

Più risposte (2)

Matt Fig
Matt Fig il 24 Ott 2012
Modificato: Matt Fig il 24 Ott 2012
You do not increment i or j inside the loops.
i =i+1;
etc. Thus i will always be less than m, and j less than n.

sss dzu
sss dzu il 25 Ott 2012
but i have to use while loop

Categorie

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

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by