實驗系統(tǒng)模擬法建模及實現一_第1頁
實驗系統(tǒng)模擬法建模及實現一_第2頁
實驗系統(tǒng)模擬法建模及實現一_第3頁
實驗系統(tǒng)模擬法建模及實現一_第4頁
實驗系統(tǒng)模擬法建模及實現一_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

實驗系統(tǒng)模擬法建模及實現一第一頁,共三十六頁,2022年,8月28日實驗目的實驗內容學習計算機模擬的基本過程與方法。1、模擬的概念。4、實驗作業(yè)。3、計算機模擬實例。2、產生隨機數的計算機命令。第二頁,共三十六頁,2022年,8月28日連續(xù)系統(tǒng)模擬實例:追逐問題離散系統(tǒng)模擬實例:排隊問題用蒙特卡洛法解非線性規(guī)劃問題返回計算機模擬實例第三頁,共三十六頁,2022年,8月28日模擬的概念

模擬就是利用物理的、數學的模型來類比、模仿現實系統(tǒng)及其演變過程,以尋求過程規(guī)律的一種方法。

模擬的基本思想是建立一個試驗模型,這個模型包含所研究系統(tǒng)的主要特點.通過對這個實驗模型的運行,獲得所要研究系統(tǒng)的必要信息第四頁,共三十六頁,2022年,8月28日模擬的方法1、物理模擬:對實際系統(tǒng)及其過程用功能相似的實物系統(tǒng)去模仿。例如,軍事演習、船艇實驗、沙盤作業(yè)等?物理模擬通?;ㄙM較大、周期較長,且在物理模型上改變系統(tǒng)結構和系數都較困難。而且,許多系統(tǒng)無法進行物理模擬,如社會經濟系統(tǒng)、生態(tài)系統(tǒng)等。第五頁,共三十六頁,2022年,8月28日在實際問題中,面對一些帶隨機因素的復雜系統(tǒng),用分析方法建模常常需要作許多簡化假設,與面臨的實際問題可能相差甚遠,以致解答根本無法應用。這時,計算機模擬幾乎成為唯一的選擇。在一定的假設條件下,運用數學運算模擬系統(tǒng)的運行,稱為數學模擬?,F代的數學模擬都是在計算機上進行的,稱為計算機模擬。2、數學模擬計算機模擬可以反復進行,改變系統(tǒng)的結構和系數都比較容易。

蒙特卡洛(MonteCarlo)方法是一種應用隨機數來進行計算機模擬的方法.此方法對研究的系統(tǒng)進行隨機觀察抽樣,通過對樣本值的觀察統(tǒng)計,求得所研究系統(tǒng)的某些參數.第六頁,共三十六頁,2022年,8月28日例1

在我方某前沿防守地域,敵人以一個炮排(含兩門火炮)為單位對我方進行干擾和破壞.為躲避我方打擊,敵方對其陣地進行了偽裝并經常變換射擊地點.

經過長期觀察發(fā)現,我方指揮所對敵方目標的指示有50%是準確的,而我方火力單位,在指示正確時,有1/3的射擊效果能毀傷敵人一門火炮,有1/6的射擊效果能全部消滅敵人.

現在希望能用某種方式把我方將要對敵人實施的20次打擊結果顯現出來,確定有效射擊的比率及毀傷敵方火炮的平均值。分析:這是一個概率問題,可以通過理論計算得到相應的概率和期望值.但這樣只能給出作戰(zhàn)行動的最終靜態(tài)結果,而顯示不出作戰(zhàn)行動的動態(tài)過程.為了能顯示我方20次射擊的過程,現采用模擬的方式。第七頁,共三十六頁,2022年,8月28日需要模擬出以下兩件事:

