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 fabric实现远程操作和部署示例
Mar 25 Python
python3实现抓取网页资源的 N 种方法
May 02 Python
python使用邻接矩阵构造图代码示例
Nov 10 Python
Python爬虫天气预报实例详解(小白入门)
Jan 24 Python
Python学生信息管理系统修改版
Mar 13 Python
Python使用 Beanstalkd 做异步任务处理的方法
Apr 24 Python
Python走楼梯问题解决方法示例
Jul 25 Python
python保存字典和读取字典的实例代码
Jul 07 Python
基于python实现语音录入识别代码实例
Jan 17 Python
PyCharm如何导入python项目的方法
Feb 06 Python
Python接口测试文件上传实例解析
May 22 Python
Python加载数据的5种不同方式(收藏)
Nov 13 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
php flv视频时间获取函数
2010/06/29 PHP
PHP Array交叉表实现代码
2010/08/05 PHP
PHP漏洞全解(详细介绍)
2012/11/13 PHP
smarty模板引擎从php中获取数据的方法
2015/01/22 PHP
php生成不重复随机数、数组的4种方法分享
2015/03/30 PHP
一个简单安全的PHP验证码类、PHP验证码
2016/09/24 PHP
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
使用jscript实现二进制读写脚本代码
2008/06/09 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
js innerHTML 改变div内容的方法
2013/08/03 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
2014/03/10 Javascript
angularjs学习笔记之双向数据绑定
2015/09/26 Javascript
在javascript中创建对象的各种模式解析
2016/05/16 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
2017/05/02 Javascript
Angular 5.x 学习笔记之Router(路由)应用
2018/04/08 Javascript
Redux实现组合计数器的示例代码
2018/07/04 Javascript
JS浅拷贝和深拷贝原理与实现方法分析
2019/02/28 Javascript
Python 字典(Dictionary)操作详解
2014/03/11 Python
Python实现信用卡系统(支持购物、转账、存取钱)
2016/06/24 Python
Python Django使用forms来实现评论功能
2016/08/17 Python
Django自定义分页与bootstrap分页结合
2021/02/22 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
2018/01/04 Python
详解TensorFlow在windows上安装与简单示例
2018/03/05 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
2020/02/06 Python
Python实现一个简单的递归下降分析器
2020/08/01 Python
使用简单的CSS3属性实现炫酷读者墙效果
2014/01/08 HTML / CSS
波兰运动鞋网上商店:e-Sporting
2018/02/16 全球购物
如何在Cookie里面保存Unicode和国际化字符
2013/05/25 面试题
《小鹰学飞》教学反思
2014/04/23 职场文书
学前班学生评语
2014/12/29 职场文书
2015年大学生社会实践评语
2015/03/26 职场文书
证婚人婚礼致辞
2015/07/28 职场文书
MySQL8.0 Undo Tablespace管理详解
2022/06/16 MySQL