如何在 Sympy 中进行函数组合?

How to do function composition in Sympy?

我想做类似 h = f(g(x)) 的事情并且能够区分 h,例如 h.diff(x)。对于像 h = cos(x) 这样的一个函数,这实际上是可能的,并且文档清楚地说明了这一点。

但是对于函数组合来说不是很清楚。如果你这样做了,请给我一个例子或 link 我到相关文件。

(如果 Sympy 不能做到这一点,你知道有没有其他包可以做到这一点,即使它不是 python)

谢谢。

似乎函数组合的工作方式与您在 sympy 中所期望的一样:

import sympy
h = sympy.cos('x')
g = sympy.sin(h)
g
Out[245]: sin(cos(x))

或者如果您愿意

from sympy.abc import x,y
g = sympy.sin('y')
f = g.subs({'y':h})

然后你可以调用 diff 来得到你的导数。

g.diff()
Out[246]: -sin(x)*cos(cos(x))