wrong rational numbers generated by Matlab

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.

 채택된 답변

Guillaume
Guillaume 2020년 1월 13일

2 개 추천

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

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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Octave에 대해 자세히 알아보기

질문:

S H
2020년 1월 13일

댓글:

2020년 1월 13일

Community Treasure Hunt

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

Start Hunting!

Translated by