Python 实现顺序高斯消元法示例


Posted in Python onDecember 09, 2019

我就废话不多说,直接上代码吧!

# coding: utf8
import numpy as np


# 设置矩阵
def getInput():
 matrix_a = np.mat([[2, 3, 11, 5],
      [1, 1, 5, 2],
      [2, 1, 3, 2],
      [1, 1, 3, 4]],dtype=float)
 matrix_b = np.mat([2,1,-3,-3])
 #答案:-2 0 1 1
 return matrix_a, matrix_b

def SequentialGauss(mat_a):
 for i in range(0, (mat_a.shape[0])-1):
  if mat_a[i, i] == 0:
   print("终断运算:")
   print(mat_a)
   break
  else:
   for j in range(i+1, mat_a.shape[0]):
    mat_a[j:j+1 , :] = mat_a[j:j+1,:] - \
             (mat_a[j,i]/mat_a[i,i])*mat_a[i, :]
 return mat_a


def revert(new_mat):
 #创建矩阵存放答案 初始化为0
 x = np.mat(np.zeros(new_mat.shape[0], dtype=float))
 number = x.shape[1]-1
 # print(number)
 b = number+1
 x[0,number] = new_mat[number,b]/new_mat[number, number]
 for i in range(number-1,-1,-1):
  try:
   x[0,i] = (new_mat[i,b]-np.sum(np.multiply(new_mat[i,i+1:b],x[0,i+1:b])))/(new_mat[i,i])
  except:print("错误")
 print(x)
if __name__ == "__main__":
 mat_a, mat_b = getInput()
 # 合并两个矩阵
 print("原矩阵")
 print(np.hstack((mat_a, mat_b.T)))
 new_mat = SequentialGauss(np.hstack((mat_a, mat_b.T)))
 print("三角矩阵")
 print(new_mat)
 print("方程的解")
 revert(new_mat)

运行结果如下

Python 实现顺序高斯消元法示例

以上这篇Python 实现顺序高斯消元法示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python字符编码判断方法分析
Jul 01 Python
Python数据拟合与广义线性回归算法学习
Dec 22 Python
python如何统计序列中元素
Jul 31 Python
Python使用Phantomjs截屏网页的方法
May 17 Python
python实现的MySQL增删改查操作实例小结
Dec 19 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
Apr 17 Python
在python tkinter中Canvas实现进度条显示的方法
Jun 14 Python
django ManyToManyField多对多关系的实例详解
Aug 09 Python
使用TensorFlow直接获取处理MNIST数据方式
Feb 10 Python
python读取文件指定行内容实例讲解
Mar 02 Python
Python实现检测文件的MD5值来查找重复文件案例
Mar 12 Python
浅析python函数式编程
Sep 26 Python
Python实现线性判别分析(LDA)的MATLAB方式
Dec 09 #Python
在python中做正态性检验示例
Dec 09 #Python
python实现高斯判别分析算法的例子
Dec 09 #Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
Dec 09 #Python
使用 Python 写一个简易的抽奖程序
Dec 08 #Python
布隆过滤器的概述及Python实现方法
Dec 08 #Python
Python+Redis实现布隆过滤器
Dec 08 #Python
You might like
谏山创故乡大分县日田市水坝将设立《进击的巨人》立艾伦、三笠以及阿尔敏的铜像!
2020/03/06 日漫
PR值查询 | PageRank 查询
2006/12/20 PHP
zf框架的zend_cache缓存使用方法(zend框架)
2014/03/14 PHP
PHP使用PDO 连接与连接管理操作实例分析
2020/04/21 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
用 JSON 处理缓存
2007/04/27 Javascript
用 Javascript 验证表单(form)中的单选(radio)值
2009/09/08 Javascript
jQuery编写widget的一些技巧分享
2010/10/28 Javascript
NodeJS中利用Promise来封装异步函数
2015/02/25 NodeJs
ECMAScript 5中的属性描述符详解
2015/03/02 Javascript
javascript下拉框选项单击事件的例子分享
2015/03/04 Javascript
jQuery Validate表单验证入门学习
2015/12/18 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
2016/05/09 Javascript
jQuery验证插件validate使用详解
2016/05/11 Javascript
详解Js模板引擎(TrimPath)
2016/11/22 Javascript
JavaScript字符串对象
2017/01/14 Javascript
微信小程序tabBar底部导航中文注解api详解
2017/08/16 Javascript
Vue中this.$router.push参数获取方法
2018/02/27 Javascript
js中时间格式化的几种方法
2018/07/22 Javascript
详解VUE里子组件如何获取父组件动态变化的值
2018/12/26 Javascript
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
Vue如何基于vue-i18n实现多国语言兼容
2020/07/17 Javascript
vue实现的多页面项目如何优化打包的步骤详解
2020/07/19 Javascript
vue使用echarts图表自适应的几种解决方案
2020/12/04 Vue.js
[01:00:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第三场 1月10日
2021/03/11 DOTA
Python中的函数作用域
2018/05/07 Python
Python实现修改IE注册表功能示例
2018/05/10 Python
python 请求服务器的实现代码(http请求和https请求)
2018/05/25 Python
在ubuntu16.04中将python3设置为默认的命令写法
2018/10/31 Python
python循环输出三角形图案的例子
2019/11/22 Python
python 通过邮件控制实现远程控制电脑操作
2020/03/16 Python
python爬虫请求头设置代码
2020/07/28 Python
黄埔军校观后感
2015/06/10 职场文书
村主任当选感言
2015/08/01 职场文书
党员廉政准则心得体会
2016/01/20 职场文书
《学会看病》教学反思
2016/02/17 职场文书