一般的な部分式置換をしようとしています。Sympy:ワイルド記号を使用した置換
x*y
〜c
という形式の表現を正確に置き換えます。
x
とy
は、式の中の任意の記号にすることができます。
以下のコードでは、これを達成するためにWildを使用していますが、明らかにサブ表現の代わりに野生一致シンボルのみを使用することはできません。isinstance=[sp.Symbol]
を使用しても。
import sympy as sp
a, b, c = sp.symbols('a b c')
f= a*b - b
x = sp.Wild('x', isinstance=[sp.Symbol])
y = sp.Wild('y', isinstance=[sp.Symbol])
expr = f.replace(x*y, c)
これは、次のような結果につながる、
print expr
c
予想の答えは、しかしです:c - b
ヘルプははるかに高く評価されます!
ありがとうございます!
完璧!よく働く! :) – Curious