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.

Réponses (2)

Matt J
Matt J le 22 Juil 2017
Modifié(e) : Matt J le 22 Juil 2017

2 votes

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 le 22 Juil 2017
Modifié(e) : Star Strider le 22 Juil 2017

1 vote

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.

Tags

Question posée :

MSP
le 22 Juil 2017

Modifié(e) :

le 22 Juil 2017

Community Treasure Hunt

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

Start Hunting!

Translated by