如何在sympy模块中替换为符号渐变?

时间:2017-10-30 18:50:58

标签: python-3.x jupyter-notebook sympy

我使用代码

from sympy.physics.vector import *
RF = ReferenceFrame('e')
from sympy.physics.vector import gradient
scalar_field = 1/(sqrt(RF[0]**2+RF[1]**2+RF[2]**2))
gradient(scalar_field, RF)

输出

enter image description here

现在我想进行替换,e_x = 1等,或者可能是e_x = t。 有可能吗?怎么样?

1 个答案:

答案 0 :(得分:1)

替换是使用subs method执行的,例如:

gr = gradient(scalar_field, RF)
gr.subs({RF[0]: 1, RF[1]: 2, RF[2]: 3})

输出

- sqrt(14)/196*e.x - sqrt(14)/98*e.y - 3*sqrt(14)/196*e.z

您也可以替换公式,比如说

var('t')
gr.subs({RF[0]: 1, RF[1]: t, RF[2]: 3*t+2})