首页 > 解决方案 > LinAlgError:奇异矩阵,求解线性方程 python

问题描述

我想在python中解决这个线性方程

import numpy as np 

x2=264
x1=266
x3=294
y2=270
y1=240
y3=227

fract=(x2-x1)*(y3-y1)-(y2-y1)*(x3-x1)

A = np.matrix([[fract-(y3-y1)*(x3-x1)+(y2-y1)*(x2-x1),((x3-x1)**2)-(x2-x1)**2],[((y2-y1)**2)-(y3-y1)**2,fract+(y3-y1)*(x3-x1)-(y2-y1)*(x2-x1)]])
B = np.matrix([[(fract+(y3-y1)*(x3-x1)-(y2-y1)*(x2-x1))], [y1*fract+(y2-y1)*(x1*y2-y1*x2)+(y3-y1)*(x3*y1-y3*x1)]])

A_inverse = np.linalg.inv(A)

X = A_inverse * B 
print (X)

LinAlgError:奇异矩阵

标签: python

解决方案


这可以通过打印简单地解释A

[[ -510   780]
 [  731 -1118]]

两个辅因子都是570180,所以行列式是0

正如错误消息告诉您的那样,矩阵是奇异的,这意味着没有唯一的解决方案:没有或无限的,具体取决于所应用的常数。


推荐阅读