我已经尝试过很多次搜索这些答案之一,但找不到我要找的东西。我确定这是相当基本的,我要么不知道如何用短语搜索我正在寻找的东西,要么以错误的方式进行。
使用 scipy 我想:
通过随机分布定义一个变量,并让它在每次调用时返回一个新值,例如:
x = np.random.normal(30,30/10)
x = #random number
x = #new random number
最终目标是让这段代码(以及更多类似的代码)返回由数组 gamma 中每个位置的分布定义的 g1 和 g2 数字的随机变量。如果可行,我很乐意在 g1rand 和 g2rand 中查找随机值,但我也无法弄清楚如何使用循环填充伽马数组。最终目标是运行代码的 MC 模拟。提前致谢。
disc = 11j #number of intervals
depth = 50
q = 300 #number of random sampls
n = depth
interval_thickness =abs(n/(abs(disc)-1))
depth_array = np.r_[0:n:(disc)]
ld1 = 10.0
ld2 = 70.0
g1 = 120
g1rand = np.random.normal(g1,g1/10,q)
g2 = 60
g2rand = np.random.normal(g2,g2/10,q)
condlist = [depth_array <= 0,depth_array<=ld1, depth_array<=ld2]
choicelist = [0, g1, g2]
gamma = np.select(condlist, choicelist)
interval_weight=interval_thickness*gamma