我需要解一组形式为x的联立方程。我使用了numpy.linalg.solve函数,输入了a和B,但得到了错误“linalgreor:数组的最后2维必须是正方形”。我该怎么解决?
这是我的代码:
A = matrix([[v1x, v2x], [v1y, v2y], [v1z, v2z]])
print A
B = [(p2x-p1x-nmag[0]), (p2y-p1y-nmag[1]), (p2z-p1z-nmag[2])]
print B
x = numpy.linalg.solve(A, B)
矩阵/向量的值在代码的前面计算出来,这很好,但是值是:
A=
(-0.56666301, -0.52472909)
(0.44034147, 0.46768087)
(0.69641397, 0.71129036)
B=
(-0.38038602567630364, -24.092279373295057, 0.0)
x的形式应该是(x1,x2,0)
正方形矩阵是具有相同行数和列数的矩阵。你做的矩阵是3乘2。添加一列零来解决此问题。
相关问题 更多 >
编程相关推荐