高斯消元法(二):高斯消元法原理
高斯消去法是一种常用的求解线性方程组的方法,通过逐次消元后,在回代求解,实际计算中常用的一种方法。
顺序消去法
将Ax=b按照从上至下、从左至右的顺序化为上三角方程组,中间过程不对矩阵进行交换,主要步骤如下。
STEP1:
将第2行至第n行,每行分别与第一行做运算,消掉每行第一个参数。公式如:
形成如下图所示新矩阵:
STEP2:
从新矩阵的a22开始(a22不能为0),以第二行为基准,将第三行至第n行分别与第二行做运算,消掉每行第二个参数。
公式如:,形成如下图所示新矩阵:
STEP K:
按照上述方法,当第k步运算时,公式为:
运算前后的矩阵为:
STEP (n-1):
经过 n-1 步,方程组也就转化为了我们希望得到的上三角方程组,如下:
再通过回代过程即可求解 X1至 Xn 的值。
顺序消去法计算量
消去过程:
回代过程:
总运算量:
顺序消去法虽然编程操作简单,但是存在以下两方面限制:
(1)每次运算时,必须保证对角线上的元素不为0(即运算中的分母不为0),否则算法无法继续进行。
(2)即使a(kk)的值不为零,但如果绝对值很小,由于第k次运算中a(kk)在分母位置,因此作除数会引起很大的误差,从而影响算法的稳定性。
正是由于顺序消去法会因为 a(kk) 的值过小而引入计算误差,为了减少计算过程中舍入误差对方程组求解的影星,因此是否可以选择绝对值尽可能大的 a(kk) 主元作为除数,基于这种思想就有了高斯消去法的改进型:列主元消去法 和 全主元消去法。
列(全)主元消去法
基本思想:
在第k步消元钱,找出k行下所有第k列元素最大的非零元素 a(pk), 将第 p 行与第 k行进行整行交换,这样既不影响原方程的解,也可以将绝对值最大的a(pk)作为主元,放在处暑的位置上,尽可能减小引入误差。
全主元消除法与列主元消除法类似,只不过列主元消除法是从第k列中选取一个最大的元素,与第k行进行交换。 而全主元消除法释从第k行第k列开始的右下角矩阵中所有元素中选取一个最大的元素作为主元,同时交换p行与q列,从而保证稳定性。
如下面这个列主元消去法的例子:
高斯消元法(二):高斯消元法原理相关推荐
- #20155235 《网络攻防》 实验二 后门原理与实践
20155235 <网络攻防> 实验二 后门原理与实践 实验目的 建立一个后门连接是如此的简单,功能又如此强大.通过亲手实践并了解这一事实,从而提高自己的安全意识 . 实验内容 (1)使用 ...
- 《CDN 之我见》系列二:原理篇(缓存、安全)
2019独角兽企业重金招聘Python工程师标准>>> <CDN之我见>共由三个篇章组成,分为原理篇.详解篇和陨坑篇.本篇章适合那些从未接触过.或仅了解一些 CDN 专业 ...
- 机器学习Sklearn实战——梯度提升树二分类原理
一.算法使用 (一)创建 (二)参数调整 cross_val_score:求单一参数最合适的值(KNN) GridSearchCV网格搜索:多参数组合最优的值 标准:准确率,精确率,召回率,F1 (三 ...
- 交叉熵损失函数分类_逻辑回归(Logistic Regression)二分类原理,交叉熵损失函数及python numpy实现...
本文目录: 1. sigmoid function (logistic function) 2. 逻辑回归二分类模型 3. 神经网络做二分类问题 4. python实现神经网络做二分类问题 ----- ...
- 微型计算机原理实验二,微机原理实验2
I/O地址译码与简单并行接口 冯展祥 08378014 一.实验目的 通过实验,掌握触发器.74LS273.74LS244.74LS138,开关.发光二极管和单脉冲按钮的使用方法以及I/O地址译码电路 ...
- C++版本OpenCv教程(四十二)霍夫变换原理及直线检测
霍夫变换(Hough Transform)是图像处理中检测是否存在直线的重要算法,该算法是由Paul Hough在1962年首次提出,最开始只能检测图像中的直线,但是霍夫变换经过不断的扩展和完善已经可 ...
- 平衡小车制作系列之二——模块原理解析
文章目录 一. 模块概述 二. 直流电机 2.1 直流电机介绍 2.2 直流电机外围设备介绍 2.2.1 减速器 2.2.2 控制PWM的单片机 2.2.3 编码器 三. 编码器 3.1 编码器介绍 ...
- Android 进程间通信机制(二) mmap 原理
一. 前言 Binder中一次拷贝的实现就是利用mmap(memory mapping)内存映射机制,我们来看看它的工作原理. 二. 参考文章 下面这几篇文章建议先好好阅读一下,都是总结的很好的文章, ...
- 高斯消元法java_高斯消元法解线性方程(java实现)
高斯消元法解线性方程(java实现) 检测是否为增广矩阵 矩阵必须要符合这个要求,才能得以计算. x1 - 2x2 + x3 = 0 2x2 - 8x3 = 8 -4x1 + 5x2 + 9x3 = ...
- Git实战(二)原理
上次的博文Git实战(一)版本号控制概述中我们简介了一下版本号控制系统的概念,重点对版本号控制的三种类型进行了分析和对照,从本篇博文開始我们进入Git的世界,首先介绍一下Git实现版本 ...
最新文章
- 一起谈.NET技术,专访微软MVP衣明志:走进ASP.NET MVC 2框架开发
- python利用unittest进行测试用例执行的几种方式
- golang interface的使用和实现(翻译整理)
- c语言double root,C语言修仙
- python函数学习1
- 02.改善深层神经网络:超参数调试、正则化以及优化 W3. 超参数调试、Batch Norm和程序框架
- mysql 禁止使用enum_MySQL慎用 ENUM 字段
- c#.net常用函数列表
- random随机数类
- PAT-Basic Level-1001 害死人不偿命的(3n+1)猜想;
- 台式计算机安装无线网卡驱动程序,台式电脑无线网卡驱动程序怎么安装
- html下拉折叠菜单,纯CSS实现折叠菜单下拉菜单
- this的指向为什么是undefined
- 太原用计算机单位的工资,太原个税计算器_太原税后月薪|工资计算器_太原个人所得税查询 - Tax518...
- 100个c#初学者编程实例_C#编程:初学者入门
- Windows下用戶無法寫入和讀取
- yum配置代理proxy
- 国际手机号码正则表达式
- 只能供销系统_3模板技术
- Fortran(X)概述