[英]Matlab rat function in Python
Matlab的rat
函數是否有Python版本? 我嘗試過查找,發現的最接近的是fractions
模塊中的Python的fractions.Fraction.from_float
方法。 但是,它似乎並沒有實現相同的算法。
在此Matlab參考頁之后 ,手動實現函數似乎並不難,但是我想知道是否有內置函數或標准庫版本。
如果要保留在標准庫中,則可能需要查看fractions.Fraction.limit_denominator()
方法:
>>> fractions.Fraction.from_float(0.8)
Fraction(3602879701896397, 4503599627370496)
>>> fractions.Fraction.from_float(0.8).limit_denominator()
Fraction(4, 5)
如果您要從Matlab遷移,則可能需要numpy,scipy和sympy的一些外部幫助。 Sympy有一個不錯的.nsimplify方法,它也可以對分數近似做“正確的事情”:
>>> import sympy
>>> sympy.nsimplify(0.8)
4/5
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.