gpt4 book ai didi

python - 如何在 sympy 中插入替换

转载 作者:行者123 更新时间:2023-12-01 04:55:28 25 4
gpt4 key购买 nike

我有以下内容,其中 a、b、c、d 都是 sympy 符号

p = a + b + 2*c + d
q = a + b + c + d

我想这样做:

p = p.subs(a + b + c + d, q)

并且想要得到这个:

p = q + c

但 p 保持不变。

我应该怎么做才能达到 p = q + c?

subs() 执行的匹配似乎正在寻找严格的排序,因此它没有拆分“2*c”项。

我应该使用replace()而不是subs()吗?

编辑:代码如下:

import sympy

a, b, c, d = sympy.symbols('a,b,c,d')

p = a + b + 2*c + d
q = a + b + c + d

r = p.subs(a + b + c + d, q)

print r

编辑#2

https://groups.google.com/forum/#!topic/sympy/b_Yv6s15Y0Q

我的问题与 groups.google 链接类似,只是在这种情况下 subs() 完成了它的工作。

最佳答案

首先对您的代码进行评论:由于您将 q 定义为 a+b+c+d 之和,因此您永远不会看到更改,即使它确实有效(但实际上没有)。其他有效的方法如下:

>>> p = a + b + 2*c + d
>>> q = var('q')
>>> p.extract_additively(a+b+c+d) + q
c + q

还有一个 extract_multiplicatively 方法。

关于python - 如何在 sympy 中插入替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27521641/

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