wrong rational numbers generated by Matlab
    4 次查看(过去 30 天)
  
       显示 更早的评论
    
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.
0 个评论
采纳的回答
  Guillaume
      
      
 2020-1-13
        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 个评论
  Steven Lord
    
      
 2020-1-13
				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 个)
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Octave 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

