matlab得到标准正态分布的随机数
答案:1 悬赏:0 手机版
解决时间 2021-01-28 05:16
- 提问者网友:溺爱和你
- 2021-01-27 16:46
matlab得到标准正态分布的随机数
最佳答案
- 五星知识达人网友:一袍清酒付
- 2021-01-27 16:55
% 产生0~1均匀分布
m=1000;n=10;
u=rand(m,n);
% 产生a~b均匀分布
a=-1;b=1;
x=a+(b-a)*u;
% 正态分布函数的逆是求不出来的
% 只能通过瑞利分布产生
% 产生时需要两个0~1均匀分布,所以需新定义v
sigma=1;mu=0;
v=rand(size(u));
z=sqrt(2*sigma^2*log(1./(1-u))).*cos(2*pi*v);
% 利用上述标准正态分布产生普通的正态分布
sigma=3;mu=2;
z=randn(1000,10);
x=mu+z*sigma;
% 产生对数正态分布
x=exp(x);
你可以!!分别!!在每段后边加上(每一段的后边加一个,一一对应~):
ksdensity(u(:));
ksdensity(x(:));
ksdensity(z(:));
ksdensity(x(:));
ksdensity(x(:));
来看概率密度函数。 我不敢上传图片,因为那样百度就给我把整个回答屏蔽掉了~
m=1000;n=10;
u=rand(m,n);
% 产生a~b均匀分布
a=-1;b=1;
x=a+(b-a)*u;
% 正态分布函数的逆是求不出来的
% 只能通过瑞利分布产生
% 产生时需要两个0~1均匀分布,所以需新定义v
sigma=1;mu=0;
v=rand(size(u));
z=sqrt(2*sigma^2*log(1./(1-u))).*cos(2*pi*v);
% 利用上述标准正态分布产生普通的正态分布
sigma=3;mu=2;
z=randn(1000,10);
x=mu+z*sigma;
% 产生对数正态分布
x=exp(x);
你可以!!分别!!在每段后边加上(每一段的后边加一个,一一对应~):
ksdensity(u(:));
ksdensity(x(:));
ksdensity(z(:));
ksdensity(x(:));
ksdensity(x(:));
来看概率密度函数。 我不敢上传图片,因为那样百度就给我把整个回答屏蔽掉了~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