用python计算三角函数的要点

  • Post author:
  • Post category:python




需要用到的库

import numpy as np
import sympy as sy



用numpy以计算sin(30°)为例

需要注意的是30°是度数,并非数字。

因此

print(np.sin(30))

的结果会是

-0.9880316240928618

而实际上应该用

np.pi

(180°)换算成角度。

运行

print(np.pi)

得到

3.141592653589793

运行

print(np.sin(np.pi/6))

得到

0.49999999999999994

我们看到与理想值很相近,但精度还不够好



因此要用到sympy

运行

print(sy.sin(np.pi/6))

得到

0.500000000000000



是我们需要的值。

那既然sin用到了sympy库,π是否也可以用sympy库呢?

运行

print(sy.sin(sy.pi/6))

得到

1/2

原来,运行

print(sy.pi)

得到

pi

保留了分数形式,不会将结果转化为浮点数。



联想拓展

用sympy计算sin(45°)

运行

print(np.sin(np.pi/4))

得到

0.7071067811865476


运行

print(sy.sin(np.pi/4))

得到

0.707106781186547


运行

print(sy.sin(sy.pi/4))

得到

sqrt(2)/2

回顾整理:

运行

print(np.sin(np.pi/6))

得到

0.49999999999999994


运行

print(sy.sin(np.pi/6))

得到

0.500000000000000


运行

print(sy.sin(sy.pi/6))

得到

1/2



总结

用python计算三角函数时,

调用函数时,用sympy.三角函数()提高精度,

调用pi时:

用numpy.pi转化浮点数;

用sympy.pi保留分数形式。



感谢查阅,请多指教。



版权声明:本文为weixin_44612441原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。