我正在寻找指定依赖于变量的矩阵量的可能性。对于按以下方式工作的标量,使用未定义的函数:
from sympy import *
x = Function('f')(t)
diff(x,t)
对于像
这样的Matrix符号x = MatrixSymbol('x',3,3)
我找不到相应的东西。有
i,j = Symbols('i j')
x = FunctionMatrix(6,1,Lambda((i,j),f))
但这不是我需要的,因为你需要指定矩阵的内容。上下文是我有方程式 它应该及时导出并包含矩阵值元素。 我无法逐一处理矩阵的元素。
谢谢!
答案 0 :(得分:0)
我不确定你想要什么,但我认为你想制作一个具有差异元素的矩阵。在这种情况下,看看这是否适合你。
创建一个包含函数元素的矩阵:
X = sym.FunctionMatrix(6,1,lambda i,j:sym.Function("x_%d%d" % (i,j))(t))
M = sym.Matrix(X)
M.diff(t)
这导致
Matrix([
[Derivative(x_00(t), t)],
[Derivative(x_10(t), t)],
[Derivative(x_20(t), t)],
[Derivative(x_30(t), t)],
[Derivative(x_40(t), t)],
[Derivative(x_50(t), t)]])
然后您可以根据需要更换内容。
此外,如果在区分之前使用所需的表达式填充矩阵,则可能更为可取。将它们保留为未定义的函数可能会使您在替换后更难以简化。