while loop and nan causing inifinite loop
2 次查看(过去 30 天)
显示 更早的评论
I have the following code
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/150380/image.png)
now what happens when i run this is that the while loop doesn't ever stop and op ends up equal to (NaN NaN). i'm not exactly sure what's wrong.
i figured that i could simply try to exit the while loop if the value was nan by sayign that if np(1) or np(2) was equal to nan than np(1) would equal fp(1) and the while loop would stop, but i can't seem to do that either... could anyoen help me?
0 个评论
采纳的回答
Walter Roberson
2013-1-9
编辑:Walter Roberson
2013-1-9
use isnan() to test for nan. Do not compare to nan using "=" or "~="
By the way, it appears to me that you should perhaps use atan2() instead of the tan() and range tests you have.
0 个评论
更多回答(1 个)
Matt J
2013-1-9
Use the dbstop command
>>dbstop if naninf
to detect where the NaNs are introduced.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!