python - Python中的Matlab大鼠函数
问题描述
rat
Matlab 的函数有 Python 版本吗?我试过寻找,我发现似乎最接近的是模块中的 Pythonfractions.Fraction.from_float
方法fractions
。但是,它似乎没有实现相同的算法。
按照这个 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
推荐阅读
- ruby-on-rails - 在 Rails 中访问会话参数
- highcharts - HighPart 饼图重叠
- javascript - 是否有任何可用于 Google Apps 脚本的有效替代方案?
- excel - 数据验证列表索引
- ios - 即使 AppleWatch 未连接到 Mac,如何存储来自 AppleWatch 的日志
- javascript - jQuery循环通过数组对象
- javascript - 放在js文件中时功能不起作用
- css - 将元素缩放到父高度,保持其比例,但保持其相对位置
- c - 具有重复值和大于/小于输入值的节点数的二叉搜索树?
- java - JAVA中如何比较枚举的值