WHILE LOOP program does not work

3 Ansichten (letzte 30 Tage)
sss dzu
sss dzu am 24 Okt. 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 Kommentar
Walter Roberson
Walter Roberson am 24 Okt. 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

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

Weitere Antworten (2)

Matt Fig
Matt Fig am 24 Okt. 2012
Bearbeitet: Matt Fig am 24 Okt. 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.
  1 Kommentar
sss dzu
sss dzu am 25 Okt. 2012
I tried before, but it did not work either

Melden Sie sich an, um zu kommentieren.


sss dzu
sss dzu am 25 Okt. 2012
but i have to use while loop

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by