我想在模型中为每个单独的时间步长添加高斯随机噪声,而不是生成噪声数组,然后将其添加到我的信号中。通过这种方式,我想检查一下我系统的标准动态效果。
所以,我想生成每个时间步长的随机噪声(即单个值)并将其生成给我的信号(例如,添加噪声然后计算下一个状态,添加噪声计算下一个状态,等等)。我想通过NumPy在我的模型的动态部分中使用以下一组时间步骤来执行此操作:
self.x = self.x + self.a * ((d-f)/100)
self.x = self.x + np.random.normal(0, 0.5, None)`
第二行是从正态分布中抽取随机样本并将其添加到我的变量中。
0
是我选择的正态分布的平均值,0.5
是正态分布的标准差,第三个参数是大小。
我想知道numpy.random.normal
是否是正确的方法,如果是这样,我应该使用哪个参数作为size参数?
答案 0 :(得分:4)
要生成单个数字,请使用np.random.normal
:
In [47]: np.random.normal(0, 0.5)
Out[47]: 0.6138972867165546
您可能需要缩放此数字(乘以较小的数字epsilon
),因此与self.x
相比,噪音较小。