我的代码出错了,希望你能帮帮我! (当我粘贴代码时会发生一些奇怪的事情(并非所有内容都像代码一样编写)但是我们在这里:
我想要linalg.solve(A,Res)。第一个(A)有10行10列,即矩阵([10个数组,10个元素]),第二个有10行1列,即矩阵([1个数组,10个元素])。 / p>
当我执行代码时,它会抛出以下错误: 奇异矩阵
我不知道该怎么办。当我没有要求linalg.solve,但要求打印两个矩阵时,两者都很好:10个方程式,10个变量。所以我不知道发生了什么。请帮助!!!
如果你需要我粘贴代码(看起来很可怕)我可以做到。
谢谢
答案 0 :(得分:2)
奇异矩阵是一个不能被反转的矩阵,或者等价地具有行列式零的矩阵。因此,您不能使用奇异矩阵求解方程组(它可能没有解决方案或多个解决方案,但在任何情况下都没有唯一的解决方案)。因此,更好地确保您的矩阵是非奇异的(即,具有非零行列式),因为numpy.linalg.solve
requires non-singular matrices。
Here是关于2 x 2矩阵发生了什么的一些不错的解释(但是泛化对于N x N来说是直截了当的。)