matlab中使用随机投点法计算定积分exp(x^2),上限1、下限0,以投点个数n为输入参数。

如题所述

>> n=500000;N=0;
for(i=1:n)
x=rand;y=rand*(exp(1)-1)+1;
if(exp(x^2)>=y)
N=N+1;
end
end
s=(N/n)*(exp(1)-1)+1

s =
1.4627
温馨提示:答案为网友推荐,仅供参考
相似回答