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

标签 python function sympy

假设我有一个脚本,它创建一个向量 v,其中包含一定数量的元素 x1、x2、x3 等(每个元素都是一个 sympy 符号)。

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)

关于python - 区分具有未知数量变量的 sympy 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30375204/

相关文章:

python - 使 tkinter 列表框中的文本适合内部?

python - StandardScaler.fit() 显示值错误

Python 正则表达式捕获组拆分问题

python - sympy 中有多个用于 lambdify 的模块

python - 有没有办法用 sympy 输出包含等号的方程?

python - 使用 SymPy 简化自旋加权球谐函数的三角表示

python - 严格递增子序列的最小数量

PHP:PDO 全局数据库变量?

javascript - 将函数作为参数传递时的 promise

python - 如何在Python中自动公开和修饰方法的函数版本?