matlab得到标准正态分布的随机数
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/08/19 01:37:42
matlab得到标准正态分布的随机数
要求按图示流程来,z应该怎么求?
![matlab得到标准正态分布的随机数](/uploads/image/z/7946177-41-7.jpg?t=matlab%E5%BE%97%E5%88%B0%E6%A0%87%E5%87%86%E6%AD%A3%E6%80%81%E5%88%86%E5%B8%83%E7%9A%84%E9%9A%8F%E6%9C%BA%E6%95%B0)
% 产生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(:));
来看概率密度函数.我不敢上传图片,因为那样百度就给我把整个回答屏蔽掉了~