Weird problem with fix.

Guys do you know why fix on matlab 2017a is behaving weirdly. Pls have a look on the attached pic.This is not photoshopped.

Respuestas (2)

Matt J
Matt J el 22 de Jul. de 2017
Editada: Matt J el 22 de Jul. de 2017

2 votos

Because out(1,3) is only displayed to four decimal places, it is possible that it's value is actually 3.99999999999999999 or something like that. Because it's value is slightly less than 4, fix() returns 3 for that entry.
Star Strider
Star Strider el 22 de Jul. de 2017
Editada: Star Strider el 22 de Jul. de 2017

1 voto

The format displays the value rounded to the nearest integer. The fix function rounds toward zero (for both positive and negative numbers).
Example
format long g
R1C2 = 3.9999999999
format short g
Q1 = R1C2
Q2 = fix(R1C2)
R1C2 =
3.9999999999
Q1 =
4
Q2 =
3
————————————————————
EDIT Clarified explanation.

Categorías

Etiquetas

Preguntada:

MSP
el 22 de Jul. de 2017

Editada:

el 22 de Jul. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by