Python高斯消除矩阵


Posted in Python onJanuary 02, 2019

高斯消除矩阵

#! /usr/bin/env python
# -*- coding: utf-8 -*-
#
def pprint(A):
  for i in A:
    print(i)
  print("")
data = [
  [1, 2, 1, 2],
  [3, 8, 1, 12],
  [0, 4, 1, 2]
]
n = len(data)
print("输入数据")
pprint(data)
for i in range(n):
  print("第{}次操作".format(i))
  maxE = abs(data[i][i])
  # 最大值在第几行
  maxRow = i
  for k in range(i + 1, n):
    if abs(data[k][i] > maxE):
      maxE = abs(data[k][i])
      maxRow = k
  # 当前行交换最大的行
  for k in range(i, n + 1):
    data[maxRow][k], data[i][k] = data[i][k], data[maxRow][k]
  print("当前行交换最大的行 交换结果")
  pprint(data)
  # 改0
  for k in range(i + 1, n):
    c = -data[k][i] / data[i][i]
    print(-data[k][i] ,"/", data[i][i])
    for j in range(i, n + 1):
      if i == j:
        data[k][j] = 0
      else:
        data[k][j] += c * data[i][j]
  print("改0结果")
  pprint(data)
# 化简后结果
print("化简结果")
pprint(data)
# 结果计算
result = [0 for i in range(n)]
for i in range(n - 1, -1, -1):
  result[i] = data[i][n] / data[i][i]
  for k in range(i - 1, -1, -1):
    data[k][n] -= data[k][i] * result[i]
print(result)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
python实时分析日志的一个小脚本分享
May 07 Python
Python实现的概率分布运算操作示例
Aug 14 Python
使用Python设计一个代码统计工具
Apr 04 Python
python tkinter实现界面切换的示例代码
Jun 14 Python
python Pandas如何对数据集随机抽样
Jul 29 Python
PyTorch预训练的实现
Sep 18 Python
python中删除某个元素的方法解析
Nov 05 Python
python3 pathlib库Path类方法总结
Dec 26 Python
Python字符串格式化f-string多种功能实现
May 07 Python
如何利用Python实现n*n螺旋矩阵
Jan 18 Python
Python Django / Flask如何使用Elasticsearch
Apr 19 Python
python运行脚本文件的三种方法实例
Jun 25 Python
python遍历小写英文字母的方法
Jan 02 #Python
Python最小二乘法矩阵
Jan 02 #Python
Centos部署django服务nginx+uwsgi的方法
Jan 02 #Python
Python 一句话生成字母表的方法
Jan 02 #Python
使用python将请求的requests headers参数格式化方法
Jan 02 #Python
浅谈python requests 的put, post 请求参数的问题
Jan 02 #Python
Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法
Apr 18 #Python
You might like
php中{}大括号是什么意思
2013/12/01 PHP
php使用sql server验证连接数据库的方法
2014/12/25 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
2016/03/06 PHP
PHP实现的随机IP函数【国内IP段】
2016/07/20 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
2016/11/05 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
jQuery 数据缓存data(name, value)详解及实现
2010/01/04 Javascript
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
jquery下组织javascript代码(js函数化)
2010/08/25 Javascript
整理8个很棒的 jQuery 倒计时插件和教程
2011/12/12 Javascript
提示$ is not defined错误分析及解决
2013/04/09 Javascript
关于JS中prototype的理解
2015/09/07 Javascript
JS面向对象编程详解
2016/03/06 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
vue 怎么创建组件及组件使用方法
2017/07/27 Javascript
jQuery+ajax实现动态添加表格tr td功能示例
2018/04/23 jQuery
通过jQuery学习js类型判断的技巧
2019/05/27 jQuery
js实现文章目录索引导航(table of content)
2020/05/10 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
Python 流程控制实例代码
2009/09/25 Python
对Python中9种生成新对象的方法总结
2018/05/23 Python
关于pycharm中pip版本10.0无法使用的解决办法
2019/10/10 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
打印tensorflow恢复模型中所有变量与操作节点方式
2020/05/26 Python
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
美国在线面料商店:Fashion Fabrics Club
2020/01/31 全球购物
Linux内核的同步机制是什么?主要有哪几种内核锁
2013/01/03 面试题
交通法规咨询中心工作职责
2013/11/27 职场文书
信息管理应届生求职信
2014/03/07 职场文书
弘扬雷锋精神演讲稿
2014/05/10 职场文书
学校节能宣传周活动总结
2014/07/09 职场文书
人事专员岗位说明书
2014/07/29 职场文书
Canvas绘制像素风图片的示例代码
2021/09/25 HTML / CSS