私は行列A=[2,5,8]
と行列B=[65,40,20]
を持っています。 Pythonで Pythonの1次元行列右分割
A/B=0.0787
(私はMatlabの中でそれをテストしてみた)Pythonで、我々はの逆を取ることができないので、私はA/B
を行うことはできませんPythonでは
1次元の行列です。例えばinv(b)
のようになります。
A/B
をPythonで実行するにはどうすればよいですか?
私は行列A=[2,5,8]
と行列B=[65,40,20]
を持っています。 Pythonで Pythonの1次元行列右分割
A/B=0.0787
(私はMatlabの中でそれをテストしてみた)Pythonで、我々はの逆を取ることができないので、私はA/B
を行うことはできませんPythonでは
1次元の行列です。例えばinv(b)
のようになります。
A/B
をPythonで実行するにはどうすればよいですか?
私は、AとBを行行列と考えることを前提にしています。
この場合、前述したように、Bの逆数は存在しません。一般に、行列の逆行列は、正方行列の部分集合に対してのみ存在する。 Bは正方行列ではないので、Bの逆行列は存在しない。そして、2つの行列A/Bの除算がA * B -1に等しいので、あなたの場合、AとBの除算は存在しません。
これは、AとB(種類)を分けることができるBのnumpy linkの擬似逆行列を生成することができます。私の推測では、Matlabはあなたの計算を行うためにBの疑似逆関数を使用しています。あなたはこのコードをしようとした場合、あなたは別の問題を発見するでしょう
A = numpy.array([[2,5,8]])
B = numpy.array([[65,40,20]])
A * numpy.linalg.pinv(B)
:Pythonで同じことを行うには
はこれを試してみてください。 A/B = A * B -1なので、計算結果はMatlabのようにスカラーではなく行列になります。
ありがとうございますが、結果は行列ではなく数値になります。これは可能ですか? – Theodoros
いいえ、これは数学的見地から分かりません。 Matlabで何をしたのかは分かりませんが、数学的には意味がありません。 –
正気の問題ではありません。問題は、どの行列演算を実行したいかです。行列除算の演算は行列を返す。ちょうど数字だけが必要な場合は、別の操作を探しています。正確に何が起こりたいのかを教えていただけたら、私はあなたに正しい操作を指示するのに役立つかもしれません。 –
あなたの例AとBは行列ではありません。 Matlabのどのコードがあなたのために働いたのですか? – xnx