已知某概率密度函数,如何产生一服从该分布的随机数

12-23 生活常识 投稿:管理员
已知某概率密度函数,如何产生一服从该分布的随机数
已知某概率密度函数,如何产生一服从该分布的随机数|MATLAB 混合编程与应用发布|MATLAB技术论坛
我自己想了个办法,给你一个具体的例子吧
要求生成满足概率分布为f(x)=sin(x)^2/(x)^2*1/pi的随机数列
while i n    % n为你要生成的随机数个数 %
     x1=2*(rand(1)-0.5)*8; % 这个地方根据自己函数需要设定,但生成的 x1 必须在定义域内均匀分布 %
     yy=sin(x1)^2/(x1)^2*1/pi; % 这是一个具体的概率密度函数的例子,你可以代入自己的概率密度函数 %
     if subs(yy) rand(1);   % 这里是这个办法的关键 %
        x(i,1)=x1;
        i=i+1;
     else
        i=i;
     end
end
得到的 x 即是一个满足给定的概率密度分布的一维数列
标签: # 概率 # 密度
声明:伯乐人生活网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系ttnweb@126.com