求解有解的线性方程组;

代码实现:

高斯消元法:

import numpy as np
def Gauss_elimination(A): # 高斯消去法求解# 消元,化为上三角for k in range(len(A[0])):      for i in range(k+1,len(A)):      m=A[i][k]/A[k][k]for j in range(k,len(A[0])):     A[i][j]-=m*A[k][j]#回代X=[]     #设置空列表X来存储方程组的解x1,x2,...X.append(A[len(A)-1][len(A[0])-1]/A[len(A)-1][len(A[0])-2])     #将所得的xn添加置列表Xfor i in range(len(A)-2,-1,-1):     s=A[i][len(A[0])-1]   for j in range(i+1,len(A)):s = s - A[i][j] * X[len(A)-1-j]     X.append(s/A[i][i])      X.reverse()     return XA = np.array([[3,1,-1,4],[4,0,4,8],[12,-3,3,9]])
print(Gauss_elimination(A))

列主元高斯消去法 :

import numpy as numpy
def Gauss_Lelimination(A):  # 列主元高斯消去法求解for k in range(len(A[0])-1):  # 在整个系数矩阵中选择列主元max=A[k][k]for i in range(k+1,len(A)):  # 选主元if (abs(max)<abs(A[i][k])):  max=A[i][k]x=i  #记录选择交换的行数A[[k,i],:]=A[[i,k],:]return Gauss_elimination(A)
def Gauss_elimination(A):# 消元,化为上三角for k in range(len(A[0])):     for i in range(k+1,len(A)):    m=A[i][k]/A[k][k]for j in range(k,len(A[0])):  A[i][j]-=m*A[k][j]#回代X=[]    #设置空列表X来存储方程组的解x1,x2,...X.append(A[len(A)-1][len(A[0])-1]/A[len(A)-1][len(A[0])-2])    for i in range(len(A)-2,-1,-1):    s=A[i][len(A[0])-1]   for j in range(i+1,len(A)):s = s - A[i][j] * X[len(A)-1-j]  X.append(s/A[i][i])    X.reverse()   return X
A = np.array([[3,1,-1,4],[4,0,4,8],[12,-3,3,9]])
print(Gauss_Lelimination(A))

全主元高斯消去法:

import numpy as numpy
def Gauss_Qelimination(A):# 全主元高斯消去法求解for k in range(len(A[0])-1):max=A[k][k]for i in range(k,len(A)):for j in range(k,len(A[0])-1):if (abs(max)<abs(A[i][j])):   #选去绝对值最大者作为主元max=A[i][j]x=i   #记录选择交换的行数y=j   #记录选择交换的列数A[[k,x],:]=A[[x,k],:]    #交换第k行和第x行A[:,[k,y]]=A[:,[y,k]]    #交换第k列和第y列for i in range(k+1,len(A)):m=A[i][k]/A[k][k]for j in range(k,len(A[0])): A[i][j]-=m*A[k][j]#回代X=[]    #设置空列表X来存储方程组的解x1,x2,...X.append(A[len(A)-1][len(A[0])-1]/A[len(A)-1][len(A[0])-2])    for i in range(len(A)-2,-1,-1):     s=A[i][len(A[0])-1]for j in range(i+1,len(A)):s = s - A[i][j] * X[len(A)-1-j]  X.append(s/A[i][i])    X.reverse()  return X
A = np.array([[0.007,-0.8,0.7],[-0.1,10,10]])
print(Gauss_Qelimination(A))

运行结果:

[1.0, 1.75, 0.75]
[1.0, 2.0, 1.0]
[-14.0, -1500.0]

