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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 谷歌为什么被中国赶出去_护士失误事件

    谷歌为什么被中国赶出去_护士失误事件

    腾讯科技讯(中涛)北京时间12月22日消息,美国知名IT杂志《eWeek》网络版今天刊文称,虽然谷歌多项产品在2010年期间取得了市场成功,但同样也出现了不少市场失误。不仅如此,由于谷歌知名度的提高,该公司还遭到了欧盟等监管部门的反垄断调查。《eWeek》为此评出了谷歌2010年十大产品失误和开局不利事件,其中包括谷歌街景收集用户上网隐私信息受指责、Buzz社交网络服务遭批评、没能成功收购美国团购网站Groupon等等。
    《eWeek》认为,在谷歌创建以来的12年当中,20

    2022年10月9日
    0
  • war如何解压[通俗易懂]

    war如何解压[通俗易懂]工具/原料 WinRAR eclipse tomcat9.0 用解压软件解压 如果只是想看war包中的内容,可以直接用解压软件解压war包就可以了。 如图我是用WinRAR解压的。右键war包选择打开方式,接着选择一个解压软件,最后将文件夹解压到电脑上就可以了,我是解压到桌面上。 解压后就可以看到桌面上多了一个文件夹。打开文件夹,就能看到war包里面的内容了。 END 用eclipse解压 如果是想编辑该w

    2022年10月4日
    0
  • idea 在线激活码4月_通用破解码「建议收藏」

    idea 在线激活码4月_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    58
  • 移动端页面适配方案(viewport)[通俗易懂]

    移动端页面适配方案(viewport)[通俗易懂]通过<metaname=”viewport”>给视口设置固定的宽度,浏览器对页面自动缩放来实现页面的适配效果优点是可以使用px布局,不用额外进行rem或者vw等等单位的换算了缺点是如果是无滚动条的页面在某些设备上(例如平板这种宽高3比4的,折叠屏8比7的)由于宽高比不同有些区域会被挤到视口之外从而导致一些体验上的问题,不过demo2也给出了解决方案;这里给两个demo,demo1是有滚动条页面的示例,demo2是无滚动条页面的示例;新建一个html文件将demo复制过去在浏览器.

    2022年6月28日
    28
  • 概率的定义与性质_概率有哪些性质

    概率的定义与性质_概率有哪些性质概率的统计学定义:概率的公理化公式:

    2022年8月31日
    0
  • c语言求n个数的中位数_用频率直方图求平均数

    c语言求n个数的中位数_用频率直方图求平均数《C语言程序设计》苏小红第八章习题8.8

    2022年9月17日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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