Matlab rat function in Python

2024-04-20 08:00:49 发布

您现在位置:Python中文网/ 问答频道 /正文

Matlab的rat函数有Python版本吗?我试过查找,发现最接近的方法是Python在fractions模块中的fractions.Fraction.from_float方法。但是,它似乎没有实现相同的算法。你知道吗

this Matlab reference page之后手动实现一个函数似乎并不太困难,但我想知道是否有内置函数或标准库版本。你知道吗


Tags: 模块方法函数from版本算法page手动
1条回答
网友
1楼 · 发布于 2024-04-20 08:00:49

如果您想留在标准库中,您可能需要查看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

相关问题 更多 >