if else loop
Show older comments
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 Comment
Walter Roberson
on 9 Apr 2012
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.
Answers (2)
Daniel Shub
on 9 Apr 2012
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.
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!