求matlab代码,有关simulation。急!! 30
Useconditioningmethodforvariancereductiontoestimateθ=P(U+Z>4)whereU~Exp(1)andZ~Exp(1/...
Use conditioning methodfor variance reduction toestimate θ=P(U+Z>4) where U~Exp(1) and Z~Exp(1/2). Describe the procedure in detail.
目前有答题思路
Step1: Generate u(i)=-log(rand(1)),i=1,...,n
Step2: evaluate each exp(-1/2*(4-u(i))), take theaverage of all the values to estimate θ
求大神解答!!! 展开
目前有答题思路
Step1: Generate u(i)=-log(rand(1)),i=1,...,n
Step2: evaluate each exp(-1/2*(4-u(i))), take theaverage of all the values to estimate θ
求大神解答!!! 展开
1个回答
2016-05-08
展开全部
按照题主给的步骤,大致可以这样写代码:
>> n=10000;
>> u=-log(rand(n,1));
>> Q=exp(-1/2*(4-u));
>> mean(Q)
ans =
0.2678
这里用的是向量化代码,需要的话,也很容易改成题主所给的循环方式。
如果直接生成随机数,则代码大致如下:
>> n=10000;
>> u=-log(rand(n,1));
>> z=-1/2*log(rand(n,1));
>> sum(u+z>4)/n
ans =
0.0369
如果使用统计工具箱(Statistics Toolbox)的函数,可以更简单一些:
>> n=10000;
>> u=exprnd(1,n,1);
>> z=exprnd(1/2,n,1);
>> sum(u+z>4)/n
ans =
0.0368
这和题主所给算法结果差别较大,怀疑是算法有误(后面的方法是直接生成随机数来计算概率的,很直观,错误的可能性很小)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询