WHILE LOOP program does not work

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 个评论

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.

请先登录,再进行评论。

 采纳的回答

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.

类别

帮助中心File 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