高斯消元法、列主元高斯消去法、全主元高斯消去法Python实现相关推荐

  1. matlab 高斯消去法程序,高斯消去法解线性方程的Matlab程序

    1151091杨晨辉 高斯消去法解线性方程的Matlab程序 方法一: function x = gauss(A,b) n = length(b); for k = 1 : n-1 if A(k,k) ...

  2. Gauss消元法求解线性方程组的Matlab实现(列主元、全主元)

    最近数值分析有作业要求用Matlab实现Gauss消元法,记录在此. 问题如下: 1.列主元消去法 function []=Gauss_L(A,b) %列主元求解线性方程组 ZG= [A b]; %增 ...

  3. 高斯消元法求解线性方程组(附python代码)

    输入:a是m×n的系数矩阵,b是m×1的(列)向量. 输出:方程组的通解. 用高斯消元法(行化简法)解线性方程组步骤 1.构造方程组的增广矩阵 2.从最左边列往右,使用行化简算法把增广矩阵化为阶梯形, ...

  4. 列主元的Gauss-Jordan消元法-python实现

    算法参考 https://wenku.baidu.com/view/d7d169d0be23482fb4da4c96.html?from=search 直接上代码 import math import ...

  5. 数值分析3-解线性方程组的高斯消去法、LU分解法及列主元消去法的matlab程序和调试方法

    对于形如Ax=b的线性方程组,在线性代数中是通过求逆的方式求解的,即x=A-1b,而在数值分析中,解线性方程组的方法是通过直接法或者迭代法来实现的,今天写的三个程序都属于直接法,分别为高斯消去法.LU ...

  6. C语言实现高斯消去法和列主元高斯消去法

    本篇主要实现高斯消去法和列主元高斯消去法 高斯消去法和列主元高斯消去法都是为了解线性方程组的有效方法,但列主元高斯消去法是高斯消去法的一个优化版本,强烈建议后面许多地方用到解方程组时,都用列主元高斯消 ...

  7. 列主元高斯消去法解线性方程组——C语言实现

    原理 高斯消去法 的基本原理就是用初等变换将用行的,逐次消去未知数的方法,把原来的方程组,化为与其等价的上三角方程组. 设有线性方程Ax=B\boldsymbol{A}\boldsymbol{x}=\ ...

  8. Matlab 列主元高斯消去法

    列主元高斯消去法是高斯消去法的优化版本,通过找出列中的最大值,避免了除以很小的数时容易引起的数值偏差. function x=Elim_Gauss(Matrix,n,b) %列主元高斯消去法 %输入- ...

  9. 计算方法——C语言实现——全主元高斯消元法求解非线性方程

    最近在上计算方法这门课,要求是用MATLAB做练习题,但是我觉得C语言也很棒棒啊~ 题目: 高斯消元法是线性方程组的直接解法,可能会造成很大的失真,尤其是高斯顺序消元法,对方法进行改进,使每次都选取绝 ...

最新文章

  1. 深入分析 java 8 编程语言规范:Threads and Locks
  2. php7简短而安全的数组遍历方法
  3. cf552 G Minimum Possible LCMn个数,求最小得一对lcm
  4. 2019.2.14 t3 车辆销售
  5. 奢侈品级别的广告位,到底要不要继续砸钱?
  6. mysql 多张表公用一个序列_Mysql--序列3--分库分表策略
  7. spss练习数据_读硕博,为你推荐5本最实用的SPSS数据统计书
  8. 设计模式(一)---单一职责原则
  9. 设计灵感|优秀案例教你如何像杂志一样排版?
  10. ES6高频面试题目整理
  11. iOS数据库的使用(一):FMDB多线程
  12. 周立功USBCAN资料分享
  13. C# HttpServer 框架
  14. ARM处理器开发详解
  15. 猜大小(python)
  16. linux 安装Docker
  17. Rb-tree中删除元素后树形调整函数_Rb_tree_rebalance_for_erase
  18. cubase怎么添加midi设备_在 Cubase 中设置 MIDI 键盘的走带控制器和旋钮推子等控制器...
  19. 在美国学CS能挣多少钱?美国IT公司标准 offer package详细数字及绿卡政策 | 美国留学申请与就业找工作咨询博客|Warald|一亩三分地论坛...
  20. 黑马程序员:移动web

热门文章

  1. 2010年湖南省第六届大学生程序设计大赛 F题 “Biggest Number” CSG - 1051 // UVA 11882 (dfs+bfs+剪枝)
  2. 2022-06-04 前端周报总结 - 科技无障碍
  3. Contacts和RawContacts的区别
  4. EasyApi的使用~~~Yapi
  5. Python入门-基础篇笔记02
  6. 双一流大学最牛计算机专业,42所双一流大学2000-2018年国家三大奖统计,科研实力一目了然...
  7. ufl计算机科学排名,美国佛罗里达大学排名解析
  8. suricata 各个线程干的事情 -- WorkerThread
  9. 苏生:“月入三万”的背后,竟然是......
  10. win10系统设置锁屏界面时不能成功的解决办法