Why does my variable iterate only once in my while loop?
显示 更早的评论
x = 1;
y = 1;
times1 = 0;
times2 = 0;
while x <= size(VideoNumber)
if number == VideoNumber(x)
times1 = times1+1;
x=x+1
else
x=x+1
end
end
Returns:
x =
2
When instead it should iterate around 4900 times
5 个评论
Sindar
2020-9-28
size(VideoNumber)
is a vector, so you shouldn't directly compare it to x
also, why are you using a while loop when you seem to know exactly how many iterations to do?
Ikenna Nebolisa
2020-9-28
per isakson
2020-9-28
What's the value of VideoNumber ?
Maybe you want to replace size(VideoNumber) by length(VideoNumber)
I'm not saying hard-code in 4934. But, if the number of iterations is known before the loop starts (here, because the size of the data isn't changed during the loop) then it makes sense to use a for loop instead of a while loop.
Also, if all you are doing is counting the number of elements equal to a certain value, any sort of loop is unnecessary:
times1 = nnz(VideoNumber == number);
Ikenna Nebolisa
2020-9-28
回答(0 个)
类别
在 帮助中心 和 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!