wrong rational numbers generated by Matlab

1 view (last 30 days)
Example:
23/52
ans =
0.4423
rats(0.4423)
ans =
' 1100/2487 '
The correct answer is 23/52 and not 1100/2487 generated by Matlab. This error is very problemtaic because it ruins the possibility to express a given series with their proper closed-form expression in terms of an input number such as n.

Accepted Answer

Guillaume
Guillaume on 13 Jan 2020
Hum:
>> rats(23/52)
ans =
' 23/52 '
So, no issue there.
Of course, 23/52 is not equal to 0.4423, so if you give a rounded down input of 0.4423, why would you expect 23/52 when 1100/2487 is actually closer in value:
>> 23/52 - .4423
ans =
7.69230769226414e-06
>> 1100/2487 - 0.4423
ans =
-4.02090872819727e-08
Note:
>> format longg
>> 23/52
ans =
0.442307692307692
  1 Comment
Steven Lord
Steven Lord on 13 Jan 2020
Taking Guillaume's last code segment the next logical step by showing both numbers:
>> format longg
>> format compact
>> 23/52, 1100/2487
ans =
0.442307692307692
ans =
0.442299959790913

Sign in to comment.

More Answers (0)

Categories

Find more on Mathematics 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!