一、约当消去法

基本思想:
将矩阵转换成仅含主对角元素,且为1
算法步骤描述:
1.逐行进行遍历:
(1)归一化,保证该行主对角元素为1
(2)其他所有行进行消元,消去目前该行的对应主对角元素的那列的元素,注意操作右端向量b
2.最后得到的对角矩阵即为结果

代码实现:

/***@name Jordan_elimination:约当消元*@param1 A:系数矩阵*@param2 b:右端向量
**/
void Jordan_elimination(double A[row_len][col_len],double b[row_len])
{for (int i=0;i<row_len;i++){//对一行元素//首先进行归一化 A中元素double A_temp=A[i][i];for (int j=0;j<col_len;j++){A[i][j]=A[i][j]/A_temp;}//归一化b中元素b[i]=b[i]/A_temp;//对其他行减去该行的归一化元for (int k=0;k<row_len;k++){if(k==i)continue;else{//消去该行的第i列的元素double A_temp2=A[k][i];for (int p=0;p<row_len;p++){A[k][p]=A[k][p]-A_temp2*A[i][p];}//对b向量在该行的值作处理b[k]=b[k]-A_temp2*b[i];}}}//显示矩阵经过约当消元后的结果 对角for (int i=0;i<row_len;i++){for (int j=0;j<col_len;j++){cout<<A[i][j]<<" ";}cout<<b[i]<<endl;}
}

二、高斯消去法

基本思想:
将矩阵转化为上三角矩阵,然后再从最后一行回代求解
算法步骤:
1.逐行遍历
(1)根据主对角元素对该行进行归一化
(2)该行下面的所有行消去该行的主对角元素对应列的元素,同样不要忘记操作右端向量b
2.迭代得到的矩阵为上三角矩阵,需要进行回代求解
3.回代时定义一个解向量,从后先前迭代:右端向量-sum(位于该位置后面的解*对应位置系数)

代码实现:

/***@name Jordan_elimination:高斯消去法*@param1 A:系数矩阵*@param2 b:右端向量
**/
void Gaussian_elimination(double A[row_len][col_len],double b[row_len])
{for (int i=0;i<row_len;i++){//将主对角归一化double A_temp=A[i][i];for (int j=0;j<col_len;j++){A[i][j]=A[i][j]/A_temp;}b[i]=b[i]/A_temp;//对该行后面的行进行消元for (int k=i+1;k<row_len;k++){double A_temp2=A[k][i];for (int p=0;p<col_len;p++){A[k][p]=A[k][p]-A_temp2*A[i][p];}b[k]=b[k]-A_temp2*b[i];}}//显示矩阵结果 上三角for (int i=0;i<row_len;i++){for (int j=0;j<col_len;j++){cout<<A[i][j]<<" "; }cout<<b[i]<<endl;}//回代cout<<"\nthe result is"<<endl;//x定义为解向量 从后向前回代double x[row_len];for (int i=row_len-1;i>=0;i--){x[i]=b[i];for (int j=i+1;j<row_len;j++){x[i]+=(-A[i][j]*x[j]);}}//显示解向量for (int i=0;i<row_len;i++){cout<<x[i]<<endl;}
}

数值计算方法(七)——两种消去法求解线性方程组相关推荐

  1. 数值计算方法(六)——迭代法求解线性方程组

    雅克比迭代公式 公式: 代码实现: 双重循环实现迭代过程 /***@name Jacobi_iteration:雅克比迭代方法求解向量*@param1 x:初始解向量x*@param2 x1:迭代结果 ...

  2. shell 不等于_关于shell编程中的整数值比较的两种方式的简单操作实例

    谈一谈关于shell编程中的整数值比较的两种方式 Shell编程有时处理一个对象时,需要我们对对象进行测试. 只有符合要求的才采取下一步操作,这样做的好处可以避免程序出错. 这个测试的对象可以是文件. ...

  3. Guass列主元消去法求解线性方程组

    上篇博文讲到:Guass消去法求解线性方程组,也提到了此方法求解线性方程组存在的问题,因此有如下: 基本思想: 看不懂没关系,直接看下面的例题,会有更直观的理解,然后再回到这里继续看. 选主元的步骤( ...

  4. Guass消去法求解线性方程组

    基本思想: 具体消元过程: 回代解方程组: 高斯顺序消去法求解线性方程组的计算公式: 存在的问题: 这种方法不是很实用,但是通常讲求解线性方程组都会先提到这种方法,这是基础,还是需要看看.

  5. 百钱买百鸡python编程列表推导式_使用循环和列表推导式两种方法求解百钱买百鸡问题。假设大鸡5元一只,中鸡3元一只,小鸡1元三只,现有100元钱想买100只鸡,有多少种买法?...

    [程序题]编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数 1/1+1/3+...+1/n [单选题]患者男,67岁.确诊为原发性支气管肺癌,为行手术 ...

  6. 两种方法求解 正数数组中 两个数相减 的最大值

    一,问题描述 给定一个正数数组arr(即数组元素全是正数),找出该数组中,两个元素相减的最大值,其中被减数的下标不小于减数的下标. 即求出: maxValue = max{arr[j]-arr[i] ...

  7. Python两种方法求解登楼梯问题(京东2016笔试题)

    问题:假设一段楼梯共15个台阶,小明一步最多能上3个台阶,那么小明上这段楼梯一共有多少种方法? 解析:从第15个台阶上往回看,有3种方法可以上来(从第14个台阶上一步迈1个台阶上来,从第13个台阶上一 ...

  8. 图解法求最优解的例题_初一上学期,方程的解互为相反数,两种方法求解参数的值...

    在一元一次方程问题中,有一类问题,那就是方程的解互为相反数.在处理这类问题时,一般有两种方法进行处理,不同的题目可以选择不同的方法.当然,两种方法都需要掌握. 例题1:已知关于x的方程6x-a=1+4 ...

  9. c语言如何计算出迭代次数,计算方法——C语言实现——迭代法求解线性方程组...

    最近在上计算方法这门课,要求是用MATLAB做练习题,但是我觉得C语言也很棒棒啊~ 题目: 和直接法不同,迭代法是一种逐次逼近的方法,将复杂问题简单化,求比较大的方程组时一般都不会用直接法.迭代法有好 ...

最新文章

  1. C++基础——类继承
  2. TCP/IP详解--学习笔记(6)-UDP协议
  3. boost::log::sinks::debug_output_backend用法的测试程序
  4. dncnn图像去噪_NeuNet2020:BRDNet(开源)使用深度CNN和批量归一化进行图像去噪
  5. js中的Object.create(null) 和 {} 的区别
  6. 10问10答:你真的了解线程池吗?
  7. 预装鸿蒙系统!华为MatePad Pro 2或暂定6月2日发布
  8. java工作笔记021---Java设计模式_观察者模式_事件驱动模式
  9. Java+selenium之WebDriver的抛出异常分析(七)
  10. spss回归分析_SPSS之回归分析
  11. docker强制删除none的image镜像
  12. 被利用达数百万次、瞄准 Linux 系统的 Top 15漏洞
  13. 大端BigEndian、小端LittleEndian与字符集编码
  14. Mysql Alter table 操作
  15. JAVA_JDK下载与安装教程(小白)
  16. 骑士资本高频交易系统事故案例分析
  17. Glide图片框架使用详细介绍(一),kotlin从入门到进阶实战电子书
  18. 小鸟云数据盘如何进行挂载?
  19. C语言从一段字符串中提取IP地址的方法
  20. 什么IT项目可以兼职在学校做

热门文章

  1. KVM虚拟机添加磁盘空间
  2. php可以更改html后缀名嘛,请问你们怎么将html的文件的内容改变为php
  3. html背景无法载入gif图像,background-image:url(XXXX.gif)为何不显示背景图片_html/css_WEB-ITnose...
  4. pdfplumber解析pdf文件
  5. fate框架找不到 flow 命令
  6. python未来人工智能主流_python深度学习,未来人工智能三大境界的划分
  7. linux组合键 发送指定信号_linux trap脚本信号捕获命令的使用
  8. pythonopencv测距_python opencv单目测距 小孔成像原理
  9. 创建构建方法android,如何快速创建并发布一个 Android 库
  10. 漫谈CGI FastCGI WSGI