簡體   English   中英

如何在 Sympy 中做 function 組合?

[英]How to do function composition in Sympy?

我想做一些類似h = f(g(x))的事情並且能夠區分 h,比如h.diff(x) 對於一個像h = cos(x)這樣的 function 來說,這實際上是可能的,並且文檔說明了這一點。

但是對於 function 組合物來說還不是很清楚。 如果你這樣做了,請給我一個例子或鏈接我到相關文件。

(如果 Sympy 不能做到這一點,你知道有沒有其他的包可以做到這一點,即使它是非 python 的)

謝謝你。

看起來函數組合的工作方式與您期望的一樣:

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))

它被命名為compose 雖然,我在文檔中找不到它。

from sympy import Symbol, compose
x = Symbol('x')
f = x**2 + 2
g = x**2 + 1

compose(f,g)
Out: x**4 + 2*x**2 + 4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM