if else loop

I have a variable "v" in my code which after calculation gets value either 1 or 1.0000 And 1 is not equal to 1.0000 here. I want to apply a if else if loop as follows : if v==1 statements elseif v==1.0000 statements else statements end
But this is not working. Please tell me the correct way to do it. Matlab isn't executing "v==1.0000". Why??

1 个评论

There is no such thing as an "if loop". "if" does not loop: it executes once. "if" might be coded within a loop, but it is not a loop.

请先登录,再进行评论。

回答(2 个)

Daniel Shub
Daniel Shub 2012-4-9
Try
format long
and then look at your v. You can also look at
v-1
What you will see is that when MATLAB says v is equal to 1.0000, what MATLAB is telling you is that v is not equal to 1, but rather something slight more than 1.
There is a huge discussion here (and else where) on floating point comparisons.

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

提问:

2012-4-9

Community Treasure Hunt

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

Start Hunting!

Translated by