Why does this while loop acts like an infinite loop
显示 更早的评论
Il am trying to change the elements of m to 0 when they reach a value superior to 10. The sequence is suppose to stop when all the elements equal 0 but it seem to act like an infinite loop when it should take less than 10 iterations to solve and I don't know why. What is the problem and how can I solve it?
clear;clc
m=[1,2,3,4,5];
l=length(m);
z=0;
while l~=z
m=m*1.5;
a=find(m>=10);
la=length(a);
if la>0
m(a)=0;
end
z=la;
end
a=m
采纳的回答
更多回答(1 个)
Sean de Wolski
2014-3-20
1 个投票
Put a break point on the first line and then step through. You can out a breakpoint by clicking on the dash next to the while. Then click step to walk through each line investigating what each variable is at any point.

类别
在 帮助中心 和 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!