evalf 不产生代数表达式的数值结果

问题描述

我有这个同情的表达。

我不知道为什么 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 的以下信息:

enter image description here

其中 root[i][0] 是:

enter image description here

我创建了一个最小表达式来显示 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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)