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

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/18 17:07:44
已知密度函数f(x)=0.5sinx(0已知密度函数f(x)=0.5sinx(0已知密度函数f(x)=0.5sinx(0设要生成n=10000个随机数:n = 10000;y&nb

已知密度函数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的参数即可.