WHILE LOOP program does not work

3 次查看(过去 30 天)
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 个评论
Walter Roberson
Walter Roberson 2012-10-24
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.

请先登录,再进行评论。

采纳的回答

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

更多回答(2 个)

Matt Fig
Matt Fig 2012-10-24
编辑:Matt Fig 2012-10-24
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 2012-10-25
but i have to use while loop

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by