python - 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,我得到以下信息:
其中 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
解决方案
推荐阅读
- python - 在 AWS 上使用 Django/React 应用程序找不到静态文件
- arrays - 从 Angularjs 中的 Array 对象创建二叉树
- git - Jenkins groovy - 如何查看特定标签?
- javascript - 如何将另一个值传递给表单验证方法?
- java - 尝试连接到 FireStore 数据库但得到“程序类型已经存在:okio.Buffer$2”
- cordova - 版本控制如何在 ionic 中发生
- ansible - 使用 ansible 的 maven_artifact 进行证书验证
- elasticsearch - Elasticsearch - JSON 字段映射爆炸
- python - 如何将一列中的值匹配到具有多个值的第二列
- php - 如何将 127.0.0.1/index.php 的 url 设置为 127.0.0.1?