在 Python 中使用矩阵求解线性方程

问题描述 投票:0回答:2

我编写了一个代码来求解一组包含 3 个变量的 3 个线性方程。

方程式为:

x+y+3z = 6; 2x+3y-4z=6;3x+2y+7z=0

我写的代码是:

import numpy as np
A=np.matrix([1,1,3],[2,3,-4],[3,2,7])
B=np.matrix([6],[6],[0])
Ainverse=np.linalg.inv(A)
X=Ainverse*B
print (X)

但这显示了错误:

TypeError: Field elements must be 2- or 3-tuples, got '2'

我似乎不明白那是什么。请帮忙

python numpy
2个回答
4
投票

您错过了

[]
中的
matrix(...)
括号:

A=np.matrix([[1,1,3],[2,3,-4],[3,2,7]])
B=np.matrix([[6],[6],[0]])

请参考这个


0
投票

numpy.linalg
包解决

import numpy as np
from numpy.linalg import solve

A=np.array([[1,1,3],[2,3,-4],[3,2,7]])
b=np.array([[6],[6],[0]])

x= solve(A,b)
print (x.flatten())
print('\n'.join(["x" + str(i[0]) + " = "+str(format(i[1], '.2f')) + ", "  for i in enumerate(x)]))
© www.soinside.com 2019 - 2024. All rights reserved.