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+Opencv识别两张相似图片
Mar 23 Python
Python编程实现生成特定范围内不重复多个随机数的2种方法
Apr 14 Python
python批量查询、汉字去重处理CSV文件
May 31 Python
python远程连接服务器MySQL数据库
Jul 02 Python
使用python实现http及ftp服务进行数据传输的方法
Oct 26 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
Jul 12 Python
浅谈Python 递归算法指归
Aug 22 Python
django 框架实现的用户注册、登录、退出功能示例
Nov 28 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
Nov 29 Python
python正则表达式 匹配反斜杠的操作方法
Aug 07 Python
pycharm代码删除恢复的方法
Jun 26 Python
python和Appium的移动端多设备自动化测试框架
Apr 26 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/08/31 PHP
php实现smarty模板无限极分类的方法
2015/12/07 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
ExtJs之带图片的下拉列表框插件
2010/03/04 Javascript
jQuery基础框架浅入剖析
2012/12/27 Javascript
js判断url是否有效的两种方法
2014/03/04 Javascript
js实现字符串的16进制编码不加密
2014/04/25 Javascript
js和jquery中循环的退出和继续学习记录
2014/09/06 Javascript
js闭包的用途详解
2014/11/09 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
JavaScript验证Email(3种方法)
2015/09/21 Javascript
JavaScript触发onScroll事件的函数节流详解
2016/12/14 Javascript
js 实现省市区三级联动菜单效果
2017/02/20 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
jquery分页优化操作实例分析
2019/08/23 jQuery
ant-design-vue中的select选择器,对输入值的进行筛选操作
2020/10/24 Javascript
在Python的Django框架中创建语言文件
2015/07/27 Python
python如何使用unittest测试接口
2018/04/04 Python
深入理解Django自定义信号(signals)
2018/10/15 Python
Python中最大递归深度值的探讨
2019/03/05 Python
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
2020/03/19 Python
Python通过zookeeper实现分布式服务代码解析
2020/07/22 Python
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
亚马逊巴西站:Amazon.com.br
2019/09/22 全球购物
贝佳斯官方网站:Borghese
2020/05/08 全球购物
领导班子整改方案
2014/10/25 职场文书
保险公司反洗钱宣传活动总结
2015/05/08 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书
为什么不建议在go项目中使用init()
2021/04/12 Golang
MySQL Router的安装部署
2021/04/24 MySQL
基于Python实现将列表数据生成折线图
2022/03/23 Python
PC版《死亡搁浅导剪版》现已发售 展开全新的探险
2022/04/03 其他游戏