2017-05-22 190 views
0

我想在simulink上運行一個閉環系統,如下所示。Simulink:擺脫時間延遲

enter image description here

當我運行它,它得到這樣的結果。

enter image description here

正如你所看到的,是獲得階躍函數高達1輕微的時間延遲閉環輸出還沒有啓動,直到大約1.5秒。我知道這是現實世界中會發生的事情,但我想知道是否有辦法擺脫這種時間延遲並使輸出顯示「理想」結果。

感謝

編輯

只是覺得應該添加更多的信息。步驟輸入是一個標準的步驟輸入,而我在設置方面改變的唯一事情是模擬時間是8秒,解算器是一個固定步驟ode1(euler)。

回答

2

您正在使用固定步長求解器,因此步長默認爲(stop_time-start_time)/ 50,在您的情況下,其等於0.16。因此,你在1秒內沒有時間步長。在第6個時間步長= 0.96時,步長爲0.在第7個時間步長= 1.12時,步長爲1.這就是正在顯示的內容,並且對於正在使用的模擬參數是正確的。

使用固定步進解算器,如果您希望該步驟恰好以1s出現,那麼您需要指定一個步長,以便模型在1秒時間內執行一個步驟。 您可以通過轉到Simulation Parameters下拉菜單的Solver面板並將步長更改爲適當的值。 (請注意,繪圖仍將顯示從1開始的步驟,但稍後結束一步。)

或者,您可以使用變量步長求解器。 (這將顯示步驟完全垂直於1s。)

關於時間延遲,您有比零多3個極點,所以在使用固定步長歐拉時會有3步時間延遲。 改變這種情況的唯一方法是使用不同的求解器。

+0

非常感謝。我將模擬從一個固定的步驟解算器變成了一個像你所建議的那樣的可變步長解算器,並且它可以工作。 – oodan123