繁体   English   中英

区分具有未知数量变量的sympy函数

[英]Differentiating a sympy function with an unknown number of variables

让我们假设我有一个脚本创建一个带有一定数量元素x1,x2,x3等的向量v(每个元素都是一个符号符号)。

import sympy as sp

# generated by script, so the number of symbols/length of v is always different:
sp.var("x1,x2,x3,x4,...")
v = sp.Matrix([x1,x2,x3,x4,...])

g = sp.Function("g")

我希望g是x1,x2,x3,...的函数,所以g(x1,x2,x3,x4,...)是为了区分它。

g.diff(x1) # does not work
g(x1,x2,x3).diff(x1) # works, but the number of variables varies

知道如何解决这个问题吗?

编辑:我应该提一下,我做了很多研究。 我希望我没有错过任何明显的东西。

使用星形表达式

In [13]: g(*v)
Out[13]: g(x1, x2, x3, x4)

In [14]: g(*v).diff(x1)
Out[14]: Derivative(g(x1, x2, x3, x4), x1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM