让我们假设我有一个脚本创建一个带有一定数量元素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
知道如何解决这个问题吗?
编辑:我应该提一下,我做了很多研究。我希望我不会错过任何明显的事情。
答案 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)