随机生成服从beta分布的数据,并画出相应的直方图

随机生成服从beta分布的数据,并画出相应的直方图

问题描述:

随机生成服从beta分布的数据,并画出相应的直方图

你好同学,那个问题已经帮你解决了,你可以去看看啦,这个就也一并采纳了吧呜呜。

function main
R = betarnd(2,5,10000,1);%alpha2,beta为5的 beta分布,10000个随机数
histogram(R,50)%画直方图
end

function r = betarnd(a,b,varargin)
sizeOut = [varargin{:}];
g1 = randg(a,sizeOut); % could be Infs or NaNs
g2 = randg(b,sizeOut); % could be Infs or NaNs
r = g1 ./ (g1 + g2);
t = (g1==0 & g2==0);
if any(t(:))
    p = a ./ (a+b);
    if ~isscalar(p), p = p(t); end
    r(t) = binornd(1,p(:),sum(t(:)),1);
end
end

img