1.关于pi
numpy和sympy中都有定义pi
# 运行:
print "- - -sym", sin(3 * np.pi / 360)
print "- - -sym", sin(3 * pi / 360)
# 结果:
- - -sym 0.0261769483078731
- - -sym (-sqrt(sqrt(2)/4 + 1/2)*sqrt(sqrt(5)/8 + 5/8) - (-1/4 + sqrt(5)/4)*sqrt(-sqrt(2)/4 + 1/2))*((-sqrt(2)*(1/4 + sqrt(5)/4)/2 - sqrt(2)*sqrt(-sqrt(5)/8 + 5/8)/2)*(-sqrt(5)/8 - 1/8 + sqrt(3)*sqrt(-sqrt(5)/8 + 5/8)/2) + (-sqrt(2)*(1/4 + sqrt(5)/4)/2 + sqrt(2)*sqrt(-sqrt(5)/8 + 5/8)/2)*(-sqrt(3)*(1/4 + sqrt(5)/4)/2 - sqrt(-sqrt(5)/8 + 5/8)/2)) + (-sqrt(-sqrt(2)/4 + 1/2)*sqrt(sqrt(5)/8 + 5/8) - sqrt(sqrt(2)/4 + 1/2)*(-sqrt(5)/4 + 1/4))*(-(sqrt(2)*sqrt(-sqrt(5)/8 + 5/8)/2 + sqrt(2)*(1/4 + sqrt(5)/4)/2)*(sqrt(-sqrt(5)/8 + 5/8)/2 + sqrt(3)*(1/4 + sqrt(5)/4)/2) - (-sqrt(2)*sqrt(-sqrt(5)/8 + 5/8)/2 + sqrt(2)*(1/4 + sqrt(5)/4)/2)*(-sqrt(5)/8 - 1/8 + sqrt(3)*sqrt(-sqrt(5)/8 + 5/8)/2))
expression.subs(dir) 数值替代时,用np.pi,不要用sympy中的pi.
sympy.pi虽然计算的比较精准,但打印出来是一个表达式;
2.
simplify(expression)简化表达式
expression.subs(dir) 替代expression中的变量,替代值可以是符号表达式,也可以是数值;