Python中的一维矩阵右分割

时间:2017-01-24 20:32:31

标签: python python-2.7 python-3.x matrix

我有一个矩阵Boolean和一个矩阵A=[2,5,8]

在Python中,我希望得到正确除法的结果B=[65,40,20] (我已在Matlab中测试过它)

在Python中,我不能A/B=0.0787因为在Python中我们不能采用一维矩阵的逆。例如,像A/B一样。

如何在Python中执行inv(b)

1 个答案:

答案 0 :(得分:0)

我的假设你认为A和B是行矩阵。

在这种情况下,正如您所提到的,B的倒数不存在。通常,矩阵的逆仅存在于方阵的子集中。由于B不是方阵,因此B的倒数不存在。并且,由于2个矩阵A / B的除法等于A * B -1 ,在您的情况下,A和B的除法不存在。

话虽这么说,你可以生成B的伪逆,numpy link,这将允许你划分A和B(种类)。我的猜测是Matlab正在使用B的伪逆来进行计算。

在python中做同样的事情试试这个:

A = numpy.array([[2,5,8]])
B = numpy.array([[65,40,20]])
A * numpy.linalg.pinv(B)

如果您尝试使用此代码,则会发现另一个问题。由于A / B = A * B -1 ,你的计算结果将是一个矩阵,而不是你从Matlab得到的标量......