蒙特卡罗方法这里不再赘述
1,例题
Matlab代码:
%蒙特卡罗法求积分
N=1000; %随机选取1000个点
x=rand(1,N);
y=rand(1,N);
S=sum(y<=sin(x)/x)/N %比较每一个元素,y<=sin(x)/x则为1
运行结果:
S = 0.9150
2,例题
Matlab代码:
N=100000; %随机选取100000个点
x=rand(1,N);
y=rand(1,N);
S=sum(exp((x+y).^2))/length(x) %(1-0)*(1-0)*函数的平均值(也就是长乘宽乘高)
运行结果:
S = 4.9167
3,练习题