2017-05-20 4 views
2

Iこれに対して1つのTに対する少なくとも一つの溶液を得たい:sympy行列の行の和を求めるには?

row_sum(Y)= XT + row_sum(B)

Y及びBは行列(N、M)とXAベクター(ありますn)。 私はBを知っています、私はrow_sum(Y)を知っていますが、xは知りません。 私はY値とx値をt値にしたいと思っています。 Yはtと線形に変化するが、xは定数ベクトルである。

私は、YとBの行の合計を使って同じ時間xとYを得るための方程式を作成する方法はありますか?

答えて

2

行列の各行の合計を取得するには、それをすべて1の列ベクトルで乗算します。一般に、Zが行列の場合、

Z * ones(Z.shape[1], 1) 

はそのような合計を返します。

例の表記を使用したこのような操作の完全な例を次に示します。

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)) 

出力は[{x_0: -3*x_1 - 9, t: 2/(x_1 + 4)}]です。 3つの未知数t、x_0、x_1を持つ方程式が2つしかないので、答えは一意ではありません。

関連する問題