蒙特卡洛模拟方法作业及答案(附程序)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档