2024-04-20 08:00:49 发布
网友
Matlab的rat函数有Python版本吗?我试过查找,发现最接近的方法是Python在fractions模块中的fractions.Fraction.from_float方法。但是,它似乎没有实现相同的算法。你知道吗
rat
fractions
fractions.Fraction.from_float
在this Matlab reference page之后手动实现一个函数似乎并不太困难,但我想知道是否有内置函数或标准库版本。你知道吗
如果您想留在标准库中,您可能需要查看fractions.Fraction.limit_denominator()方法:
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有一个很好的.nsimpilify方法,它也为分数近似做了“正确的事情”:
>>> import sympy >>> sympy.nsimplify(0.8) 4/5
如果您想留在标准库中,您可能需要查看
fractions.Fraction.limit_denominator()
方法:如果你是从Matlab移植,你可能需要一些来自numpy,scipy和sympy的外部帮助。Sympy有一个很好的.nsimpilify方法,它也为分数近似做了“正确的事情”:
相关问题 更多 >
编程相关推荐