圣人的符号数学:( a* x* y+z).subs( x+ y= = b)

给定一个简单的术语a * x * y + b,我想用占位符c替换子术语,例如x * y。

给定一个简单的术语a * x * y + b,我想用占位符c替换子术语,例如x * y

sage: a,b,c,x,y = var('a,b,c,x,y')
sage: expr = a * x * y + c
sage: expr.subs(x * y == b)

由此,我希望expra * b + c。相反,它保持不变。结果是:

a*x*y + c

我遇到了wild函数,但我还不清楚它的实际作用。

2

我现在在 Python 3.6 中使用 sympy 而不是 Sage,但这应该是类似的。让我知道如果翻译为 Sage 效果不佳。

subs方法不会更改其对象;它在替换后返回表达式,但您必须存储结果。您的行expr.subs(x * y == b)可能会显示结果,但该结果随后被丢弃,因为您没有将其存储到任何变量中。

from sympy import symbols
a,b,c,x,y = symbols('a,b,c,x,y')
expr = a * x * y + c
newexpr = expr.subs(x*y, b)
print(newexpr)

结果打印输出如您所料:

a*b + c

要确认subs()在 Sage 中是如何工作的,请在this Sage documentation page中找到subs(,并注意短语“多项式本身不受影响”。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(363)
替换.nfo文件中的文本
上一篇
XlsxWriter:仅锁定特定单元格
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(64条)