天天看點

simulink仿真設定

一、算法設定

1.變步長(Variable—Step)求解器

       可以選擇的變步長求解器有:ode45,ode23,ode113,odel5s,ode23s和discret.預設情況下,具有狀态的系統用的是ode45;沒有狀态的系統用的是discrete。

1)ode45基于顯式Runge—Kutta(4,5)公式,Dormand—Prince對.它是—個單步求解器(solver)。也就是說它在計算y(tn)時,僅僅利用前一步的計算結果y(tn-1).對于大多數問題.在第一次仿真時、可用ode45試一下。

2)ode23是基于顯式Runge—Kutta(2,3).Bogackt和Shampine對.對于寬誤差容限和存在輕微剛性的系統、它比ode45更有效一些.ode23也是單步求解器。

3)odell3是變階Adams-Bashforth—Moulton PECE求解器.在誤差容限比較嚴時,它比ode45更有效.odell3是一個多步求解器,即為了計算目前的結果y(tn),不僅要知道前一步結果y(tn-1),還要知道前幾步的結果y(tn-2),y(tn-3),…;

4)odel5s是基于數值微分公式(NDFs)的變階求解器.它與後向微分公式BDFs(也叫Gear方法)有聯系.但比它更有效.ode15s是一個多步求解器,如果認為一個問題是剛性的,或者在用ode45s時仿真失敗或不夠有效時,可以試試odel5s。 odel5s是基于一到五階的NDF公式的求解器.盡管公式的階數越高結果越精确,但穩定性會差一些.如果模型是剛性的,并且要求有比較好的穩定性,應将最大的階數減小到2.選擇odel5s求解器時,對話框中會顯示這一參數. 可以用ode23求解器代替。del5s,ode23是定步長、低階求解器。

5)ode23s是基于一個2階改進的Rosenbrock公式.因為它是一個單步求解器,是以對于寬誤差容限,它比odel5s更有效.對于一些用odel5s不是很有效的剛性問題,可以用它解決。

6)ode23t是使用“自由”内插式梯形規則來實作的.如果問題是适度剛性,而且需要沒有數字阻尼的結果,可采用該求解器。

7)ode23tb是使用TR—BDF2來實作的,即基于隐式Runge—Kutta公式,其第一級是梯形規則步長和第二級是二階反向微分公式.兩級計算使用相同的疊代矩陣.與ode23s相似,對于寬誤差容限,它比odtl5s更有效。

8)discrete(變步長)是simulink在檢測到模型中沒有連續狀态時所選擇的一種求解器。

2.定步長(Flxed—Step)求解器

       可以選擇的定步長求解器有:ode5,ode4,ode3,ode2,ode1和discrete。

1)ode5是ode45的一個定步長版本,基于Dormand—Prince公式。

2)ode4是RK4,基于四階Runge—Kutta公式。

3) ode3是ode23的定步長版本,基于Bogacki-Sbampine公式。

4) ode2是Heun方法,也叫作改進Euler公式。

5) odel是Euler方法。

6) discrete(定步長)是不執行積分的定步長求解器.它适用于沒有狀态的模型,以及對過零點檢測和誤差控制不重要的模型。

3.總結

 [轉載]simulink仿真設定

        ode45絕對是第一選擇,當你弄不清情況的時候都可以選它。但是如果遇到剛性系統時,運算會很慢很慢,這時候你可以選擇ode23tb算法(有關資料顯示這個算法收斂速度較快)。如果還不行,那你就可以考慮選擇discrete方式了。當然,這是萬金油式選擇,對我這種菜鳥來說這樣足夠了。但如果對算法有研究的大濕們,當然可以具體情況具體分析了。

二、powergui設定

       simulink仿真用到simpowersystom庫時,一般都要加powergui子產品,它儲存了電路模型的等效數學模型(狀态空間方程),有三種運作模式:連續方法(continous)、離散方法(discret)、相量方法(phasor)。

       小型系統(狀态量10個以下)用continous運作比較好,連續變步長方法更快更精确,因為離散算法要想給出一個同等精度的結果需要的計算量要比連續的多出不少。使用二極管和晶閘管等整流電力電子器件情況下,變步長算法由于對事件更為敏感,有誤差限制和過零檢測,可以精确探測到電流的過零點,故結果波形中不會有電流間斷。算法可以根據模型選擇合适的ode算法。

       對于包含了許多狀态和非線性子產品(如電力電子器件)較多的大型系統建議用discrete來運作,加快仿真速度。一旦系統被離散化,電路系統再無連續狀态了,是以如果你不需要變步長積分方法進行仿真,前文所述的算法設定Simulation parameters可選擇Fixed-step和discrete(no continous state)。當你離散化系統時,仿真的精度由時間步長控制。若使用太大的時間步長,精度可能不夠。确定時間步長是否合适的唯一方法是通過改變時間步長,反複仿真,比較仿真結果。通常,對于在50Hz 或60Hz的功率系統上或使用了線性整流功率電子元件(如二極管、可控矽等)的系統上進行暫态仿真,取20us-50us的時間步長一般能取得較好的仿真效果。對于使用了強制整流功率電子開關的系統,必須減小時間步長。IGBT、場效應管、門極關斷晶閘管等通常工作在很高的開關頻率狀态下,例如,要仿真一個工作在8Hz的PWM轉換器,需要設定步長大約為8us。   

       phasor就是穩态模型,沒有狀态量。 如果你隻對電壓電流的相位和幅值變化感興趣,使用相量法是一個不錯的選擇。求解時不再解全部的微分方程,隻要解關于電流電壓相量的代數方程就行了,代數方程可比微分方程簡單多了!正如名字,相量法将電流電壓視為相量。相量法對于包含大發電機和電動機的網絡的暫态穩定性仿真十分好用 。在這種類型的問題中,我們感興趣的是電機和調節器互動作用引起的電氣機械振蕩,這些振蕩對基波電流電壓産生一個低頻的幅度相位調制。一般來講,連續或者離散的方法不适合這種類型的問題。相量法中,使用一系列的代數方程代替網絡微分方程,其中的快速的模态被忽略;使用一個由基頻和相關輸入輸出組成的複矩陣代替網絡的狀态空間模型。由于相量法使用的是電機、渦輪機和調節器的慢速狀态的簡化模型,是以大大的減少了必需仿真時間。

三、提高simpowersystem的仿真速度

1)使用ode23解法器但效果很有限。

2)對系統離散化,方法為在你的gui子產品裡選擇discretize electric model,采樣時間越大仿真越快,當然采樣時間的設定要與你對系統精确性相配合,因為采樣時間是與準确性成反比的。

3)在仿真的過程中盡量少開啟示波器視窗,示波器參數中的點數限制最好關閉。

4)如果你的系統要從一個特定的狀态開始仿真,在仿真參數設定是,最好在i/o選項中設定起始的狀态矢量。

5)開啟加速器,(方法在菜單 仿真這一 項中可以設定),這個也能大大加快仿真速度。