# python 2.7.10 # sympy 0.7.6 import sympy sym a, b, c, x = sym.symbols('a b c x') f = sym.symbols('f', cls=sym.function) suppose have expression:
expr = f(a - b) - f(b**2 - c) is there way replace unknown function f known function f(x) = x**0.5 + 1? example:
result = expr.subs(f(_), _**0.5 + 1) which result in:
(a - b)**0.5 - (b**2 - c)**0.5
in [1]: import sympy sm in [2]: a, b, c, x = sm.symbols('a b c x') in [3]: f = sm.symbols('f', cls=sm.function) in [4]: expr = f(a - b) - f(b**2 - c) you can use sympy's lambda function define custom function.
in [5]: g = sm.lambda(x, sqrt(x) + 1) in [6]: expr.subs(f, g) out[6]: sqrt(a - b) - sqrt(b**2 - c)
Comments
Post a Comment