[英]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.