[英]evaluating a sympy function at an arbitrary-precision floating point
Given a sympy symbolic function, for example 例如,给出了一个同情的象征性功能
x=symbols("x")
h=sin(x)
when one calls 当一个人打电话
h.subs(x, mpf('1.0000000000000000000000000000000000000000000001'))
sympy returns a floating point number. sympy返回一个浮点数。 The return value is not an mpf. 返回值不是mpf。
Is there a convenient way to get sympy to evaluate symbolic standard functions (like exponential and trig functions), using arbitrary precision? 是否有一种方便的方法来使用任意精度来评估符号标准函数(如指数函数和三角函数)?
To evaluate an expression, use expr.evalf()
, which takes a precision as the first argument (the default is 15). 要计算表达式,请使用expr.evalf()
,它将精度作为第一个参数(默认值为15)。 You can substitute expressions using expr.evalf(prec, subs=subs_dict)
. 您可以使用expr.evalf(prec, subs=subs_dict)
替换表达式。
>>> sin(x).evalf(50, subs={x: Float('1.0')})
0.84147098480789650665250232163029899962256306079837
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.