計算機模擬(計算機仿真)_第1頁
計算機模擬(計算機仿真)_第2頁
計算機模擬(計算機仿真)_第3頁
計算機模擬(計算機仿真)_第4頁
計算機模擬(計算機仿真)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機模擬(計算機仿真)一、定義在一定的假設(shè)條件下,運用數(shù)學(xué)計算模擬系統(tǒng)的運行,稱為數(shù)學(xué)模擬。現(xiàn)代的數(shù)學(xué)模擬都是在計算機上進行的,故又稱為計算機模擬.基本步驟形成問題,明確模擬的目的和要求

收集處理有關(guān)數(shù)據(jù)

形成數(shù)學(xué)模型,找出組成部件,并描述有關(guān)變量或參數(shù);確定變量之間的函數(shù)關(guān)系

形成數(shù)學(xué)模型,找出組成部件,并描述有關(guān)變量或參數(shù);確定變量之間的函數(shù)關(guān)系

選擇模型的初始狀態(tài)設(shè)計邏輯或信息的流程圖,編制出計算機程序形成數(shù)學(xué)模型,找出組成部件,并描述有關(guān)變量或參數(shù);確定變量之間的函數(shù)關(guān)系程序驗證,檢驗程序與數(shù)學(xué)模型之間的一致性,以及輸入量的合理性進行模擬試驗,對給定的輸入在計算機上執(zhí)行程序數(shù)據(jù)分析,收集和整理試驗結(jié)果并作出解釋檢驗由模型所得的結(jié)果與真實系統(tǒng)的性能數(shù)據(jù)的一致性程度兩點說明:i.由于系統(tǒng)本身是隨時間變化的,或者具有隨機性,對真實系統(tǒng)數(shù)據(jù)和模型試

