Filter löschen
Filter löschen

wrong rational numbers generated by Matlab

2 Ansichten (letzte 30 Tage)
S H
S H am 13 Jan. 2020
Kommentiert: Steven Lord am 13 Jan. 2020
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.

Akzeptierte Antwort

Guillaume
Guillaume am 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 Kommentar
Steven Lord
Steven Lord am 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by