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

2025-09-30 17:31:06

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

    首先看一下我们要解的方程,将这个方程格式调整好,按照x-y-z-常数项的顺序排列

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

    将未知数的系数写下来,排列成一个矩阵a,如下

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

    常数项构成一个一维数组(向量)

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

    使用linalg.solve方法解方程,参数a指的是系数矩阵,参数b指的是常数项矩阵

    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.])

(共篇)上一篇:逆矩阵/伴随矩阵|下一篇:
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