pi蒙特卡洛模擬的Matlab實(shí)現(xiàn)

function piva=PiMonterCarlo(n)
x=0;y=0;d=0;
m=length(n);
pivalue=zeros(m,1);
for i=1:m
    x=2*rand(n(i),1)-1;
    y=2*rand(n(i),1)-1;
    d=x.^2+y.^2;
    pivalue(i)=4*sum(d<=1)/n(i);
end
if nargout==0
    if m>1
        figure;
        plot(n,pivalue,'k.');
        h=refline(0,pi);
        set(h,'linewidth',2,'color','r');
        text(1.05*n(end),pi,'\pi','FontSize',15);
        xlabel('投點(diǎn)個(gè)數(shù)');
        ylabel('\pi的模擬值');
    else
        figure;
        plot(x,y,'r.');
        hold on;
        h=rectangle('Position',[-1 -1 2 2],'LineWidth',2);
        t=linspace(0,2*pi,100);
        plot(cos(t),sin(t),'k','LineWidth',2);
        xlabel('X');ylabel('Y');
%         title('Pi的模擬值:'num2str(pivalue));
        axis([-1.1 1.1 -1.1 1.1]);axis equal;
    end
else
    piva=pivalue;
end
pi.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容