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)


相关推荐

  • HTTP和HTTPS的区别【面试常考】[通俗易懂]

    HTTP和HTTPS的区别【面试常考】[通俗易懂]这个是根据查阅别人的博客,并结合自己的思想总结的,发出来是对自己的检验也希望可以帮到大家;如有错误欢迎指出HTTP和HTTPS是计算机网络中很重要的知识点,面试的时候很容易被问他们的区别,可能每个人都会有自己理解;HTTP是明文传输的,传输过程中容易被拦截、修改或者伪造请求;HTTPS则是在HTTP基础上进行进行了一些信息保护,相比HTTP来说更为安全。这是一个简单的回答,但是比较笼统,如果想要找到好的工作,中间的很多细节还是需要我们去仔细研究的。HTTPS和HTTPHTTP是什..

  • linux0.11_linux常用命令

    linux0.11_linux常用命令前言所有的UnixLike系统都会内建vi文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是vim编辑器。vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的

  • git 本地分支切换远程分支_git看不到远程分支

    git 本地分支切换远程分支_git看不到远程分支gitcheckout-bxxx{{本地建立的分支}}origin/xxxx{{远端的分支,一定要记得加origin}}———–遇到的坑是:先拉取的master分支代码,然后再在仓库建立的分支,所以需要先在本地进行“gitpull”代码以后,”gitbranch-r”才能看到新建立的分支!!…

  • android开机动画多长时间_Android开机动画原理分析

    android开机动画多长时间_Android开机动画原理分析Android系统开机动画,是由bootanimation进程将多桢的图片按次序循环播放,在屏幕上形成的动画效果。这里介绍一下bootanimation的原理。1.bootanimation启动bootanimation是一个本地进程,代码由c++编写,它由init进程启动/init.rcservicebootanim/system/bin/bootanimationclasscore…

  • 【微信开放平台】微信第三方扫码登录(亲测可用)「建议收藏」

    【微信开放平台】微信第三方扫码登录(亲测可用)「建议收藏」开放平台需要企业认证才能注册,正好这次公司提供了一个账号,调通以后,就顺便写一篇博客吧。公众平台与开放平台的区别微信开放平台主要面对移动应用/网站应用开发者,为其提供微信登录、分享、支付等相关权限和服务。微信公众平台微信公众平台用于管理、开放微信公众号(包括订阅号、服务号、企业号),简单的说就是微信公众号的后台运营、管理系统。这里想吐槽一下,微信基本注册全都要邮箱,公众号一…

  • authenticator验证码不显示_打电话报的验证码安全吗

    authenticator验证码不显示_打电话报的验证码安全吗【2021/07/14】记录在修改代码中IDE闪烁了一下,原本正常的验证码图片就不显示了。但是没有报错,日志也没有记录。折腾了半天都无效果,我塔咩直接???然后突然看见了ob_clean()这玩意,然后加在了验证码输出之前,然后!就正常了!publicfunctioncaptcha(){ob_clean();returnCaptcha::create();}但是!为什么要加这个就能

发表回复

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

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