python - Sympy subs 不输出替换表达式?

标签 python sympy

我正在使用 sympy 来区分 python 中的函数。对函数进行微分后,我想添加微分后的变量的数值。但是,使用 .subs() 不会返回不同的答案。有人知道我的问题是什么吗?

代码:

CA1 = CA0 * sympy.exp(-(A1*sympy.exp(-E1/(R*T)))*t)
dCa_dA12 = diff(CA1, A1)
print("No substitution:", dCa_dA12)
dCa_1 = dCa_dA12.subs(A1, theta[0])
print("Substitution:", dCa_1)

输出: Output

最佳答案

我遇到了同样的问题,并且正在修补一下:

这有效:

>>> sympify("k").evalf(subs={"k":1})
1.00000000000000

这不起作用:

>>> sympify("k+x").evalf(subs={"k":1})
k + x

这又有效了:

>>> sympify("k+x").evalf(subs={"k":1, "x":2})
3.00000000000000

因此,如果结果不是数字,则替换似乎不起作用。奇怪的是,这只适用于 subs 部分:

>>> sympify("2/3*x")
2*x/3
>>> sympify("2/3*x").evalf()
0.666666666666667*x

对我来说这看起来像是一个错误。至少,应该正确记录它。

关于python - Sympy subs 不输出替换表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61465322/

相关文章:

python - 从外部模块添加 argparse 参数

python - 分段积分与无理数指数会产生错误

python - 为什么使用 scipy 计算的函数的导数随参数 dx 的值而变化?

python - 查找第 1 组和第 2 组的 'm' 兼容元素的最小成本(算法)

python - 如何在Python 3 cgi中将一个页面重定向到另一个页面

python - 如何在 fiddle 图中将多个 pandas 数据框绘制为单独的类别?

Python:用空行对文件进行排序会导致错误

python - 在 SymPy 中的某个点评估函数

python - 使用求和索引作为推导顺序

python - csympy cmake 错误 : Compiler does not support C++11 constructs