Python 如何使用Numpy将(1*3)向量除以(3*3)矩阵?a/b不工作
MATLAB中的输出(所需输出)为: 我在Python中得到的输出是:Python 如何使用Numpy将(1*3)向量除以(3*3)矩阵?a/b不工作,python,matlab,numpy,matrix,vector,Python,Matlab,Numpy,Matrix,Vector,MATLAB中的输出(所需输出)为: 我在Python中得到的输出是: 4.4911 0.2724 -0.5958 4.27945205 4.05235602 3.23502304 8.17801047 2.33836858 2.40410959 7.19815668 2.65068493 1.18781726 我在Python中使用的代码是: 4.4911 0.2724 -0.5958 4.27945205 4.05235602 3.23502304 8.1780
4.4911 0.2724 -0.5958
4.27945205 4.05235602 3.23502304
8.17801047 2.33836858 2.40410959
7.19815668 2.65068493 1.18781726
我在Python中使用的代码是:
4.4911 0.2724 -0.5958
4.27945205 4.05235602 3.23502304
8.17801047 2.33836858 2.40410959
7.19815668 2.65068493 1.18781726
我也尝试过np.divide(a,b),但它们都给出了相同的输出,这不是我想要的。在MATLAB中是否有“/”与“/”的关系
我的Python代码应该是什么才能获得与MATLAB相同的输出?您可以使用numpy.linalg.lstsq
a/b
正如@WarrenWeckesser所指出的,对于这个问题,np.linalg.solve也会起作用,与上述矩阵除法类似的语法并不存在。在MATLAB中,矩阵除法算子实际上是一个线性方程求解器。通过编写
A=C/B
,可以在MATLAB中为A求解方程AB=C。在Python中,您可能需要寻找一个解线性方程组的函数。@CrisLuengo Hi,您的意思是C=a/B吗?@Anonymous,a
具有形状(1,3),您引用的数组具有形状(3,3),但您显示的B
具有形状(5,5)
。你能显示你使用的实际3x3矩阵吗?你可以使用np.linalg.solve(b.T,a.T)
是的,numpy
/
是按元素排列的,就像MATLAB/
一样(其他操作符如*
和+
)。