使用随机数生成器设置多个操作的边界限制

2024-04-27 23:08:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我相信我的问题非常简单,必须有一个非常简单的方法来解决这个问题,但是由于我对Python非常陌生,我无法自己解决它

我将发布一个虚构的例子,我使用的比我目前正在处理的复杂脚本要多,以防你想自己测试。请考虑以下内容:

 import numpy as np 

 nData = 100
 sigma_alpha = np.array([1,1])
 alpha = [-23,0]
 data_alpha1 = np.random.randn(nData)*sigma_alpha[0]+alpha[0]
 data_alpha2 = np.random.randn(nData)*sigma_alpha[1]+alpha[1]

我的问题是我必须将数据_alpha1和数据_alpha2限制为-25作为下限,25作为上限。这意味着,两个数组上的所有元素都必须位于上述值之间。因此,我正在寻找的解决方案还必须涉及一种情况,数据的所有元素\u alpha1,2<;25,如下所示,其中多个值将超过25:

 nData = 100
 sigma_alpha = np.array([1,1])
 alpha = [25,0]
 data_alpha1 = np.random.randn(nData)*sigma_alpha[0]+alpha[0]
 data_alpha2 = np.random.randn(nData)*sigma_alpha[1]+alpha[1]

变量alpha在一个循环中,因此它有一个动态值并不断更新

总而言之:我一直在试图找出一种方法来确保data_alpha1和data_alpha2只返回-25和25之间的值,如果任何值不符合所施加的条件,则应将其设置为超出的最接近的边界值。例如,如果alpha_data1的元素<-25,则应将其替换为-25

希望我能做到简明扼要。我非常感谢你在这件事上的帮助


Tags: 数据方法ltalpha元素datanprandom