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 Kommentar

Walter Roberson
Walter Roberson am 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.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Daniel Shub
Daniel Shub am 9 Apr. 2012

0 Stimmen

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.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 9 Apr. 2012

Community Treasure Hunt

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

Start Hunting!

Translated by