我有这种同情的表情。
我不确定为什么 evalf 函数不能正确评估这个表达式,但我仍然没有从中得到实际的数值?
value = {t1: _t1, t2: _t2, t3: _t3, x_mid: _x_mid, theta: _theta, focal_length: _focal_length, vec_20: vec_2[0],
vec_21: vec_2[1], vec_22: vec_2[2], r: radius}
ansx = root1[i][0].evalf(subs=value)
运行以下代码后:
ansx = root1[i][0].evalf(subs=value)
对于 ansx,我得到以下信息:
其中 root[i][0] 是:
我创建了一个显示 evalf 应该适用于 sympy 的最小表达式:
In [7]: omega, t = sympy.symbols("omega, t")
In [8]: s = sympy.pi * sympy.cos(omega*t)
In [9]: s
Out[9]: pi*cos(omega*t)
In [10]: print(s.evalf().subs({t: 0}))
3.14159265358979