驗結(jié)果的比較常常需要采用時間序列分析方法或統(tǒng)計分析的方法時間序列分析方法1)定義:利用按時間順序排列的一組數(shù)字序列,應(yīng)用數(shù)理統(tǒng)計方法加以處理,以預(yù)測未來事物的發(fā)展的方法叫時間序列分析方法2)基本原理:應(yīng)用過去數(shù)據(jù),就能推測事物的發(fā)展趨勢;考慮到事物發(fā)展的隨機性,利用統(tǒng)計分析中加權(quán)平均法對歷史數(shù)據(jù)進行處理。統(tǒng)計分析1)定義:統(tǒng)計分析常指對收集到的有關(guān)數(shù)據(jù)資料進行整理歸類并進行解釋的過程。是統(tǒng)計工作中統(tǒng)計設(shè)計、資料收集、整理匯總、統(tǒng)計分析、信息反饋五個階段最關(guān)鍵的一步。2)統(tǒng)計分析的步驟:收集數(shù)據(jù);整理數(shù)據(jù);分析數(shù)據(jù)(先用描述統(tǒng)計的方法計算出反映數(shù)據(jù)集中趨勢、離散程度和相關(guān)強度的具有外在代表性的指標;再用推斷統(tǒng)計的方法對數(shù)據(jù)進行處理,以樣本信息推斷總體情況,并分析和推測總體的特征和規(guī)律。2.按功能將統(tǒng)計分析方法分為描述統(tǒng)計和推斷統(tǒng)計。描述統(tǒng)計:將研究中所得的數(shù)據(jù)加以整理、歸類、簡化或繪制成圖表,以此描述和歸納數(shù)據(jù)的特征及變量之間的關(guān)系的一種最基本的統(tǒng)計方法。描述統(tǒng)計主要涉及數(shù)據(jù)的集中趨勢、離散程度和相關(guān)強度,最常用的指標有平均數(shù)、標準差(ox)、相關(guān)系數(shù)(r)等;推斷統(tǒng)計:指用概率形式來決斷數(shù)據(jù)之間是否存在某種關(guān)系及用樣本統(tǒng)計值來推測總體特征的一種重要的統(tǒng)計方法。推斷統(tǒng)計包括總體參數(shù)估計假設(shè)檢驗,最常用的方法有Z檢驗、T檢驗、卡方檢驗等。三、模擬語言模擬語言一般是在別的通用編程語言的基礎(chǔ)上建立的,它需要自己的編譯程序進行預(yù)編譯,把模擬語言程序轉(zhuǎn)換成通用編程語言程序,再經(jīng)過一次編譯,轉(zhuǎn)換成計算機上可執(zhí)行程序。計算機模擬語言是一種高級的描述系統(tǒng)模型的編程語言,它提供表示系統(tǒng)模型中許多基本單元、部件和調(diào)度操作的模塊。用戶用它可較方便地確定模型的基本結(jié)構(gòu),只要再添加一些輔助的程序就可編出模擬程序。模擬語言可分為離散事件模擬語言(如GPSS及其各種改型、SIMSCRIPT.GASD、CSL、SIMULA等)和連續(xù)系統(tǒng)模擬語言(如DARE、ACSL、CSS、CSSL等)兩大類型。四、 基本方法:蒙特卡洛(MonteCarlo)方法.蒙特卡洛(MonteCarlo)方法的定義:是一種應(yīng)用隨機數(shù)來進行計算機模擬的方法。此方法對研究的系統(tǒng)進行隨機觀察抽樣,通過對樣本值的觀察統(tǒng)計,求得所研究系統(tǒng)的某些參數(shù)。.用蒙特卡洛方法進行計算機模擬的步驟:通過具有各種概率分布的模

擬隨機數(shù)來模擬隨機現(xiàn)象通過具有各種概率分布的模

擬隨機數(shù)來模擬隨機現(xiàn)象正確反映系統(tǒng)各部分運行時的邏輯關(guān)系的

邏輯框圖,即模擬模型模擬隨機數(shù):在MATLAB軟件中,可以直接產(chǎn)生滿足各種分布的隨機數(shù)的計算機命令,命令分別如下:1)產(chǎn)生mxn階[4b]均勻分布U(4b)的隨機數(shù)矩陣:unifmd(a,b,m,n)產(chǎn)生一個[a,b]均勻分布的隨機數(shù):unifmd(a,b)當只知道一個隨機變量取值在(a,b)內(nèi),但不知道(也沒理由假設(shè))它在何處取值的概率大,在何處取值的概率小,就只好用U(a,b)來模擬它。2)產(chǎn)生mxn階[0,1]均勻分布的隨機數(shù)矩陣:rand(m,n)產(chǎn)生一個[0,1]均勻分布的隨機數(shù):rand3)產(chǎn)生mxn階均值為〃,方差為cr的正態(tài)分布的隨機數(shù)矩陣:normrnd(〃,cr,m,n)產(chǎn)生一個均值為〃,方差為b的正態(tài)分布的隨機數(shù):normrnd(〃,b)當研究對象視為大量相互獨立的隨機變量之和,且其中每一種變量對總和的影響都很小時,可以認為該對象服從正態(tài)分布。機械加工得到的零件尺寸的偏差、射擊命中點與目標的偏差、各種測量誤差、人的身高、體重等,都可近似看成服從正態(tài)分布。4)產(chǎn)生mxn階期望值為〃的指數(shù)分布的隨機數(shù)矩陣:exprnd(〃,m,n)?若連續(xù)型隨機變量X的概率密度函數(shù)為JRx>0,/(%)=<[0 x<0其中丸>0為常數(shù),則稱X服從參數(shù)為4的指數(shù)分布。指數(shù)分布的期望值為%。在MATLAB中,產(chǎn)生參數(shù)為4的指數(shù)分布的命令為exprnd(L)。A指數(shù)分布在排隊論、可靠性分析中有廣泛應(yīng)用,排隊服務(wù)系統(tǒng)中顧客到達率為常數(shù)時的到達間隔、故障率為常數(shù)時零件的壽命都服從指數(shù)分布。5)產(chǎn)生mxn階參數(shù)為4的泊松分布的隨機數(shù)矩陣:poissmd(2,w,n)設(shè)離散型隨機變量X的所有可能取值為0,1,2,…,且取各個值的概率為P(X=k)=—―,A:=0,1,2,

