纯 Python 计算三角函数的方法?
Pure Python way of calculating trig functions?
我有一个小 Python 脚本,我想使用 pyinstaller
.
将其转换为单个文件可执行文件
脚本本质上是获取一个输入文件,对其进行操作并写入一个输出文件。
但是,我需要在脚本中计算正切函数,当我使用 numpy.tan()
或 math.tan()
执行此操作时,最终的可执行文件最终变得非常大,因为 pyinstaller
将整个 numpy 或数学模块捆绑在可执行文件中。
因此,我的问题是,是否有一种纯粹的 python 方法来计算三角函数?
我的第一个想法是,必须可以从纯粹的数学上定义 sin、cos 和 tan,但我找不到方法来做到这一点。
http://www.efunda.com/math/taylor_series/trig.cfm
泰勒级数展开式是求解任意精度的常用数值方法。
顺便说一句,如果您不期望大部分表现良好,您应该注意三角函数的循环 属性,因为误差与输入成正比(与输入的某些幂成正比)用法。
可以用复数表示三角函数:Eulers formula
然而,这需要您执行复杂的数学运算,并且您必须导入 cmath,如果您想执行此操作,则需要自己实现复杂的数学运算方式。
否则,可以通过计算taylor series获得一个简单的近似值。同样,由于 import math 不是一个选项,这需要您自己实现一些非常基础的东西,例如幂和阶乘。
我有一个小 Python 脚本,我想使用 pyinstaller
.
脚本本质上是获取一个输入文件,对其进行操作并写入一个输出文件。
但是,我需要在脚本中计算正切函数,当我使用 numpy.tan()
或 math.tan()
执行此操作时,最终的可执行文件最终变得非常大,因为 pyinstaller
将整个 numpy 或数学模块捆绑在可执行文件中。
因此,我的问题是,是否有一种纯粹的 python 方法来计算三角函数?
我的第一个想法是,必须可以从纯粹的数学上定义 sin、cos 和 tan,但我找不到方法来做到这一点。
http://www.efunda.com/math/taylor_series/trig.cfm
泰勒级数展开式是求解任意精度的常用数值方法。
顺便说一句,如果您不期望大部分表现良好,您应该注意三角函数的循环 属性,因为误差与输入成正比(与输入的某些幂成正比)用法。
可以用复数表示三角函数:Eulers formula
然而,这需要您执行复杂的数学运算,并且您必须导入 cmath,如果您想执行此操作,则需要自己实现复杂的数学运算方式。
否则,可以通过计算taylor series获得一个简单的近似值。同样,由于 import math 不是一个选项,这需要您自己实现一些非常基础的东西,例如幂和阶乘。