1.問題分析[2]當指示正確時,我方火力單位的射擊結果情況[1]觀察所對目標的指示正確與否模擬試驗有兩種結果,每一種結果出現的概率都是1/2.因此,可用投擲一枚硬幣的方式予以確定,當硬幣出現正面時為指示正確,反之為不正確.模擬試驗有三種結果:毀傷一門火炮的可能性為1/3(即2/6),毀傷兩門的可能性為1/6,沒能毀傷敵火炮的可能性為1/2(即3/6).這時可用投擲骰子的方法來確定:如果出現的是1、2、3三個點:則認為沒能擊中敵人;如果出現的是4、5點:則認為毀傷敵人一門火炮;若出現的是6點:則認為毀傷敵人兩門火炮.第八頁,共三十六頁,2022年,8月28日2.符號假設i:要模擬的打擊次數;k1:沒擊中敵人火炮的射擊總數;k2:擊中敵人一門火炮的射擊總數;k3:擊中敵人兩門火炮的射擊總數.E:有效射擊比率;E1:20次射擊平均每次毀傷敵人的火炮數.3.模擬框圖初始化:i=0,k1=0,k2=0,k3=0i=i+1骰子點數?k1=k1+1k2=k2+1k3=k3+1k1=k1+1i<20?E=(k2+k3)/20E1=0*k1/20+1*k2/20+2*k3/20停止硬幣正面?YNNY1,2,34,56第九頁,共三十六頁,2022年,8月28日第十頁,共三十六頁,2022年,8月28日5.理論計算第十一頁,共三十六頁,2022年,8月28日6.結果比較返回

雖然模擬結果與理論計算不完全一致,但它卻能更加真實地表達實際戰(zhàn)斗動態(tài)過程.用蒙特卡洛方法進行計算機模擬的步驟:[1]設計一個邏輯框圖,即模擬模型.這個框圖要正確反映系統(tǒng)各部分運行時的邏輯關系。[2]模擬隨機現象.可通過具有各種概率分布的模擬隨機數來模擬隨機現象.第十二頁,共三十六頁,2022年,8月28日產生模擬隨機數的計算機命令在Matlab軟件中,可以直接產生滿足各種分布的隨機數,命令如下:2.產生m×n階[0,1]均勻分布的隨機數矩陣:rand(m,n)

產生一個[0,1]均勻分布的隨機數:rand1.產生m×n階[a,b]均勻分布U(a,b)的隨機數矩陣:

unifrnd(a,b,m,n)

產生一個[a,b]均勻分布的隨機數:unifrnd(a,b)當只知道一個隨機變量取值在(a,b)內,但不知道(也沒理由假設)它在何處取值的概率大,在何處取值的概率小,就只好用U(a,b)來模擬它。例1的計算機模擬第十三頁,共三十六頁,2022年,8月28日

ToMatlab(rnd)當研究對象視為大量相互獨立的隨機變量之和,且其中每一種變量對總和的影響都很小時,可以認為該對象服從正態(tài)分布。機械加工得到的零件尺寸的偏差、射擊命中點與目標的偏差、各種測量誤差、人的身高、體重等,都可近似看成服從正態(tài)分布。第十四頁,共三十六頁,2022年,8月28日若連續(xù)型隨機變量X的概率密度函數為其中>0為常數,則稱X服從參數為的指數分布。指數分布的期望值為

排隊服務系統(tǒng)中顧客到達率為常數時的到達間隔、故障率為常數時零件的壽命都服從指數分布。指數分布在排隊論、可靠性分析中有廣泛應用。注意:Matlab中,產生參數為的指數分布的命令為exprnd()例顧客到達某商店的間隔時間服從參數為0.1的指數分布指數分布的均值為1/0.1=10。指兩個顧客到達商店的平均間隔時間是10個單位時間.即平均10個單位時間到達1個顧客.顧客到達的間隔時間可用exprnd(10)模擬。第十五頁,共三十六頁,2022年,8月28日設離散型隨機變量X的所有可能取值為0,1,2,…,且取各個值的概率為其中>0為常數,則稱X服從參數為的帕松分布。帕松分布在排隊系統(tǒng)、產品檢驗、天文、物理等領域有廣泛應用。帕松分布的期望值為第十六頁,共三十六頁,2022年,8月28日如相繼兩個事件出現的間隔時間服從參數為的指數分布,則在單位時間間隔內事件出現的次數服從參數為的泊松分布.即單位時間內該事件出現k次的概率為:反之亦然。指數分布與帕松分布的關系:

(1)指兩個顧客到達商店的平均間隔時間是10個單位時間.即平均10個單位時間到達1個顧客.(2)指一個單位時間內平均到達0.1個顧客例(1)顧客到達某商店的間隔時間服從參數為0.1的指數分布

