MC方法实现非常简单,通过下面的代码就可以 staus=10; for i=1:4 %4次模拟 point=staus.^i; %模拟的随机点数 RandData=rand(2,point); %根据随机点数,产生随机的(x,y)散点,不明白可以试试 %scatter(RandData(1,:),RandData(2,:)) Below=find(RandData(1,:).^2>RandData(2,:));%寻找位于曲线下的散点 Outcome(i)=length(Below)/length(RandData);%最终结果的表示 end Outcome =
0.3000 0.3600 0.3180 0.3311 从Outcome看,通过不断增加随即点数,结果越与真实值相符 当散点数为10^4时,所得图见下 BelowData=RandData(:,Below); hold on scatter(BelowData(1,:),BelowData(2,:))