列主元素消去法是为控制舍入误差而提出来的一种算法,列主元素消去法计算基本上能控制舍入误差的影响,其基本思想是:在进行第 k(k=1,2,...,n-1)步消元时,从第k列的 akk及其以下的各元素中选取绝对值最大的元素,然后通过行变换将它交换到主元素akk的位置上,再进行消元。


#列主元高斯消元法
"""利用高斯消去法解线性方程组X1+2X2+4X3=1-X1-4X2-9X3=43X1+6X2+2X3=1
"""
import numpy as np
A = np.array([[1.0,2.0,4.0,1.0],[-1.0,-4.0,-9.0,4.0],[3.0,6.0,2.0,1.0]])
print(f'利用高斯消元法解线性方程组\n{A}')
def Gauss_elimination(A):"""消元,化为上三角"""for col in range(len(A)-1):#需要进行多少次消元A=swap(A,col,len(A))print(f"第{col+1}次交换之后\n{A}")for row in range(col+1, len(A)):#进行消元的行数r = A[row][col]/A[col][col]j = 0for Value in A[col]:i = rowA[i][j] = A[i][j]-Value*rif j<len(A): j=j+1 #防止索引超出范围 # 回代ans = []A = list(A)A.reverse()for sol in range(len(A)):if sol == 0:ans.append(A[0][-1]/A[0][-2])else:known = 0for x in range(sol):known = known + ans[x]*A[sol][-2-x]ans.append((A[sol][-1]-known)/A[sol][-sol-2])ans.reverse()return ans  def swap(A,col,n):#交换A=list(A)for i in range(col,n):if np.abs(A[col][col])<np.abs(A[i][col]):A.append(A[col])A[col] = A[i]A[i] = A[n]del A[n]A = np.array(A)return Aprint(f'所得结果为\n{Gauss_elimination(A)}')

列主元高斯消元法(Python实现)相关推荐

  1. 【Python算法】数值分析—列主元高斯消元法——附源码

    一.背景 线性方程组有很多种解法,可以最简单的直接代入消元计算,但是运算量较大,且过程复杂不直观. 高斯消元法目的是预处理方程组的系数矩阵,将系数矩阵变换为上三角矩阵,这样整个方程就变得清晰直观很多, ...

  2. 高斯消元法的c语言编程,列主元高斯消元法的C语言编程

    列主元高斯消元法的C语言编程 列主元高斯消元法 基本思想:用高斯消元法求解线性方程组时,为避免小的主元,在进行第k步消元前,应该在第k列(k)元素aik(i k,(k)(k)例如|aikk| max| ...

  3. 列主元高斯消元法_C语言

    本文是用C语言写的列主元高斯消元法,在写之前也是百度了一下 看了好多感觉不是很喜欢,就根据自己的想法写了这个. 不知有没有什么漏洞和瑕疵,望大家指正. #include <stdio.h> ...

  4. 高斯消元法python实现

    高斯消元法 消元结果 依次回代 代码 import numpy as npdef gauss(a,b):n,m = a.shapex = np.empty(m) # 解#一共要有(行-1)次消元for ...

  5. 高斯消元法python编程_Python 实现顺序高斯消元法示例

    我就废话不多说,直接上代码吧! # coding: utf8 import numpy as np # 设置矩阵 def getInput(): matrix_a = np.mat([[2, 3, 1 ...

  6. 高斯消元法python编程_Python基于高斯消元法计算线性方程组示例

    本文实例讲述了Python基于高斯消元法计算线性方程组.分享给大家供大家参考,具体如下: #!/usr/bin/env python # coding=utf-8 # 以上的信息随自己的需要改动吧 d ...

  7. 高斯消元法python编程_高斯消元法的Python实现

    高斯消元法 节约内存的算法: 例1:用高斯消元法求解线性方程组: # -*- coding: utf-8 -*- """ 求解线性方程组: [12 -3 3] [x1] ...

  8. 高斯消元法python编程_高斯消元法c语言实现

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 数论和组合数学:高斯消元法.积性函数的应用.欧拉定理.费马小定理.威尔逊定理.群 ...

  9. 高斯消元法原理与Matlab实现

    直接法解线性方程组-高斯消元法 1.高斯消元法思想 设有线性方程组如下所示: {a11x1+a12x2+⋯+a1nxn=b1,a21x1+a22x2+⋯+a2nxn=b2,⋮an1x1+an2x2+⋯ ...

最新文章

  1. SpringMVC中数据库链接配置
  2. 使用java9的uuid生成方式,让uuid生成速度提升一个档次...
  3. fft的c语言和matlab对比_Matlab系列之程序控制
  4. 自学Android!Android高级工程师面试题-字节跳动,附答案
  5. [Redux/Mobx] 在redux中,什么是store?
  6. SAP S4 Finance6个支持企业实时财务管理的主要创新领域
  7. Rust是如何实现内存安全的--理解RAII/所有权机制/智能指针/引用
  8. 关于LINUX的NVIDIA显卡驱动安装
  9. 计算机三级数据库技术 知识点
  10. 数据库设计-电话号码长度
  11. Retrofit 2.9.0 源码解析
  12. 服务器上文件不能重命名,服务器文件重命名
  13. OPERA-MS:宏基因组二、三代测序混合组装
  14. PostgreSQL日期加减
  15. 单独使用Element图片预览功能
  16. 超详细的计算机视觉学习书籍pdf汇总(涉及CV、深度学习、多视图几何、SLAM、点云处理等)
  17. 还在找免费的能提供HTTPS协议外链的图床?这个开源插件轻松完成
  18. 欧洲之星Fotona 4D是什么,欧洲之星Fotona 4和热玛吉哪个好
  19. java之自定义注解的完整使用
  20. 深入解析Flutter下一代渲染引擎Impeller

热门文章

  1. 1.6编程基础之一维数组 10大整数加法
  2. 上海Java培训机构排名榜单已出炉,实力学员推荐不看后悔
  3. 锂离子蓄电池充电方法
  4. 三年级计算机秒打汉字教案,武汉社版三年级全册信息技术 18.汉字输入我能行 教案...
  5. HC06 ,ZS040 (没有按键的)AT配置相关
  6. 贪吃的大嘴java_Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
  7. 游戏服务器 linux windows,游戏服务器用windows还是linux的系统好?
  8. ThinkPHP5.0商城项目目录搭建(菜鸟)
  9. conda使用清华源解决pytorch安装过慢问题5分钟安装成功!!!!!!!
  10. 计算机专业助我成长400字作文,成长作文400字