Cyr*_*ril 3 equation sum matrix sympy equation-solving
我想为此至少获得一个解决方案:
行总和(Y) = xt + 行总和(B)
Y和B是矩阵(n,m)和xa向量(n)。我知道 B,我知道 row_sum(Y) 但不知道 x。我想获取某个 t 值的 Y 和 x。Y 随 t 线性变化,但 x 是常数向量。
如何用 Y 和 B 上的行之和创建一个方程以同时得到 x 和 Y?
小智 5
要获得矩阵中每行的总和,请将其乘以所有 1 的列向量。一般来说,如果 Z 是矩阵,则
Z * ones(Z.shape[1], 1)
Run Code Online (Sandbox Code Playgroud)
返回这样一个总和。
这是此类操作的完整示例,使用示例的符号。
from sympy import *
t = symbols('t')
Y = Matrix([[1+4*t, 2-t], [3-5*t, 4+t]])
x = symarray('x', (2,))
B = Matrix([[5, 4], [3, 2]])
solve(Y*ones(2, 1) - x*t - B*ones(2, 1))
Run Code Online (Sandbox Code Playgroud)
输出是[{x_0: -3*x_1 - 9, t: 2/(x_1 + 4)}]. 答案并不唯一,因为只有 2 个方程,其中包含三个未知数 t、x_0、x_1。