如何解决将衍生词与sympy合并?
我有许多变量的乘积的导数:
d/dx [f(x) * g(x) * h(x)]
但是当我用sympy表示它时,它将自动执行链式规则:
x = Symbol('x')
diff(Function('f')(x)*Function('g')(x)*Function('h')(x),x)
收益
?(?)?(?)?/??ℎ(?)+?(?)ℎ(?)?/???(?)+?(?)ℎ(?)?/???(?)
在sympy中有什么方法可以“撤消”并将其合并为紧凑的符号? (我想对我的计算结果进行此操作。我希望“简化”可以做到,但事实并非如此。)
解决方法
您可以使用微分而不是差异:
In [4]: diff(f(x)*g(x),x)
Out[4]:
d d
f(x)⋅──(g(x)) + g(x)⋅──(f(x))
dx dx
In [5]: Derivative(f(x)*g(x),x)
Out[5]:
d
──(f(x)⋅g(x))
dx
我不知道会“反转”产品规则的简化例程,但是如果您知道所期望的产品,则可以使用它的替代品:
In [25]: e = diff(f(x)*g(x),x)
In [26]: e
Out[26]:
d d
f(x)⋅──(g(x)) + g(x)⋅──(f(x))
dx dx
In [27]: e.subs(g(x),h(x)/f(x)).doit().factor().subs(h(x),f(x)*g(x))
Out[27]:
d
──(f(x)⋅g(x))
dx
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。