(2)該商店在單位時間內到達的顧客數服從參數為0.1的帕松分布第十七頁,共三十六頁,2022年,8月28日返回例2敵坦克分隊對我方陣地實施突襲,其到達規(guī)律服從泊松分布,平均每分鐘到達4輛.(1)模擬敵坦克在3分鐘內到達目標區(qū)的數量,以及在第1、2、3分鐘內各到達幾輛坦克.(2)模擬在3分鐘內每輛敵坦克的到達時刻。(1)用poissrnd(4)進行模擬。

ToMatlab(poiss)(2)坦克到達的間隔時間應服從參數為4的負指數分布,用exprnd(1/4)模擬。

ToMatlab(time)第十八頁,共三十六頁,2022年,8月28日連續(xù)系統(tǒng)模擬實例:追逐問題狀態(tài)隨時間連續(xù)變化的系統(tǒng)稱為連續(xù)系統(tǒng)。對連續(xù)系統(tǒng)的計算機模擬只能是近似的,只要這種近似達到一定的精度,也就可以滿足要求。例追逐問題:

如圖,正方形ABCD的四個頂點各有一人.在某一時刻,四人同時出發(fā)以勻速v=1米/秒按順時針方向追逐下一人,如果他們始終保持對準目標,則最終按螺旋狀曲線于中心點O.試求出這種情況下每個人的行進軌跡.OBCDA第十九頁,共三十六頁,2022年,8月28日1.建立平面直角坐標系:A(x1,y1),B(x2,y2),C(x3,y3),D(x4,y4).2.取時間間隔為Δt,計算每一點在各個時刻的坐標.4.對每一個點,連接它在各時刻的位置,即得所求運動軌跡.求解過程:

ToMatlab(chase)返回第二十頁,共三十六頁,2022年,8月28日v=1;dt=0.05;x=[001010];y=[010100];fori=1:4plot(x(i),y(i),'.'),holdonendd=20;while(d>0.1)x(5)=x(1);y(5)=y(1);

fori=1:4d=sqrt((x(i+1)-x(i))^2+(y(i+1)-y(i))^2);x(i)=x(i)+v*dt*(x(i+1)-x(i))/d;y(i)=y(i)+v*dt*(y(i+1)-y(i))/d;plot(x(i),y(i),'.'),holdon

endend計算程序:

ToMatlab(chase)返回第二十一頁,共三十六頁,2022年,8月28日離散系統(tǒng)模擬實例:排隊問題

排隊論主要研究隨機服務系統(tǒng)的工作過程。在排隊系統(tǒng)中,服務對象的到達時間和服務時間都是隨機的。排隊論通過對每個個別的隨機服務現象的統(tǒng)計研究,找出反映這些隨機現象平均特性的規(guī)律,從而為設計新的服務系統(tǒng)和改進現有服務系統(tǒng)的工作提供依據。對于排隊服務系統(tǒng),顧客常常注意排隊的人是否太多,等候的時間是否長,而服務員則關心他空閑的時間是否太短.于是人們常用排隊的長度、等待的時間及服務利用率等指標來衡量系統(tǒng)的性能.第二十二頁,共三十六頁,2022年,8月28日[1]系統(tǒng)的假設:(1)顧客源是無窮的;(2)排隊的長度沒有限制;(3)到達系統(tǒng)的顧客按先后順序依次進入服務,即“先到先服務”。單服務員的排隊模型:在某商店有一個售貨員,顧客陸續(xù)來到,售貨員逐個地接待顧客.當到來的顧客較多時,一部分顧客便須排隊等待,被接待后的顧客便離開商店.設:

1.顧客到來間隔時間服從參數為0.1的指數分布.2.對顧客的服務時間服從[4,15]上的均勻分布.3.排隊按先到先服務規(guī)則,隊長無限制.

假定一個工作日為8小時,時間以分鐘為單位。[1]模擬一個工作日內完成服務的個數及顧客平均等待時間t.[2]模擬100個工作日,求出平均每日完成服務的個數及每日顧客的平均等待時間。第二十三頁,共三十六頁,2022年,8月28日

[2]符號說明

w:總等待時間;ci:第i個顧客的到達時刻;

bi:第i個顧客開始服務時刻;ei:第i個顧客服務結束時刻.

xi:第i-1個顧客與第i個顧客之間到達的間隔時間

yi:對第i個顧客的服務時間c1b1c3c4c5c2e1b2e2b3e3b4e4b5ci=ci-1+xiei=bi+yibi=max(ci,ei-1)t第二十四頁,共三十六頁,2022年,8月28日[3]模擬框圖初始化:令i=1,ei-1=0,w=0產生間隔時間隨機數xi~參數為0.1的指數分布ci=xi,bi=xi

產生服務時間隨機數yi~[4,15]的均勻分布ei=bi+yi累計等待時間:w=w+bi-ci準備下一次服務:i=i+1產生間隔時間隨機數xi~參數為0.1的指數分布ci=ci-1+xi

確定開始服務時間:bi=max(ci,ei-1)bi>480?YNi=i-1,t=w/i輸出結果:完成服務個數:m=i

平均等待時間:t停止[1]模擬一日ToMatlab(simu1)[2]模擬100日ToMatlab(simu2)返回第二十五頁,共三十六頁,2022年,8月28日用蒙特卡洛法解非線性規(guī)劃問題第二十六頁,共三十六頁,2022年,8月28日基本假設試驗點的第j個分量xj服從[aj,bj]內的均勻分布.符號假設求解過程先產生一個隨機數作為初始試驗點,以后則將上一個試驗點的第j個分量隨機產生,其它分量不變而產生一新的試驗點.這樣,每產生一個新試驗點只需一個新的隨機數分量.當K>MAXK或P>MAXP時停止迭代.第二十七頁,共三十六頁,2022年,8月28日框圖初始化:給定MAXK,MAXP;k=0,p=0,Q:大整數xj=aj+R(bj-aj)j=1,2,…,nj=0j=j+1,p=p+1P>MAXP?YNxj=aj+R(bj-aj)gi(X)≥0?i=1,2…nYNj<n?f(X)≥Q?YNX*=X,Q=f(X)k=k+1k>MAXK?YN輸出X,Q,停止YN第二十八頁,共三十六頁,2022年,8月28日

在Matlab軟件包中編程,共需三個M-文件:randlp.m,mylp.m,

lpconst.m.主程序為randlp.m.%mylp.mfunctionz=mylp(x)

%目標函數z=2*x(1)^2+x(2)^2-x(1)*x(2)-8*x(1)-3*x(2);

%轉化為求最小值問題第二十九頁,共三十六頁,2022年,8月28日%randlp.m

function[sol,r1,r2]=randlp(a,b,n)

%隨機模擬解非線性規(guī)劃debug=1;a=0;

%試驗點下界b=10;

%試驗點上界n=1000;

%試驗點個數r1=unifrnd(a,b,n,1);

%n1階的[a,b]均勻分布隨機數矩陣r2=unifrnd(a,b,n,1);sol=[r1(1)r2(1)];z0=inf;fori=1:nx1=r1(i);x2=r2(i);lpc=lpconst([x1x2]);

iflpc==1z=mylp([x1x2]);

ifz<z0z0=z;

sol=[x1x2];

end

endendToMatlab(randlp)返回第三十頁,共三十六頁,2022年,8月28日實驗作業(yè)1、編一個福利彩票電腦選號的程序。第三十一頁,共三十六頁,2022年,8月28日3.某設備上安裝有四只型號規(guī)格完全相同的電子管,已知電子管壽命為1000--2000小時之間的均勻分布。當電子管損壞時有兩種維修方案,一是每次更換損壞的那一只;二是當其中一只損壞時四只同時更換。已知更換時間為換一只時需1小時,4只同時換為2小時。更換時機器因停止運轉每小時的損失為20元,又每只電子管價格10元,試用模擬方法決定哪一個方案經濟合理?

4.

導彈追蹤問題:設位于坐標原點的甲艦向位于x軸上點A(1,0)處的乙艦發(fā)射導彈,導彈頭始終對準乙艦.如果乙艦以最大的速度(是常數)沿平行于y軸的直線行駛,導彈的速度是5,模擬導彈運行的軌跡.又乙艦行駛多遠時,導彈將它擊中?第三十二頁,共三十六頁,2022年,8月28日初始化:i=0,k1=0,k2=0,k3=0i=i+1骰子點數?k1=k1+1k2=k

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論