高斯消元解方程程序(python,数值积分)

本文介绍了如何使用高斯消元法解决线性代数方程,并通过Python程序展示了这一过程。文章详细阐述了高斯消元的步骤,并提供了使用numpy库进行矩阵操作的Python代码示例,同时提到了处理系数为0的情况及其解决方案。
摘要由CSDN通过智能技术生成

第一课 高斯消元

首先介绍最普遍的线性代数方程的形式
在这里插入图片描述
通常被写成
在这里插入图片描述

其中[A] 为矩阵, {x} and {b} 为向量。
如果学过线性代数,可以知道最简单的求联立方程的方式就是高斯消元,比如看下面这个例子:
在这里插入图片描述

为了达成成消元的目的,我们可以把等式a乘2之后加到b上,这样b中的x1项就被消除了,同样,我们也可以用等式a乘0.5,可以消除c中的x1项。
这个进程可以用公式写为
在这里插入图片描述

在这里插入图片描述

对于得出的结果,进一步进程为
在这里插入图片描述
经过变化之后,这个矩阵将变成:
在这里插入图片描述
在这里插入图片描述
其中[u]叫做上三角矩阵,这个方程中未知数很好得到,x3=3.5/2.5,然后x2=(4-10x3)/5,最后x1=(1-(-5)x3-1x2)/10,这种迭代求解方式叫做‘向后代入求解’,对应向后代入求解,对于下三角矩阵,也有‘向前代入求解’。
下面说一下python的程序,python的基本语法,大家可以参照任意一本语法书来学习,或者有些语法问题大家一起讨论,首先python语言里只能用列表来表示矩阵,所以矩阵我都是采用numpy库来赋值的:

#线性联立方程组的高斯消元
import numpy as np
import math
n=3
a=np.array([[10,1,-5],[-20,3,20]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深渊潜航

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值