gpt4 book ai didi

python - 随机矩阵,各列值的总和不大于 1

转载 作者:行者123 更新时间:2023-12-01 01:56:38 24 4
gpt4 key购买 nike

我被 numpy 中的矩阵困住了。我需要创建矩阵,其中各列的总和不大于 1。

np.random.rand(3,3).round(2)

给出

array([[ 0.48,  0.73,  0.81],
[ 0.4 , 0.01, 0.32],
[ 0.44, 0.4 , 0.92]])

有没有一种聪明的方法来生成带有随机数的矩阵,其中每列的总和不大于一?谢谢!

最佳答案

你可以这样做:

x = np.random.rand(3,3)
x /= np.sum(x, axis=0)

这背后的基本原理是您将每一列除以所有值的总和。这确保所有列都会加到 1。

或者,你可以这样做:

x = np.random.rand(3,3)/3

因为每个数字都在[0,1]之间。如果将域压缩为 [0,1/3],则总和保证为 <1。

当您想要对数字进行限制但仍然希望它们是随机的时,通常不清楚您的意思。

关于python - 随机矩阵,各列值的总和不大于 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50107205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com