将一个表达式替换为另一个

时间:2019-02-10 21:20:02

标签: python sympy

我有一个公式,可以从文件中读取为字符串:

file_eq = pd.read_excel("Equations.xlsx")
formula1 = file_eq["Formula1"]
eq1 = parse_expr(formula)

方程式在打印时如下所示:1 / sqrt(1-v ** 2 / c ** 2)。

然后我读了第二句话

formula2 = file_eq["Formula2"]
eq2 = parse_expr(formula2)

即:v ** 1.0 / c

我想用一个新变量替换第二个公式,只要它出现在第一个公式中即可。所以我尝试了这个:

x = symbols('x')
eq1 = eq1.subs(eq2, x)

但是没有任何变化。我最终应该获得的是:1 / sqrt(1-x ** 2)

另一方面,如果我手动进行操作(但由于我有很多方程式,则无法出于我的项目目的这样做),如下所示:

v = symbols('v')
c = symbols('c')
eq1 = eq1.subs(v/c, x)

我得到正确的答案。有人可以告诉我该怎么做以获得我想要的表达吗?谢谢!

0 个答案:

没有答案