python生成矩阵 元素随机_用python生成随机矩阵「建议收藏」

python生成矩阵 元素随机_用python生成随机矩阵「建议收藏」在下面的代码中,我对一般的平方线性系统Ax=b实现了带有部分旋转的高斯消去。我测试了我的代码,它产生了正确的输出。不过,现在我正在尝试做以下事情,但我不太确定如何编码它,寻找一些帮助与此!我想通过求解Ax=b来测试我的实现,其中A是随机的100×100矩阵,b是随机的100×10向量。在我的代码中,我把矩阵A=np.array([[3.,2.,-4.],[2.,3.,3.],[5.,-3.,1…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

在下面的代码中,我对一般的平方线性系统Ax=b实现了带有部分旋转的高斯消去。我测试了我的代码,它产生了正确的输出。不过,现在我正在尝试做以下事情,但我不太确定如何编码它,寻找一些帮助与此!

我想通过求解Ax=b来测试我的实现,其中A是随机的100×100矩阵,b是随机的100×10向量。

在我的代码中,我把矩阵

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))

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/215876.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • tortoisesvn是干嘛的_冲洗器使用方法图解

    tortoisesvn是干嘛的_冲洗器使用方法图解TotoiseSVN的基本使用方法来源 https://blog.csdn.net/hecongzhen/article/details/37879801在 项目管理实践教程一

  • vsphere vsan配置_快船队最新消息

    vsphere vsan配置_快船队最新消息一直想抽空写写vSAN这个产品,在15年的时候笔者第一次听说vSAN这个产品,当时VMware还以VDI最佳拍档的方式去推广vSAN,短短两年的时间,vSAN经过多个版本的更新迭代,无论从功能还是稳定性上均有很大提升,最广泛的应用也由VDI变为了承载核心业务。这篇文章总结一下笔者对vSAN的一些学习和使用经验,简单介绍下vSAN,希望可以用最少的文字介绍清楚…

  • docker下载安装教程_docker安装macos

    docker下载安装教程_docker安装macos前言Docker提供轻量的虚拟化,你能够从Docker获得一个额外抽象层,你能够在单台机器上运行多个Docker微容器,而每个微容器里都有一个微服务或独立应用,例如你可以将Tomcat运行在一个D

  • UML工具:EA(Enterprise Architect)

    UML工具:EA(Enterprise Architect)EA跟RationalRose一样都仅仅是一个UML建模软件,随着对EA的熟悉发现EA的功能太强大了。EA跟RationalRose大不一样,RationalRose只是实现对软件的建模即构建系统的UML模型,而EA却不仅仅是实现这些功能。对于一个软件设计者来说,从需求分析到概要设计、详细设计、数据库设计到测试、发布、部署等一系列软件设计必须的操作都可以在EA中完成。可以说只需要一个EA就可…

  • 蓝桥杯单片机必备知识—–(5)独立按键

    蓝桥杯单片机必备知识—–(5)独立按键

  • 2批处理for循环中截取字符串_批处理for循环嵌套

    2批处理for循环中截取字符串_批处理for循环嵌套一、参数/dfor/d%%变量in(集)do命令/d参数是指定仅对目录而不是文件执行的for命令。例1:在命令行输入(不是在批处理,之后不再解释)for/d%ain(c:\*.*)doecho%a运行会把C盘根目录下的全部目录分次显示出来,而不显示文件名看起来有点乱,如果把命令提示回显关闭就清晰了:for/d%ain(c:\*….

    2022年10月12日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号