k\其中;I>0為常數(shù),則稱X服從參數(shù)為2的泊松分布。帕松分布的期望值為/U泊松分布在排隊系統(tǒng)、產(chǎn)品檢驗、天文、物理等領(lǐng)域有廣泛應(yīng)用。指數(shù)分布與泊松分布的關(guān)系:若相繼兩個事件出現(xiàn)的間隔時間服從參數(shù)為'的指數(shù)分布,則在單位時間間隔內(nèi)事件出現(xiàn)的次數(shù)服從參數(shù)為2的泊松分布.即單位時間內(nèi)該事件出現(xiàn)k次的概率為P(X=&)="-?=0,1,2,反之亦然。k\勵.顧客到達某商店的間隔時間服從參數(shù)為0.1的指數(shù)分布:指兩個顧客到達商店的平均間隔時間是10個單位時間,即平均10個單位時間到達1個顧客,則指數(shù)分布的均值為1/0.1=10,顧客到達的間隔時間可用expmd(10)模擬該商店在單位時間內(nèi)到達的顧客數(shù)服從參數(shù)為0.1的帕松分布:指一個單位時間內(nèi)平均到達0.1個顧客,即平均10個單位時間到達一個顧客。例2.敵坦克分隊對我方陣地實施突襲,其到達規(guī)律服從泊松分布,平均每分鐘到達4輛.(1)模擬敵坦克在3分鐘內(nèi)到達目標區(qū)的數(shù)量,以及在第1、2、3分鐘內(nèi)各到達幾輛坦克;(2)模擬在3分鐘內(nèi)每輛敵坦克的到達時刻。(1)用poissmd(4)進行模擬;(2)坦克到達的間隔時間應(yīng)服從參數(shù)為4的負指數(shù)分布,用exprnd(1/4)模擬.通常蒙特卡羅方法可以粗略地分成兩類一類是所求解的問題本身具有內(nèi)在的隨機性,借助計算機的運算能力可以直接模擬這種隨機的過程。例如在核物理研究中,分析中子在反應(yīng)堆中的傳輸過程:中子與原子核作用受到量子力學(xué)規(guī)律的制約,人們只能知道它們相互作用發(fā)生的概率,卻無法準確獲得中子與原子核作用時的位置以及裂變產(chǎn)生的新中子的行進速率和方向,科學(xué)家依據(jù)其概率進行隨機抽樣得到裂變位置、速度和方向,這樣模擬大量中子的行為后,經(jīng)過統(tǒng)計就能獲得中子傳輸?shù)姆秶?,作為反?yīng)堆設(shè)計的依據(jù);另一種類型是所求解問題可以轉(zhuǎn)化為某種隨機分布的特征數(shù),比如隨機事件出現(xiàn)的概率,或者隨機變量的期望值。通過隨機抽樣的方法,以隨機事件出現(xiàn)的頻率估計其概率,或者以抽樣的數(shù)字特征估算隨機變量的數(shù)字特征,并將其作為問題的解。這種方法多用于求解復(fù)雜的多維積分問題。.在解決實際問題的時候應(yīng)用蒙特卡羅方法主要有兩部分工作首先需要產(chǎn)生各種概率分布的隨機變量;再用統(tǒng)計方法把模型的數(shù)字特征估計出來,從而得到實際問題的數(shù)值解。.用蒙特卡洛方法進行計算機模擬的實例例3在我方某前沿防守地域,敵人以一個炮排(含兩門火炮)為單位對我方進行干擾和破壞。為躲避我方打擊,敵方對其陣地進行了偽裝并經(jīng)常變換設(shè)計地點經(jīng)過長期觀察發(fā)現(xiàn),我方指揮所對敵方目標的指示有50%是準確的,而我方火力單位,在指示正確時,有1/3的射擊效果能毀傷敵人一門火炮,有1/6的射擊效果能全部消滅敵人?,F(xiàn)在希望能用某種方式把我方將要對敵人實施的20次打進結(jié)果顯現(xiàn)出來,確定有效射擊的比率及毀傷敵方火炮的平均值。分析:這是一個概率問題,可以通過理論計算得到相應(yīng)的概率和期望值。但這樣只能給出作戰(zhàn)行動的最終靜態(tài)結(jié)果,而顯示不出作戰(zhàn)行動的動態(tài)過程。為了能顯示我方20次射擊的過程,現(xiàn)采用模擬的方式問題分析需要模擬出以下兩件事1)觀察所對目標的指示正確與否模擬實驗有兩種結(jié)果,每一種結(jié)果出現(xiàn)的概率都是1/2.因此,可用投擲一枚硬幣的方式予以確定,當硬幣出現(xiàn)正面指示正確,反之不正確。2)當指示正確時,我方火力單位的射擊結(jié)果情況模擬實驗有三種結(jié)果:毀傷一門火炮的可能性是1/3(即2/6),毀傷兩門的可能性是1/6,沒能毀傷火炮的可能性是1/2(即3/6)o這時可以用投擲骰子的方法來確定:如果出現(xiàn)的是1、2、3這三個點:則認為沒能擊中敵人;如果出現(xiàn)的是4、5點:則認為毀傷敵人一門火炮;如果出現(xiàn)的是6點:則認為毀傷敵人兩門火炮。符號假設(shè) i 要模擬的打擊次數(shù)kl 沒擊中敵人火炮的射擊總數(shù)k2 擊中敵人一門火炮的設(shè)計總數(shù)k3 擊中敵人兩門火炮的射擊總數(shù)E 有效射擊比率E1 20次射擊平均每次毀傷敵人的火炮數(shù)模擬框圖模擬結(jié)果

