首页 > 解决方案 > 在 sympy 中从矩阵方程中拉出一行

问题描述

在 sympy 中,我将等式定义smile如下:

y = sp.MatrixSymbol('y', 2, 1)
x = sp.MatrixSymbol('x', 3, 1)
A = sp.Matrix([[ 1, 2, 3],[4, 3, 2]])
b = sp.Matrix([45, 56])

smile = sp.Eq(y, A*x + b)
smile

产量

Out[9]:
    ⎡1  2  3⎤     ⎡45⎤
y = ⎢       ⎥⋅x + ⎢  ⎥
    ⎣4  3  2⎦     ⎣56⎦

如果我想查看 的等式y[0],它是 的第一个元素y,我可以这样做:

sp.Eq(smile.lhs[0], smile.rhs[0])

屈服

y₀₀ = x₀₀ + 2⋅x₁₀ + 3⋅x₂₀ + 45

但是对于手头的任务,我只知道元素的名称,而不是我要查找的行号。有没有办法在给定变量名称的情况下只提取矩阵方程的一行?

我在想象类似的东西smile[y[0]]or sp.solve(smile, y[0])

标签: pythonsympy

解决方案


推荐阅读