日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

[matlab]Monte Carlo模拟学习笔记

發布時間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [matlab]Monte Carlo模拟学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

理論基礎:大數定理,當頻數足夠多時,頻率可以逼近概率,從而依靠概率與$\pi$的關系,求出$\pi$

? ? ? ??  所以,rand在Monte Carlo中是必不可少的,必須保證測試數據的隨機性。

?

用蒙特卡洛方法進行計算機模擬的步驟:
[1] 設計一個邏輯框圖,即模擬模型.
[2] 根據流程圖編寫程序,模擬隨機現象.可通過具有各種概率分布的模擬隨機數來模擬隨機現象.
[3] 分析模擬結果,計算所需要結果.

?

ex1.投針試驗求$\pi$

    %蒲豐投針實驗的計算機模擬
format long; %設置15位顯示精度
a=1; l=0.6;    %兩平行線間的寬度和針長
figure; axis([0,pi,0,a/2]); %初始化繪圖板
set(gca,'nextplot','add'); %初始化繪圖方式為疊加
counter=0; n=1120;     %初始化計數器和設定投針次數
x=unifrnd(0,a/2,1,n); phi=unifrnd(0,pi,1,n); %樣本空間Ω
frame=moviein(n);     %建立一個1120列的大矩陣
for i=1:nif x(i)<l*sin(phi(i))/2   %滿足此條件表示針與線的相交plot(phi(i),x(i),'b.');counter=counter+1; %統計針與線相交的次數frame(:,counter)=getframe; %描點并取幀end
end
fren=counter/n; pihat=2*l/(a*fren); %用頻率近似計算π
disp(counter);
disp(pihat);

  

ex2.依然求$\pi$

n=10000000; a=2; m=0; 
for i=1:nx=rand*a; y=rand*a;if ( (x-a/2)^2+(y-a/2)^2 <= (a/2)^2 )m=m+1;end
end
disp(['投點法近似計算的π為: ',num2str(4*m/n)]);

ex3.

在我方某前沿防守地域,敵人以一個炮排(含兩門火炮)為單位對我方進行干擾和破壞.為躲避我方打擊,敵方對其陣地進行了偽裝并經常變換射擊地點.經過長期觀察發現,我方指揮所對敵方目標的指示有50%是準確的,而我方火力單位,在指示正確時,有1/3的射擊效果能毀傷敵人一門火炮,有1/6的射擊效果能全部毀傷敵人火炮.現在希望能用某種方式把我方將要對敵人實施的20次打擊結果顯現出來,確定有效射擊的比率及毀傷敵方火炮的平均值。

p=0.5;m=2000;
efreq=zeros(1,m);efreq2=zeros(1,m);
randnum1 = binornd(1,p,1,m);
randnum2 = unidrnd(6,1,m);k1=0;k2=0;k3=0;
for i=1:mif randnum1(i)==0k1=k1+1;elseif randnum2(i)<=3k1=k1+1;elseif  randnum2(i)==6k3=k3+1;elsek2=k2+1;endendefreq(i)=(k2+k3)/i;efreq2(i)=(k2+2*k3)/i;
end    
num=1:m;plot(num,efreq,num,efreq2)

  

?

轉載于:https://www.cnblogs.com/elpsycongroo/p/7215619.html

總結

以上是生活随笔為你收集整理的[matlab]Monte Carlo模拟学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。