資源描述:
《《仿真教學(xué)》PPT課件》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第三章連續(xù)系統(tǒng)數(shù)字仿真§3-1基于數(shù)值積分法的連續(xù)系統(tǒng)仿真§3-2基于離散相似法的連續(xù)系統(tǒng)仿真§3-3系統(tǒng)非線性環(huán)節(jié)的仿真§3.1基于數(shù)值積分法的連續(xù)系統(tǒng)仿真3.1.1數(shù)值積分基本原理3.1.2數(shù)值積分方法的選擇3.1.3基于數(shù)值積分法的連續(xù)系統(tǒng)仿真3.1.4數(shù)值積分法的MATLAB函數(shù)連續(xù)系統(tǒng)的數(shù)學(xué)模型一般都能以微分方程的形式給出,所以連續(xù)系統(tǒng)仿真算法問題通常可歸結(jié)為如何用計算機來求解微分方程的問題,也就是對一階微分方程如何進行求解。數(shù)值積分法是解決該問題的重要方法之一。例如,假設(shè)有一系統(tǒng),它的數(shù)學(xué)模型可用(1)式所示微分方程來描述3.1.1數(shù)值積分基本原理§3.1基于數(shù)值積分的連續(xù)系統(tǒng)
2、仿真三、龍格—庫塔法(Runge—Kutta法)龍格—庫塔法的基本思想是:用幾個點上的函數(shù)值的線性組合來代替函數(shù)的各階導(dǎo)數(shù),然后再按泰勒級數(shù)展開確定其中的系數(shù)。下面以二階RK法為例介紹其基本原理。(5)將K2用二元函數(shù)泰勒級數(shù)展開式展開,并只取前三項,則有:首先假設(shè)式(1)的解具有下面的形式:式中,a1、a2、b1、b2為待定系數(shù)。將K1、K2代入式(5),得:(6)比較式(5)與(6)可以得到:另一方面,將ym+1在ym附近進行泰勒展開,并只取前三項,則有:上述3個方程中有4個未知數(shù),因而解不是唯一的。若限定,則可得其中一組解:將它們代入式(5),可得一組計算公式:截斷誤差為O(h3)截
3、斷誤差為O(h5)(6)梯形公式可看作二階龍格—庫塔公式,截斷誤差正比h3(2)步長h可變。RK的特點:四、亞當(dāng)姆斯(Adams)法單步法在計算ym+1時,只利用前一步的ym的值,經(jīng)過若干步的計算以后,可以求出一系列的值y1,y2,….,yn。如果充分利用前面多步的值來計算ym+1,則可以達到既提高計算速度又能獲得較高精度的目的,這就是多步法的基本思想。在多步法中,應(yīng)用較廣的是Adams法。Adams法有顯式積分和隱式積分兩種。Adams顯式一般形式:(5)式中,為顯式Adams公式系數(shù),部分數(shù)據(jù)如下表如二次(Adams)亞當(dāng)姆斯公式:三次(Adams)亞當(dāng)姆斯公式:即是多步法計算公式。多
4、步法與單步法相比,欲達相同精度,計算工作量較少,在相同條件下多步法比單步法要快。計算穩(wěn)定性仿真計算時,是否仍然穩(wěn)定呢?先看下面的例子:從穩(wěn)定性理論,我們知道如何去從系統(tǒng)的微分方程或傳遞函數(shù)去判斷該系統(tǒng)的穩(wěn)定性。那么,對于一個穩(wěn)定的連續(xù)系統(tǒng),當(dāng)用某數(shù)值積分方法進行五、數(shù)字仿真中的幾個問題(4)小結(jié):一般穩(wěn)定性與步長關(guān)系密切(除恒穩(wěn)公式之外),若用兩種顯著不同的步長所得到的數(shù)值解有明顯差別,則可能是這種數(shù)值方法不穩(wěn)定;反之如果基本相同,則一般視為是穩(wěn)定的。3.1.2數(shù)值積分方法的選擇一、積分方法的選擇1.精度問題。在步長相同的條件下,積分方法的階數(shù)越高,精度越高;另外,多步法的精度比單步法高,
5、隱式算法的精度高于顯式算法。因此,當(dāng)需要高精度時,可采用高階的多步隱式算法和較小的步長。若精度要求不高,一般可選擇低階算法。2.速度問題。為加快計算速度,可在精度要求不高時,盡量選擇低階的計算工作量少的方法。3.穩(wěn)定性。數(shù)值解的穩(wěn)定性必須保證,否則計算結(jié)果將失去真實意義。不同的方法有不同的穩(wěn)定性,要通過合適選擇步長來保證穩(wěn)定性。4.自啟動能力。單步法有自啟動能力,多步法沒有自啟動能力,必須借助于單步法啟動運算之后,才能開始工作。一般簡單的仿真程序多用單步法。5.步長變化能力。單步法在整個計算中,步長可在一定范圍內(nèi)變化;而多步法則對步長的變化有嚴格的要求。若要求仿真時步長可變,最好用單步法。
6、綜上所述,積分方法的選擇與多種因素有關(guān),各因素之間又相互影響。究竟選哪一種方法,要由具體系統(tǒng)及具體要求而定。一般情況下四階RK法應(yīng)用最為廣泛!二、積分步長的選擇步長的選擇很重要。步長過大會增大截斷誤差,甚至出現(xiàn)數(shù)值不穩(wěn)定現(xiàn)象,過小了又因增加了步數(shù),而使舍入誤差增大。所以存在一個最佳步長使得總誤差最?。ㄈ鐖D所示)。在用經(jīng)驗方法選取步長時,一種方法是根據(jù)系統(tǒng)方程中最小時間常數(shù)Tmin來決定步長,一般?。篽=(0.2~0.05)Tmin數(shù)值積分計算時,積分步長有固定步長和變步長兩種工作方式。固定步長就是在整個仿真計算過程中,積分步長h始終保持不變。變步長就是在仿真積分計算的每一步,根據(jù)計算誤差的
7、大小改變步長h。目的:在保持一定的計算精度的前提下,盡可能地選取較大的步長。方法:首先估計計算誤差?;判斷誤差是否在允許的誤差?0范圍內(nèi);若在允許誤差范圍內(nèi),則該步計算有效,否則計算無效,改變步長,重新計算。因此,在變步長的積分計算中,必須解決誤差估計方法和步長調(diào)整策略兩個問題。三、直接采用MATLAB語言根據(jù)算法原理編程cleart0=0;y0=1/3;h=0.1;N=1.5/h;t(1)=0;y(1)=1/3;for