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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 解决windowlocationhref不跳转的 BUG「建议收藏」

    解决windowlocationhref不跳转的 BUG「建议收藏」今晚写了代码发现了一个小BUG,记录下。<form>———<p><!–下面按钮–><divclass="footerContainer"><buttonid="nextStep"onclick="skip()&q

    2022年7月15日
    15
  • 数组与对象的相互转换[通俗易懂]

    数组与对象的相互转换[通俗易懂]数组与对象的相互转换数组转对象需求letarr=[{label:’男’,value:0},{label:’女’,value:1}]//转换为letobj={0:’男’,1:’女’}代码实现letarr=[{label:’男’,value:0},{label:’女’,value:1}]//方案一//思路//1、使用数组的forEach方法遍历数组//2、定义一个空对象//3、将遍历得到的每一个对象中的value值当做新对象的

    2025年10月18日
    4
  • Android Studio Unable to find EOCD signature解决方法

    Android Studio Unable to find EOCD signature解决方法今天早上来公司突然发现项目打包不了研究了一下应该是gradle版本冲突了解决方法就是Build

    2022年4月29日
    50
  • spring升级到4.x后,orm包里面移除了对ibatis的支持,解决方案

    spring升级到4.x后,orm包里面移除了对ibatis的支持,解决方案

    2022年2月24日
    45
  • android之switch控件的用法

    在做一个蓝牙开关时候,用到了switch,记一下用法,其实跟Button是几乎一样的.布局中:<Switch android:id=”@+id/open” android:layout_width=”wrap_content” android:layout_height=”wrap_content” android…

    2022年3月10日
    44
  • 产品是什么:PMF模型

    产品是什么:PMF模型一,产品是什么1.能够供给市场2.被人们使用和消费3.满足人们的某种需求需求是产品的基石二,PMF模型PMF(productmarketfit)产品和市场达到最佳的契合点,所提供的产品正好满足用户的需求,令客户满意。1.TargetCustomer目标用户:明确目标用户2.UnderservedNeeds目标用户未被满足的需求:需求分为已有需求,潜在需求,未来需求。分析用户属于哪种需求3.ValueProposition产品的价值定位:明确产品的价值定位,确定产品未用户

    2022年5月10日
    103

发表回复

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

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