gpt4 book ai didi

python - 在 sympy 中使用给定术语进行智能替换

转载 作者:太空宇宙 更新时间:2023-11-04 03:24:52 25 4
gpt4 key购买 nike

我正在使用 sympy在 Python3 中进行符号计算。我的问题是强制替换已知项 a,定义为 x、y 和 z 的乘积。看这个最小的例子:

import sympy as sp
from sympy.abc import a,x,y,z
expr=(x*y)/z**3 *(x**2*y**2-5*x*y*z+12*z**2)
print (expr) #as typed in line 3
print (expr.subs(x*y/z,a)) #only substitues the first factor to a**1/z**2
print (sp.simplify(expr)) #not any better

我想看到的是形式的表达

a**3-5*a**2+12*a

with a=x*y/z 第 4 行和第 5 行或第 6 行都无法解决问题。谁能帮我?谢谢!

最佳答案

好吧,对于这个特定的例子,下面的想法引出了一个解决方案,但更一般地说,我不知道如何实现这个目标。

因此,不是将 x*y/z 替换为 a,而是将 x*y 替换为 a*z,然后简化。

expr2 = expr.subs(x*y, a*z)
print(expr2)
print(sp.simplify(expr2))

关于python - 在 sympy 中使用给定术语进行智能替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33451690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com