python生成矩阵 元素随机_用python生成随机矩阵
在下面的代码中,我对一般的平方线性系统Ax=b实现了带有部分旋转的高斯消去。我测试了我的代码,它产生了正确的输出。不过,现在我正在尝试做以下事情,但我不太确定如何编码它,寻找一些帮助与此!
我想通过求解Ax=b来测试我的实现,其中A是随机的100x100矩阵,b是随机的100x10向量。
在我的代码中,我把矩阵
A = np.array([[3.,2.,-4.],[2.,3.,3.],[5.,-3.,1.]])
b = np.array([[3.],[15.],[14.]])
得到以下正确的输出:
[3. 1. 2.]
[3. 1. 2.]
但是现在我如何改变它来生成随机矩阵呢?
下面是我的代码:
import numpy as np
def GEPP(A, b, doPricing = True):
'''
Gaussian elimination with partial pivoting.
input: A is an n x n numpy matrix
b is an n x 1 numpy array
output: x is the solution of Ax=b
with the entries permuted in
accordance with the pivoting
done by the algorithm
post-condition: A and b have been modified.
'''
n = len(A)
if b.size != n:
raise ValueError("Invalid argument: incompatible sizes between"+
"A & b.", b.size, n)
# k represents the current pivot row. Since GE traverses the matrix in the
# upper right triangle, we also use k for indicating the k-th diagonal
# column index.
# Elimination
for k in range(n-1):
if doPricing:
# Pivot
maxindex = abs(A[k:,k]).argmax() + k
if A[maxindex, k] == 0:
raise ValueError("Matrix is singular.")
# Swap
if maxindex != k:
A[[k,maxindex]] = A[[maxindex, k]]
b[[k,maxindex]] = b[[maxindex, k]]
else:
if A[k, k] == 0:
raise ValueError("Pivot element is zero. Try setting doPricing to True.")
#Eliminate
for row in range(k+1, n):
multiplier = A[row,k]/A[k,k]
A[row, k:] = A[row, k:] - multiplier*A[k, k:]
b[row] = b[row] - multiplier*b[k]
# Back Substitution
x = np.zeros(n)
for k in range(n-1, -1, -1):
x[k] = (b[k] - np.dot(A[k,k+1:],x[k+1:]))/A[k,k]
return x
if __name__ == "__main__":
A = np.array([[3.,2.,-4.],[2.,3.,3.],[5.,-3.,1.]])
b = np.array([[3.],[15.],[14.]])
print (GEPP(np.copy(A), np.copy(b), doPricing = False))
print (GEPP(A,b))
python生成矩阵 元素随机_用python生成随机矩阵相关推荐
- python语法元素测试_基于python全局设置id 自动化测试元素定位过程解析
背景: 在自动化化测试过程中,不方便准确获取页面的元素,或者在重构过程中方法修改造成元素层级改变,因此通过设置id准备定位. 一.python准备工作: 功能:用自动化的方式进行批量处理. 比如,你想 ...
- python颜色填充随机_使用python中的随机数据填充mysql表
How can create a mysql table in python and then populate it with random data.I want around 10000 row ...
- python什么元素为真_在Python中“真”用true表示 。
[单选题]以下关于文件的ctime属性说法正确的是( ). [简答题]第五章 筹资业务.doc [填空题]java 语言的各种数据类型之间提供两种转换,分别是 和 . (2.0分) [单选题]设有类型 ...
- python画图颜色随机_用python画随机颜色随机大小随机位置的正方形
1 ''' 2 作者:唐梓文3 版本:1.04 日期:08/05/20205 功能:随机的在画布画多个正方形,并涂色6 7 ''' 8 9 importturtle10 importrandom11 ...
- python列表元素求和_对Python列表的前k个元素求和?
有两个选项,都使用sum():使用^{}可以有效地提取这些元素:from itertools import islice sum(islice(somelist, k)) 将列表切片,以便只包含以下第 ...
- 定义空列表元素类型_【Python+Excel】做数据分析5--列表和元组读取和常用查询
元组和列表是两个非常相似的亲兄弟,两者在表现形式上有所不同,其最大的区别是元组在定义后无法修改,只能读取,而列表则支持修改和读取.比如在一个队伍里面,队伍中的每一个人就是列表或者是元组中的每个元素. ...
- python与算法社区_【Python算法】分类与预测——Python随机森林
[Python算法]分类与预测--Python随机森林 1.随机森林定义 随机森林是一种多功能的机器学习算法,能够执行回归和分类的任务.同时,它也是一种数据降维手段,在处理缺失值.异常值以及其他数据探 ...
- python制作手机壁纸_用Python生成自己独一无二的手机壁纸
已经12月份了,马上就要过年了,要不要换一个喜气洋洋.洋洋洒洒.洒扫应对.对牛弹琴的手机壁纸呢? 今天小编给大家表演的节目是:用Python生成自己独一无二的手机壁纸. 首先我们需要选择一个现成的手机 ...
- python中什么是一个无序的不重复元素序列_无序Python集的“顺序”
您应该观看此视频(尽管它是CPython1特定的并且是关于字典的-但我认为它也适用于集合). 基本上,python对元素进行哈希处理并获取最后N位(其中N由集合的大小确定),然后使用这些位作为数组索引 ...
最新文章
- java内部类和静态内部类的区别
- 如何构建 FinTech 科学反欺诈体系|架构师实践日
- Shady 深度学习课程
- [CTSC2017]吉夫特(思维+巧妙)
- 前端学习(1452):表格案例--效果演示
- 排序算法之两路归并排序(Java)
- 带桭字的名字_男孩带官运大气的名字有气魄有能力-可爱点
- 卖身1.8亿的背背佳身后,隐藏了一个“忽悠大师”
- Activity工作流工作笔记001---快速上手_认识工作流
- 字符串与整数、浮点数、无符号整数之间的转换常用函数
- C# 递归实现tree view(树结构)
- 开源网络教学平台SAKAI开发环境的搭建
- 高德地图定位误差_高德地图定位api以及导航和定位 位置的偏差
- 樊登读书会-《关键对话》
- ES8新增的常用语法
- oracle静默创建实例linux,linux CentOS7下快速静默安装Oracle11GR2数据库并创建实例
- 基于肌肉骨骼模型的预测仿真
- php 获取 所有上级 id,z-blog获取分类以及上级分类的代码
- 香港股市api调用代码返回示例
- IOS APP 制作二维码 下载
热门文章
- 半导体器件(三) 场效应管 FET
- RK3288平台下调屏参基本步骤
- Android定制化自己的开锁界面
- 题解 P2285 【[HNOI2004]打鼹鼠】
- 芝加哥大学有计算机专业吗,芝加哥大学计算机专业
- 后端传来map数据,前端的获取方式
- Apple Watch教程|如何取消配对并抹掉 Apple Watch?
- windows10 杀掉一个端口
- C++ 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对
- c语言中char97,C语言数据类型char