蒙特卡洛模拟方法作业及答案(附程序)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
蒙特卡洛习题
1.利用蒙特卡洛计算数值积分
()
()()
1280ln 1tan x x x xe dx +++⎰ clear all ;clc;close all ;
n=1000;
count=0;
x=0:0.01:1;
y=log((1+x).^2+(tan(x).^8)+x.*exp(x));
plot(x,y,'linewidth',2)
hold on
for i=1:n
x1=rand;
y1=rand*y(end);
plot(x1,y1,'g*')
pause(0.01)
if y1 end end S=count/n*1*y(end) 2.分别用理论计算和计算机模拟计算,求连续掷两颗骰子,点数之和大于6且第一次掷出的点数大于第二次掷出点数的概率。 clear all;clc;close all; count=0; n=100000; for i=1:n x=floor(rand*6+1); y=ceil(rand*6); if x+y>6&&x>y count=count+1; end end P=count/n 3. clear all;clc;close all; count=0; n=2000; ezplot('x^2/9+y^2/36=1'); hold on ezplot('x^2/36+y^2=1'); hold on ezplot('(x-2)^2+(y+1)^2=9') for i=1:n x=rand*12-6; y=rand*12-6; plot(x,y,'gh','linewidth',2) pause(0.01) if x^2/9+y^2/36<1&&x^2/36+y^2<1&&(x-2)^2+(y+1)^2<9 count=count+1; end end S=count/n*36