Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取错误消息';线性误差:奇异矩阵';在使用Numpy时使用满秩矩阵_Python_Numpy - Fatal编程技术网

Python 获取错误消息';线性误差:奇异矩阵';在使用Numpy时使用满秩矩阵

Python 获取错误消息';线性误差:奇异矩阵';在使用Numpy时使用满秩矩阵,python,numpy,Python,Numpy,我使用的是Python 3.7和Numpy 1.16.5 我尝试使用以下代码: import numpy as np M = [[np.eye(3), np.zeros((3,3))],[temp4, np.eye(3)]] FTp = [[-0.0003],[0.0008],[0.0008],[0.0055],[0.0020],[0.0044]] FT = np.linalg.solve(M,FTp) 此代码的目的是在M和FTp(FT=M\FTp)之间获得一个左除法 temp4是一个自定义

我使用的是Python 3.7和Numpy 1.16.5

我尝试使用以下代码:

import numpy as np

M = [[np.eye(3), np.zeros((3,3))],[temp4, np.eye(3)]]
FTp = [[-0.0003],[0.0008],[0.0008],[0.0055],[0.0020],[0.0044]]
FT = np.linalg.solve(M,FTp)
此代码的目的是在
M
FTp
(FT=M\FTp)之间获得一个左除法

temp4
是一个自定义值的3x3矩阵。无论
temp4
的值是多少,矩阵
M
都应该是完整的

但是,当我尝试运行此代码时,收到以下消息:

线性误差:奇异矩阵

导致此错误的原因以及如何修复此错误?

使用从二维块开始创建二维阵列:

将numpy导入为np
tmp=np.random.rand(3,3)
M=np.块([[np.眼(3),np.零((3,3))],[tmp,np.眼(3)])
M.shape#(6,6)
FTp=[-0.0003]、[0.0008]、[0.0008]、[0.0055]、[0.0020]、[0.0044]]
FT=np.linalg.solve(M,FTp)
英尺
数组([-0.0003],
[ 0.0008    ],
[ 0.0008    ],
[ 0.00477519],
[ 0.0014083 ],
[ 0.00380704]])

可能是因为矩阵
M
是单数的(即不可逆的)。实际上,看起来
M
不是矩阵。自己打印出来,
Print(np.array(M))
Print(np.array(M.shape)
@MateenUlhaq
Print(np.array(M.shape)
的结果是(2,2,3,3)。我试着把M做成6x6矩阵,但似乎我没能做成想要的M。我怎样才能修复它?