列主元高斯消元法(Python实现)
列主元素消去法是为控制舍入误差而提出来的一种算法,列主元素消去法计算基本上能控制舍入误差的影响,其基本思想是:在进行第 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实现)相关推荐
- 【Python算法】数值分析—列主元高斯消元法——附源码
一.背景 线性方程组有很多种解法,可以最简单的直接代入消元计算,但是运算量较大,且过程复杂不直观. 高斯消元法目的是预处理方程组的系数矩阵,将系数矩阵变换为上三角矩阵,这样整个方程就变得清晰直观很多, ...
- 高斯消元法的c语言编程,列主元高斯消元法的C语言编程
列主元高斯消元法的C语言编程 列主元高斯消元法 基本思想:用高斯消元法求解线性方程组时,为避免小的主元,在进行第k步消元前,应该在第k列(k)元素aik(i k,(k)(k)例如|aikk| max| ...
- 列主元高斯消元法_C语言
本文是用C语言写的列主元高斯消元法,在写之前也是百度了一下 看了好多感觉不是很喜欢,就根据自己的想法写了这个. 不知有没有什么漏洞和瑕疵,望大家指正. #include <stdio.h> ...
- 高斯消元法python实现
高斯消元法 消元结果 依次回代 代码 import numpy as npdef gauss(a,b):n,m = a.shapex = np.empty(m) # 解#一共要有(行-1)次消元for ...
- 高斯消元法python编程_Python 实现顺序高斯消元法示例
我就废话不多说,直接上代码吧! # coding: utf8 import numpy as np # 设置矩阵 def getInput(): matrix_a = np.mat([[2, 3, 1 ...
- 高斯消元法python编程_Python基于高斯消元法计算线性方程组示例
本文实例讲述了Python基于高斯消元法计算线性方程组.分享给大家供大家参考,具体如下: #!/usr/bin/env python # coding=utf-8 # 以上的信息随自己的需要改动吧 d ...
- 高斯消元法python编程_高斯消元法的Python实现
高斯消元法 节约内存的算法: 例1:用高斯消元法求解线性方程组: # -*- coding: utf-8 -*- """ 求解线性方程组: [12 -3 3] [x1] ...
- 高斯消元法python编程_高斯消元法c语言实现
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 数论和组合数学:高斯消元法.积性函数的应用.欧拉定理.费马小定理.威尔逊定理.群 ...
- 高斯消元法原理与Matlab实现
直接法解线性方程组-高斯消元法 1.高斯消元法思想 设有线性方程组如下所示: {a11x1+a12x2+⋯+a1nxn=b1,a21x1+a22x2+⋯+a2nxn=b2,⋮an1x1+an2x2+⋯ ...
最新文章
- SpringMVC中数据库链接配置
- 使用java9的uuid生成方式,让uuid生成速度提升一个档次...
- fft的c语言和matlab对比_Matlab系列之程序控制
- 自学Android!Android高级工程师面试题-字节跳动,附答案
- [Redux/Mobx] 在redux中,什么是store?
- SAP S4 Finance6个支持企业实时财务管理的主要创新领域
- Rust是如何实现内存安全的--理解RAII/所有权机制/智能指针/引用
- 关于LINUX的NVIDIA显卡驱动安装
- 计算机三级数据库技术 知识点
- 数据库设计-电话号码长度
- Retrofit 2.9.0 源码解析
- 服务器上文件不能重命名,服务器文件重命名
- OPERA-MS:宏基因组二、三代测序混合组装
- PostgreSQL日期加减
- 单独使用Element图片预览功能
- 超详细的计算机视觉学习书籍pdf汇总(涉及CV、深度学习、多视图几何、SLAM、点云处理等)
- 还在找免费的能提供HTTPS协议外链的图床?这个开源插件轻松完成
- 欧洲之星Fotona 4D是什么,欧洲之星Fotona 4和热玛吉哪个好
- java之自定义注解的完整使用
- 深入解析Flutter下一代渲染引擎Impeller
热门文章
- 1.6编程基础之一维数组 10大整数加法
- 上海Java培训机构排名榜单已出炉,实力学员推荐不看后悔
- 锂离子蓄电池充电方法
- 三年级计算机秒打汉字教案,武汉社版三年级全册信息技术 18.汉字输入我能行 教案...
- HC06 ,ZS040 (没有按键的)AT配置相关
- 贪吃的大嘴java_Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
- 游戏服务器 linux windows,游戏服务器用windows还是linux的系统好?
- ThinkPHP5.0商城项目目录搭建(菜鸟)
- conda使用清华源解决pytorch安装过慢问题5分钟安装成功!!!!!!!
- 计算机专业助我成长400字作文,成长作文400字