已知密度函数f(x)=0.5sinx (0

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/24 18:49:28
已知密度函数f(x)=0.5sinx (0
xRݎ@}&&Vge7^~n4 -r,*Y\"Lg`}9MJʠ_H& d_|**"TVHJ-x)-MKo=tBÝ-֋Nw`Nh 3v$Uz~x+GQ@ g, .Vr9'EJrp@=eUa>1&=G%@9q^ᷖz-Z{kP|pgM;ҩ9&\CYd'Vbs! v2&wSBMo|5BBϗOxR`kJbǐ)a>؀/ :٪YeҌ$f2RF]")niMd|w~[6uP C8h1*MrWclЉSQyY'lؐ)

已知密度函数f(x)=0.5sinx (0
已知密度函数f(x)=0.5sinx (0

已知密度函数f(x)=0.5sinx (0

设要生成n=10000个随机数:

n = 10000;
y = int('sin(x)/2',0,sym('t'))
t = rand(n,1);
x = subs(finverse(y),t);
hist(x,30)

最后一句用于画分布图,对结果进行检验.

 

上面的方法把求反函数的过程放在程序里面了,也可以事先求出累计概率分布函数(cumulative distribution function,CDF)的反函数,即

    x = pi-acos(-1+2*y)

然后直接计算:

n = 10000;
y = rand(n,1);
x = pi-acos(-1+2*y);
hist(x,30)

如果要生成矩阵或多维数组,只需要修改rand的参数即可.