阅读背景:

SymPy学习之Numerical evaluation

来源:互联网 
Basics
#N(expr, <args>)函数与sympify(expr).evalf(<args>)等价
>>> from sympy import *
>>> N(sqrt(2)*pi)
4.44288293815837
>>> (sqrt(2)*pi).evalf()
4.44288293815837
#额外的参数用于确认精确度
>>> N(sqrt(2)*pi, 5)
4.4429
>>> N(sqrt(2)*pi, 50)
4.4428829381583662470158809900606936986146216893757
#支持复数
>>> N(1/(pi + I), 20)
0.28902548222223624241 - 0.091999668350375232456*I
#有变量时进行部分计算
>>> x = Symbol('x')
>>> (pi*x**2 + x/3).evalf()
3.14159265358979*x**2 + 0.333333333333333*x
#也可以用标准python函数
>>> float(pi)
3.1415926535...
>>> complex(pi+E*I)
(3.1415926535...+2.7182818284...j)
#理论上无精确度上限
>>> str(N(pi, 10**6))[-50:] 
'95678796130331164628399634646042209010610577945815'函数与sympify(expr).eval



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: