matlab 实现由均匀分布产生正太分布与锐利分布zhangzhicheng

xaxis=-10:0.1:10;
miu=0;
delta=1;
N=1000000;
u1=rand(1,N);
u2=rand(1,N);
y1=(-2*log(u1)).^0.5;   
y2=(-2*log(u1)).^0.5.*sin(2*pi*u2);
var1=miu+delta*y1;
var2=miu+delta*y2;
[sum1,loc1]=hist(var1,100);
[sum2,loc2]=hist(var2,100);

subplot(2,2,1);
bar(loc1,sum1*10/N);


subplot(2,2,2);
bar(loc2,sum2*10/N);
prob1=sum1/N;
prob1=[0,prob1,0];
prob2=sum2/N;
prob2=[0,prob2,0];


step1=loc1(2)-loc1(1);
loc1=[loc1(1)-step1/2,loc1,loc1(end)-step1/2];
prob1=cumsum(prob1);
subplot(2,2,3);
plot(loc1,prob1,'g*');
legend('CDF of Rayleigh distribution');

step2=loc2(2)-loc2(1);
loc2=[loc2(1)-step2/3,loc2,loc2(end)-step2/3];
prob2=cumsum(prob2);
subplot(2,2,4);
plot(loc2,prob2,'r*');
legend('CDF of normal distribution');


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值