Simulink仿真時間、步長、精度和解法器設置


在Simulink模型中Configuration Parameters里的Solver頁設置仿真時間、步長、精度和解法器。

在這里插入圖片描述

一、仿真時間:注意這里的時間概念與真實的時間並不一樣,只是計算機仿真中對時間的一種表示,比如10秒的仿真時間,如果采樣步長定為0.1,則需要執行100步,若把步長減小,則采樣點數增加,那么實際的執行時間就會增加。一般仿真開始時間設為0,而結束時間視不同的因素而選擇。總的說來,執行一次仿真要耗費的時間依賴於很多因素,包括模型的復雜程度、解法器及其步長的選擇、計算機時鍾的速度等等。

二、仿真步長模式:用戶在Type后面的第一個下拉選項框中指定仿真的步長選取方式,可供選擇的有Variable-step(變步長)和Fixed-step(固定步長)方式。

1)變步長模式可以在仿真的過程中改變步長,提供誤差控制和過零檢測;

2)固定步長模式在仿真過程中提供固定的步長,不提供誤差控制和過零檢測。

步長參數:對於變步長模式,用戶可以設置最大的和推薦的初始步長參數,缺省情況下,步長自動地確定,它由值auto表示。

Maximum step size(最大步長參數):它決定了解法器能夠使用的最大時間步長,它的缺省值為“仿真時間/50”,即整個仿真過程中至少取50個取樣點,但這樣的取法對於仿真時間較長的系統則可能帶來取樣點過於稀疏,而使仿真結果失真。一般建議對於仿真時間不超過15s的采用默認值即可,對於超過15s的每秒至少保證5個采樣點,對於超過100s的,每秒至少保證3個采樣點。

Initial step size(初始步長參數):一般建議使用“auto”默認值即可。

三、仿真精度(對於變步長模式):

1)Relative tolerance(相對誤差):它是指誤差相對於狀態的值,是一個百分比,缺省值為1e-3,表示狀態的計算值要精確到0.1%;

2)Absolute tolerance(絕對誤差):表示誤差值的門限,或者是說在狀態值為零的情況下,可以接受的誤差。如果它被設成了auto,那么simulink為每一個狀態設置初始絕對誤差為1e-6。

四、解法器

針對變步長和定步長分別有不同的解法器。

變步長模式解法器有:ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb和discrete。

1)ode45:缺省值,四/五階龍格-庫塔法,適用於大多數連續或離散系統,但不適用於剛性(stiff)系統。它是單步解法器,也就是,在計算y(tn)時,它僅需要最近處理時刻的結果y(tn-1)。一般來說,面對一個仿真問題最好是首先試試ode45;

2)ode23:二/三階龍格-庫塔法,它在誤差限要求不高和求解的問題不太難的情況下,可能會比ode45更有效。也是一個單步解法器;

3)ode113:是一種階數可變的解法器,它在誤差容許要求嚴格的情況下通常比ode45有效。ode113是一種多步解法器,也就是在計算當前時刻輸出時,它需要以前多個時刻的解;

4)ode15s:是一種基於數字微分公式的解法器(NDFs)。也是一種多步解法器。適用於剛性系統,當用戶估計要解決的問題是比較困難的,或者不能使用ode45,或者即使使用效果也不好,就可以用ode15s;

5)ode23s:它是一種單步解法器,專門應用於剛性系統,在弱誤差允許下的效果好於ode15s。它能解決某些ode15s所不能有效解決的stiff問題;

6)ode23t:是梯形規則的一種自由插值實現。這種解法器適用於求解適度stiff的問題而用戶又需要一個無數字振盪的解法器的情況;

7)ode23tb:是TR-BDF2的一種實現, TR-BDF2 是具有兩個階段的隱式龍格-庫塔公式;

8)discrtet:當Simulink檢查到模型沒有連續狀態時使用它。

固定步長模式解法器有:ode5,ode4,ode3,ode2,ode1和discrete。

1)ode5:缺省值,是ode45的固定步長版本,適用於大多數連續或離散系統,不適用於剛性系統;

2)ode4:四階龍格-庫塔法,具有一定的計算精度;

3)ode3:固定步長的二/三階龍格-庫塔法;

4)ode2:改進的歐拉法;

5)ode1:歐拉法;

6)discrete:是一個實現積分的固定步長解法器,它適合於離散無連續狀態的系統


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM