簡體   English   中英

從Simulink到Matlab的采樣頻率

[英]Sampling frequency from Simulink to Matlab

我正在使用Matlab從simulink運行simulink模型。 我的系統主要在matlab中,但是我運行slx文件並導出要在matlab中使用的輸出。 模擬運行48秒(1秒代表一個小時)。 當我獲得輸出時,我期望它的質量與在simulink中查看時的質量相同,但事實並非如此。 這是我的數據在simulink中的示例:

在此處輸入圖片說明

這是我在Matlab中繪制時的樣子(導出時樣本數變為307)

在此處輸入圖片說明

我試圖更改simulink中的步長或更改求解器,但這使simulink輸出失真,如下所示。

在此處輸入圖片說明

我的求解器是ode45,如何控制數據的采樣頻率,以便在將其導出到matlab之后不會得到不同的分辨率。 PS導出后,我將對數據進行插值,以便在幾個小時之間獲取樣本(每分鍾而不是每個小時獲取一個樣本)。 如果我可以通過更改步長立即完成操作,那將是完美的。

按照您的建議,當我將其繪制為時間而不是樣本時,便得到了該圖

在此處輸入圖片說明

謝謝

您正在使用可變步長求解器(ODE45),因此很有可能無法獲得一致的采樣頻率。

確保/控制采樣頻率的唯一方法是使用固定步長求解器(例如ode4)。

但是,關於為什么Simulink示波器和繪圖數據之間的數據看起來不同的原因,對於可變時步求解器,存在優化因子 (配置參數->數據導入/導出->附加參數)。 默認情況下將其設置為1。將其設置為100,您將獲得外觀更加一致的樣品密度。

關於精煉系數應該知道些什么?

  • 為了獲得更平滑的輸出並具有更好的時間分辨率,更改精簡系數而不是減小步長要快得多。
  • 當細化因子更改時,求解器通過評估在這些點處的連續擴展公式來生成其他點。
  • 優化因子適用於可變步長求解器,在使用ode45時最有用。
  • 通常,值為4會產生更平滑的結果。

https://blogs.mathworks.com/simulink/2009/07/14/refining-the-output-of-a-simulation/ https://uk.mathworks.com/help/simulink/gui/refine-factor。 html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM