數(shù)學(xué)建模計算機模擬_第1頁
數(shù)學(xué)建模計算機模擬_第2頁
數(shù)學(xué)建模計算機模擬_第3頁
數(shù)學(xué)建模計算機模擬_第4頁
數(shù)學(xué)建模計算機模擬_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1數(shù)學(xué)建模與數(shù)學(xué)實驗

計算機模擬2實驗?zāi)康膶嶒瀮?nèi)容學(xué)習(xí)計算機模擬的根本過程與方法.1.模擬的概念.4.實驗作業(yè).3.計算機模擬實例.2.產(chǎn)生隨機數(shù)的計算機命令.3連續(xù)系統(tǒng)模擬實例:追逐問題離散系統(tǒng)模擬實例:排隊問題用蒙特卡羅法解非線性規(guī)劃問題返回計算機模擬實例4模擬的概念

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

模擬的根本思想是建立一個試驗的模型,這個模型包含所研究系統(tǒng)的主要特點.通過對這個實驗?zāi)P偷倪\行,獲得所要研究系統(tǒng)的必要信息.5模擬的方法1.物理模擬:對實際系統(tǒng)及其過程用功能相似的實物系統(tǒng)去模仿.例如,軍事演習(xí)、船艇實驗、沙盤作業(yè)等.

物理模擬通?;ㄙM較大、周期較長,且在物理模型上改變系統(tǒng)結(jié)構(gòu)和系數(shù)都較困難.而且,許多系統(tǒng)無法進行物理模擬,如社會經(jīng)濟系統(tǒng)、生態(tài)系統(tǒng)等.6

在實際問題中,面對一些帶隨機因素的復(fù)雜系統(tǒng),用分析方法建模常常需要作許多簡化假設(shè),與面臨的實際問題可能相差甚遠,以致解答根本無法應(yīng)用.這時,計算機模擬幾乎成為唯一的選擇.

在一定的假設(shè)條件下,運用數(shù)學(xué)運算模擬系統(tǒng)的運行,稱為數(shù)學(xué)模擬.現(xiàn)代的數(shù)學(xué)模擬都是在計算機上進行的,稱為計算機模擬.2.?dāng)?shù)學(xué)模擬

計算機模擬可以反復(fù)進行,改變系統(tǒng)的結(jié)構(gòu)和系數(shù)都比較容易.

蒙特卡羅〔MonteCarlo〕方法是一種應(yīng)用隨機數(shù)來進行計算機模擬的方法.此方法對研究的系統(tǒng)進行隨機觀察抽樣,通過對樣本值的觀察統(tǒng)計,求得所研究系統(tǒng)的某些參數(shù).7例1在我方某前沿防守地域,敵人以一個炮排〔含兩門火炮〕為單位對我方進行干擾和破壞.為躲避我方打擊,敵方對其陣地進行了偽裝并經(jīng)常變換射擊地點.

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

現(xiàn)在希望能用某種方式把我方將要對敵人實施的20次打擊結(jié)果顯現(xiàn)出來,確定有效射擊的比率及毀傷敵方火炮的平均值.分析:這是一個概率問題,可以通過理論計算得到相應(yīng)的概率和期望值.但這樣只能給出作戰(zhàn)行動的最終靜態(tài)結(jié)果,而顯示不出作戰(zhàn)行動的動態(tài)過程.

為了能顯示我方20次射擊的過程,現(xiàn)采用模擬的方式.8

需要模擬出以下兩件事:

1.問題分析[2]當(dāng)指示正確時,我方火力單位的射擊結(jié)果情況[1]觀察所對目標(biāo)的指示正確與否模擬試驗有兩種結(jié)果,每種結(jié)果出現(xiàn)的概率都是1/2.

因此,可用投擲1枚硬幣的方式予以確定,當(dāng)硬幣出現(xiàn)正面時為指示正確,反之為不正確.

模擬試驗有三種結(jié)果:毀傷1門火炮的可能性為1/3(即2/6),毀傷兩門的可能性為1/6,沒能毀傷敵火炮的可能性為1/2(即3/6).

這時可用投擲骰子的方法來確定:如果出現(xiàn)的是1、2、3點:那么認(rèn)為沒能擊中敵人;如果出現(xiàn)的是4、5點:那么認(rèn)為毀傷敵人一門火炮;假設(shè)出現(xiàn)的是6點:那么認(rèn)為毀傷敵人兩門火炮.92.符號假設(shè)i:要模擬的打擊次數(shù);k1:沒擊中敵人火炮的射擊總數(shù);k2:擊中敵人一門火炮的射擊總數(shù);k3:擊中敵人兩門火炮的射擊總數(shù).E:有效射擊比率;E1:20次射擊平均每次毀傷敵人的火炮數(shù).3.模擬框圖初始化:i=0,k1=0,k2=0,k3=0i=i+1骰子點數(shù)?k1=k1+1k2=k2+1k3=k3+1k1=k1+1i<20?E=E1=0×

+1×

+2×

停止硬幣正面?YNNY1,2,34,56104.模擬結(jié)果11125.理論計算136.結(jié)果比較

返回

雖然模擬結(jié)果與理論計算不完全一致,但它卻能更加真實地表達實際戰(zhàn)斗動態(tài)過程.用蒙特卡羅方法進行計算機模擬的步驟:[1]設(shè)計一個邏輯框圖,即模擬模型.這個框圖要正確反映系統(tǒng)各局部運行時的邏輯關(guān)系.[2]模擬隨機現(xiàn)象.可通過具有各種概率分布的模擬隨機數(shù)來模擬隨機現(xiàn)象.14產(chǎn)生模擬隨機數(shù)的計算機命令

在MATLAB軟件中,可以直接產(chǎn)生滿足各種分布的隨機數(shù),命令如下:2.產(chǎn)生m×n階[0,1]均勻分布的隨機數(shù)矩陣:

rand(m,n)

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

unifrnd(a,b,m,n)

產(chǎn)生一個[a,b]均勻分布的隨機數(shù):unifrnd(a,b)

當(dāng)只知道一個隨機變量取值在〔a,b〕內(nèi),但不知道〔也沒理由假設(shè)〕它在何處取值的概率大,在何處取值的概率小,就只好用U〔a,b〕來模擬它.例1的計算機模擬15當(dāng)研究對象視為大量相互獨立的隨機變量之和,且其中每一種變量對總和的影響都很小時,可以認(rèn)為該對象服從正態(tài)分布.機械加工得到的零件尺寸的偏差、射擊命中點與目標(biāo)的偏差、各種測量誤差、人的身高、體重等,都可近似看成服從正態(tài)分布.16若連續(xù)型隨機變量X的概率密度函數(shù)為其中>0為常數(shù),則稱X服從參數(shù)為的指數(shù)分布.指數(shù)分布的期望值為

排隊效勞系統(tǒng)中顧客到達率為常數(shù)時的到達間隔、故障率為常數(shù)時零件的壽命都服從指數(shù)分布.指數(shù)分布在排隊論、可靠性分析中有廣泛應(yīng)用.注意:MATLAB中,產(chǎn)生參數(shù)為的指數(shù)分布的命令為exprnd()例

指數(shù)分布的均值為1/0.1=10.指兩個顧客到達商店的平均間隔時間是10個單位時間.即平均10個單位時間到達1個顧客.顧客到達的間隔時間可用exprnd(10)模擬.17設(shè)離散型隨機變量X的所有可能取值為0,1,2,…,且取各個值的概率為其中>0為常數(shù),則稱X服從參數(shù)為的泊松分布.泊松分布在排隊系統(tǒng)、產(chǎn)品檢驗、天文、物理等領(lǐng)域有廣泛應(yīng)用.泊松分布的期望值為18如相繼兩個事件出現(xiàn)的間隔時間服從參數(shù)為的指數(shù)分布,則在單位時間間隔內(nèi)事件出現(xiàn)的次數(shù)服從參數(shù)為的泊松分布.即單位時間內(nèi)該事件出現(xiàn)k次的概率為:反之亦然.指數(shù)分布與泊松分布的關(guān)系:(1)指兩個顧客到達商店的平均間隔時間是10個單位時間.即平均10個單位時間到達1個顧客.例(1)顧客到達某商店的間隔時間服從參數(shù)為0.1的指數(shù)分布

(2)該商店在單位時間內(nèi)到達的顧客數(shù)服從參數(shù)為0.1的泊松分布19

返回例2敵坦克分隊對我方陣地實施突襲,其到達規(guī)律服從泊松分布,平均每分鐘到達4輛.〔1〕模擬敵坦克在3分鐘內(nèi)到達目標(biāo)區(qū)的數(shù)量,以及在第1、2、3分鐘內(nèi)各到達幾輛坦克.〔2〕模擬在3分鐘內(nèi)每輛敵坦克的到達時刻.〔1〕用poissrnd(4)進行模擬.〔2〕坦克到達的間隔時間應(yīng)服從參數(shù)為4的負指數(shù)分布,用exprnd〔1/4〕模擬.ToMATLAB〔time〕20連續(xù)系統(tǒng)模擬實例:追逐問題

狀態(tài)隨時間連續(xù)變化的系統(tǒng)稱為連續(xù)系統(tǒng).對連續(xù)系統(tǒng)的計算機模擬只能是近似的,只要這種近似到達一定的精度,也就可以滿足要求.例追逐問題:如圖,正方形ABCD的4個頂點各有1人.在某一時刻,4人同時出發(fā)以勻速v=1m/s按順時針方向追逐下一人,如果他們始終保持對準(zhǔn)目標(biāo),那么最終按螺旋狀曲線于中心點O.試求出這種情況下每個人的行進軌跡.OBCDA211.建立平面直角坐標(biāo)系:A(x1,y1),B(x2,y2),C(x3,y3),D(x4,y4).2.取時間間隔為Δt,計算每一點在各個時刻的坐標(biāo).4.對每一個點,連接它在各時刻的位置,即得所求運動軌跡.求解過程:返回22v=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計算程序:返回23離散系統(tǒng)模擬實例:排隊問題

排隊論主要研究隨機效勞系統(tǒng)的工作過程.

在排隊系統(tǒng)中,效勞對象的到達時間和效勞時間都是隨機的.排隊論通過對每個個別的隨機效勞現(xiàn)象的統(tǒng)計研究,找出反映這些隨機現(xiàn)象平均特性的規(guī)律,從而為設(shè)計新的效勞系統(tǒng)和改進現(xiàn)有效勞系統(tǒng)的工作提供依據(jù).

對于排隊效勞系統(tǒng),顧客常常注意排隊的人是否太多,等候的時間是否長,而效勞員那么關(guān)心他空閑的時間是否太短.于是人們常用排隊的長度、等待的時間及效勞利用率等指標(biāo)來衡量系統(tǒng)的性能.24[1]系統(tǒng)的假設(shè):〔1〕顧客源是無窮的;

〔2〕排隊的長度沒有限制;〔3〕到達系統(tǒng)的顧客按先后順序依次進入效勞,即“先到先效勞〞.單效勞員的排隊模型:在某商店有一個售貨員,顧客陸續(xù)來到,售貨員逐個地接待顧客.當(dāng)?shù)絹淼念櫩洼^多時,一局部顧客便須排隊等待,被接待后的顧客便離開商店.設(shè):1.顧客到來間隔時間服從參數(shù)為0.1的指數(shù)分布.2.對顧客的效勞時間服從[4,15]上的均勻分布.3.排隊按先到先效勞規(guī)那么,隊長無限制.

假定一個工作日為8小時,時間以分鐘為單位.[1]模擬一個工作日內(nèi)完成效勞的個數(shù)及顧客平均等待時間t.[2]模擬100個工作日,求出平均每日完成效勞的個數(shù)及每日顧客的平均等待時間.25[2]符號說明

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

bi:第i個顧客開始效勞時刻;ei:第i個顧客效勞結(jié)束時刻.

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

yi:對第i個顧客的效勞時間c1b1c3c4c5c2e1b2e2b3e3b4e4b5ci=ci-1+xiei=bi+yibi=max(ci,ei-1)t26[3]模擬框圖初始化:令i=1,ei-1=0,w=0產(chǎn)生間隔時間隨機數(shù)xi服從參數(shù)為0.1的指數(shù)分布

ci=xi

,bi=xi

產(chǎn)生服務(wù)時間隨機數(shù)yi服從[4,15]的均勻分布

ei=bi+yi累計等待時間:w=w+bi-ci準(zhǔn)備下一次服務(wù):i=i+1產(chǎn)生間隔時間隨機數(shù)xi服從參數(shù)為0.1的指數(shù)分布

ci=ci-1+xi

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

平均等待時間:t停止[1]模擬1日[2]模擬100日ToMATLAB(simu2)返回27用蒙特卡羅法解非線性規(guī)劃問題28根本假設(shè)

試驗點的第j個分量xj服從[aj,bj]內(nèi)的均勻分布.符號假設(shè)求解過程

先產(chǎn)生一個隨機數(shù)作為初始試驗點,以后那么將上一個試驗點的第j個分量隨機產(chǎn)生,其他分量不變而產(chǎn)生一新的試驗點.這樣,每產(chǎn)生一個新試驗點只需一個新的隨機數(shù)分量.當(dāng)K>MAXK或P>MAXP時停止迭代.29框圖初始化:給定MAXK,MAXP;k=0,p=0,Q:大整數(shù)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,停止YN30

在MATLAB軟件包中編程,共需3個M文件:,,

.主程序為.functionz=mylp(x)

%目標(biāo)函數(shù)z=2*x(1)^2+x(2)^2-x(1)*x(2)-8*x(1)-3*x(2);

%轉(zhuǎn)化為求最小值問題31

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

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

%試驗點下界b=10;

%試驗點上界n=1000;

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

%n1階的[a,b]均勻分布隨機數(shù)矩陣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)返回32實驗作業(yè)1.編一個福利彩票電腦選號的程序.334.某設(shè)備上安裝有4只型號規(guī)格完全相同的電子管,電子管壽命服從1000~2000h之間的均勻分布.電子管損壞時有兩種維修方案,一是每次更換損壞的那只;二是當(dāng)其中1只損壞時4只同時更換.更換時間為換1只時需1h,4只同時換為2h.更換時機器因停止運轉(zhuǎn)每小時的損失為20元,又每只電子管價格10元,試用模擬方法確定哪一個方案經(jīng)濟合理?5.

導(dǎo)彈追蹤問題:設(shè)位于坐標(biāo)原點的甲艦向位于x軸上點A(1,0)處的乙艦發(fā)射導(dǎo)彈,導(dǎo)彈頭始終對準(zhǔn)乙艦.如果乙艦以最大的速度(常數(shù))沿平行于y軸的直線行駛,導(dǎo)彈的速度為5.模擬導(dǎo)彈運行的軌跡.乙艦行駛多遠時,導(dǎo)彈將它擊中?34初始化:i=0,k1=0,k2=0,k3=0i=i+1骰子點數(shù)?k1=k1+1k2=k2+1k3

溫馨提示

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

最新文檔

評論

0/150

提交評論