python 线性代数:[7]解多元一次方程

2024-10-30 18:09:49

用python的numpy包中的linalg.solve()方法解多元一次方程,如果你对矩阵解方程非常熟悉,那么现在只是学习一下这个函数就好了。如果你不是很熟悉用矩阵解方程,你需要看一下线性代数的课本。

首先看一下我们要解的方程,将这个方程格式调整好,按照x-y-z-常数项的顺序排列python 线性代数:[7]解多元一次方程

常数项构成一个一维数组(向量)python 线性代数:[7]解多元一次方程

我们得到的解对不对呢?使用点乘的方法可以验证一下,系数乘以未知数可以得到常数项python 线性代数:[7]解多元一次方程

今天用到的所有代码如下

>>> a=[[1,2,1],[2,-1,3],[3,1,2]]

>>> a=np.array(a)

>>> a

array([[ 1, 2, 1],

[ 2, -1, 3],

[ 3, 1, 2]])

>>>

>>>

>>> b=[7,7,18]

>>> b=np.array(b)

>>> b

array([ 7, 7, 18])

>>>

>>>

>>>

>>> x=np.solve(a,b)

Traceback (most recent call last):

File "<pyshell#31>", line 1, in <module>

x=np.solve(a,b)

AttributeError: 'module' object has no attribute 'solve'

>>> x=np.linalg.solve(a,b)

>>> x

array([ 7., 1., -2.])

>>>

>>>

>>>

>>>

>>> np.dot(a,x)

array([ 7., 7., 18.])

猜你喜欢