2
我试着搜索这些答案中的一个很多,并且找不到我在找什么。我相信这是相当基本的,我要么不知道如何对搜索我所寻找的词汇进行搜索,而是以错误的方式进行搜索。返回数组内的随机变量,取决于逻辑变量或scipy中的重采样变量
使用SciPy的,我想无论是:
通过随机分布定义一个变量,并把它每次被调用时返回一个新的值,例如:
x = np.random.normal(30,30/10)
x = #random number
x = #new random number
最终目标是得到这一点代码(以及更多的类似代码),以返回随机变量,以得到g1和g2的数字,这些数字由数组gamma中的每个位置的分布定义。我很乐意在g1rand和g2rand中查找随机值,如果这样做可行的话,但我还没有弄清楚如何用一个循环来填充gamma数组。最终的目标是运行代码的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
Gahhh。谢谢!我认为这样做。我知道必须有这样的事情,我找不到它。 – user2060108 2013-02-12 23:42:39
想到我编辑了我的评论。我最终要做的就是让上面的gamma数组返回变量,就好像每次g1都是作为新的g1rand.rvs()运行的结果一样。相同的g2 - > g2rand.rvs。 这是更好地通过循环完成? – user2060108 2013-02-13 00:31:12