LinAlgError:奇异矩阵,求解线性方程python

时间:2019-04-29 16:41:02

标签: 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:奇异矩阵

1 个答案:

答案 0 :(得分:0)

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

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

两个辅助因子均为570180,因此行列式为0

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