赋值x~U(a,B)得到一个均匀分布数组:
x_U=uniform(a,b,1000)
字符串
有一个正态分布:
y~N(μ,σ)
型
我想得到数组y_N
,它与x_U元素对应。如何在python中实现?在matlab. Such as this link explainnation中看起来很容易。代码如下:
from numpy.random import *
import matplotlib.pyplot as plt
a = normal(25,5.4,1000)
hist_N = plt.hist(a,bins=20,normed=True)
a_cum = np.cumsum(a)
hist_U = plt.hist(a_cum,bins=20,normed=True)
型
a_cum
是与a
元素相关的统一对应
Monto-Carlo模拟中采用的是产生均匀随机数的方法,但由于原始参数为正态分布,因此需要进行转换,本文的目的就是逆上述编码过程。
1条答案
按热度按时间kqqjbcuj1#
如果我按照你的问题中的链接,它会告诉我该怎么做。我不确定 erfinv 是否这样做,但这段代码似乎将随机均匀数组转换为高斯形状数组:
字符串


Gauss在这里是一个用lambda语句创建的函数,它的工作原理基本上和用 def 定义函数一样。我使用的函数就是你的链接中的函数。
高斯形状看起来像
,均匀形状看起来像
。