試驗序號投硬幣結(jié)果指示正確指示不正確擲骰子結(jié)果消滅敵人火炮數(shù)0121正V4V2正V4V3反VV4正V1V5正V2V6反VV7正V3V8正V6V9反VV10反VV11正V2V12反VV13正V3V14反VV15正V6V16正V4V17正V2V18正V4V19反VV20正V6V13 4 3從以上模擬結(jié)果可以算出:E=7/20=0.35,El=Ox—+lx—+2x—=0.5.20 20 20理論計算假設(shè)1)J=1)J=觀察所對目標指示正確A0:射中敵方火炮的事件;A1:射中敵方一門火炮的事件;A2:射中敵方兩門火炮的事件;則由全概率公式得E=P(Ao)=P(j=O)P(AoIj=0)+P(j=l)P(AoIj=l)

=-x0+-xl=0.25TOC\o"1-5"\h\z2 22P(Ai)=P(j=0)P(Ai|j=0)+P(j=l)P(AiIj=l)1o1I 1=—x0+—x—=—

2 236P(A2)=P(j=0)P(A2Ij=0)+P(j=l)P(A2Ij=l)Et=lxl+2x—?0.33

6 12結(jié)果比較理論計算和模擬結(jié)果的比較項目/分類無效射擊有效射擊平均值模擬0.650.350.5理論0.750.250.33雖然模擬結(jié)果與理論計算不完全一致,但是它卻能更加真實地表達實際戰(zhàn)斗動態(tài)過程。例4. maxz=-2xj2-x224-^%2+8玉+3x2s.t.3x,+x2=10Xj>0x2>0在MATLAB軟件包中編程,共需三個M一文件:randlp.m,mmylp.m,lpconst.主程序為randlp.m%mylp.mfunctionz=mylp(x)%目標函數(shù)z=2*x(1)A2+x(2)A2-x(1)*x(2)-8*x(1)-3*x(2); %轉(zhuǎn)化為求最小值問題%lpconst.mfunctionlpc=lpconst(x) %約束條件if3*x(l)+x(2)-10<=0.5&3*x(l)+x(2)-10>=0.5%約束條件lpc=l;elselpc=0end%randlp.mfunction[sol,r1,r2]=randlp(a,b,n) %隨機模擬解非線性規(guī)劃debug=l;a=0;b=10; %試驗點下界和上界n=1000; %試驗點個數(shù)r1=unifmd(a,b,n,1);r2=unifrnd(a,b,n,1); %n&l階的[a,b]均勻分布隨機數(shù)矩陣sol=[rl(l)r2(l)];z0=inf;fori=l:nxl=rl(i);x2=r2(i);lpc=lpconst([xlx2]);iflpc==lz=mylp([xlx2]);ifz<z0z0=z;sol=[xlx2];endendend五、模擬類型1.離散系統(tǒng)模擬離散時間模型的模擬離散時間模型中的時間表示為整數(shù)序列(代表某一時間單位的整數(shù)倍),只考慮系統(tǒng)在這些時刻上的狀態(tài)變化。這種模型的一個典型模擬程序包括下列步驟:模擬時間T的初始值為to;2)置狀態(tài)變量的初始值;3)給出當前模擬時間輸入變量的值后,根據(jù)模型中的狀態(tài)轉(zhuǎn)移函數(shù),確定在下一時刻T=t+h狀態(tài)變量的值。再根據(jù)模型中的輸出函數(shù)確定在該時刻輸出變量的值;4)把模擬時間T推進一個單位時間h;5)檢查模擬時間T是否達到預(yù)定終止時刻,若已達到即停止,否則轉(zhuǎn)移到步驟3)o離散事件模型的模擬在離散事件模型中,系統(tǒng)的狀態(tài)改變只出現(xiàn)在離散的時刻,稱為離散事件。以排隊系統(tǒng)為例,建立這種模擬模型的基本步驟和方法是:1)確定系統(tǒng)中包含的所有有關(guān)的“實體”及其屬性,系統(tǒng)狀態(tài)改變的一切“事件”及其前因后果。實體是系統(tǒng)的組成部件,每個實體的屬性由表示其性質(zhì)的數(shù)值表示,構(gòu)成系統(tǒng)的狀態(tài)。在排隊系統(tǒng)中最基本的實體是一定數(shù)量的“服務(wù)站”和要求服務(wù)的“顧客”,它們的屬性分別為“服務(wù)站”的“服務(wù)速率”和“顧客”的服務(wù)優(yōu)先級、到達服務(wù)系統(tǒng)的時刻等。基本的“事件”包括:新實體進入系統(tǒng)或現(xiàn)有實體離開系統(tǒng)、實體屬性發(fā)生變化、調(diào)度的時刻表變化等。2)確定模擬時間推移的方法。如果把時間按等間隔劃分,順序考察在這些時刻系統(tǒng)是否出現(xiàn)事件,稱為固定時距方法;如果時間每次推移的長度以下一次事件發(fā)生的時刻為依據(jù),稱為可變時距方法或“下一事件”方法。3)由于系統(tǒng)中事件的出現(xiàn)常具有隨機性,服從一定的概率分布,因而在計算機上需要產(chǎn)生這些分布的隨機數(shù)。4)為了靈活有效地記錄系統(tǒng)的狀態(tài),進行事件的調(diào)度,積累有關(guān)性能數(shù)據(jù)并形成報表,保存和自動管理未來事件文件,在程序設(shè)計中采用數(shù)據(jù)庫技術(shù)非常適宜。離散系統(tǒng)模擬實例一一排隊問題排隊論:排隊論主要研究隨機服務(wù)系統(tǒng)的工作過程。在排隊系統(tǒng)中,服務(wù)對象的到達時間和服務(wù)時間都是隨機的。排隊論通過對每個個別的隨機服務(wù)現(xiàn)象的統(tǒng)計研究,找出反映這些隨機現(xiàn)象平均特性的規(guī)律,從而為設(shè)計新的服務(wù)系統(tǒng)和改進現(xiàn)有服務(wù)系統(tǒng)的工作系統(tǒng)提供依據(jù)。對于排隊服務(wù)系統(tǒng),顧客通常注意排隊的人是否太多,等候的時間是否過長,而對服務(wù)員則是關(guān)心他空閑的時間是否太短,于是人們常用排隊的長度、等待的時間及服務(wù)利用率等指標來衡量系統(tǒng)的性能。單服務(wù)員的排隊問題:例5.在某商店有一個售貨員,顧客陸續(xù)來到,售貨員逐個接待顧客。當?shù)絹淼念櫩洼^多時,一部分顧客便須排隊等待,被接待的顧客便離開商店,設(shè):1)顧客到來間隔時間服從參數(shù)為0.1的指數(shù)分布。2)對顧客的服務(wù)時間服從[4,15]上的均勻分布。3)排隊按先到先服務(wù)規(guī)則,隊長無限制假定一個工作日為8小時,時間以分鐘為單位。1)模擬一個工作日內(nèi)完成服務(wù)的個數(shù)及顧客平均等待時間t.2)模擬100個工作日,求出平均每日完成服務(wù)的個數(shù)及每日顧客的平均等待時間。系統(tǒng)假設(shè)1)顧客源是無窮的;2)排隊的長度沒有限制;3)到達系統(tǒng)的顧客按先后順序依次進入服務(wù),即“先到先服務(wù)二符號說明 w 總等待時間Ci 第i個顧客的到達時刻bi 第i個顧客開始服務(wù)時刻ei 第i個顧客服務(wù)結(jié)束時刻Xi 第i-1個顧客與第i個顧客之間到達的間隔時間yi 對第i個顧客的服務(wù)時間ci=ci-l+xiei=bi+yi

bi=max(ci,ei-l)模擬框圖

.連續(xù)系統(tǒng)模擬狀態(tài)隨時間連續(xù)地發(fā)生變化的系統(tǒng)稱為連續(xù)系統(tǒng),狀態(tài)變化的速率滿足一定的微分方程。在計算機上建立對應(yīng)的模擬模型,有賴于求解微分方程的有效的數(shù)值方法,并編制成標準子程序,以便能使用各種方程階數(shù)、系數(shù)、初值條件或邊值條件。對連續(xù)系統(tǒng)的計算機模擬只能是近似的,只要這種近似達到一定的精度,也就可以滿足要求。對包含反饋和控制的系統(tǒng)的模擬是這種類型的典型例子。.連續(xù)系統(tǒng)模擬的實例一一追逐問題例6.如圖,正方形ABCD的四個頂點各有一人.在某一時刻,四人同時出發(fā)以勻速v=l米/秒按順時針方向追逐下一人,如果他們始終保持對準目標,則最終按螺旋狀曲線于中

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論