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

时间:2015-05-21 13:28:59

标签: python function sympy

让我们假设我有一个脚本创建一个带有一定数量元素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

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

编辑:我应该提一下,我做了很多研究。我希望我不会错过任何明显的事情。

1 个答案:

答案 0 :(得分:3)

使用明星表达式

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)