日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

matlab传递函数参数辨识,基于matlab/Simulink的参数辨识

發(fā)布時間:2025/3/15 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab传递函数参数辨识,基于matlab/Simulink的参数辨识 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

基于Simulink的辨識 Simulink自帶Parameter Estimation功能。可以對Simulink模型中的參數(shù)進(jìn)行估計(jì)。MATLAB的Parameter Estimation官方說明中有一個電池參辨識的例子(見[Simulink參數(shù)辨識官方示例])。使用Simulink進(jìn)行辨識的步驟為: 1. 建立Simulink模型,將需要辨識的參數(shù)用base workspace中的變量表示。 2. 打開菜單欄中Analysis選項(xiàng)下的Parameter Estimation功能。 3. 打開Transient Data, 導(dǎo)入使用實(shí)驗(yàn)或其他方法得到的輸入、輸出數(shù)據(jù)(由于用不到狀態(tài)數(shù)據(jù)所以不用設(shè)置States)。在這里,輸入數(shù)據(jù)為電池的電流,輸出數(shù)據(jù)為電池的端電壓。由于電池參數(shù)隨SOC而變化,輸入數(shù)據(jù)只能為脈沖放電的那一段數(shù)據(jù),認(rèn)為這段時間內(nèi)電池的SOC沒有太大變化。當(dāng)然也可以將模型建立為與SOC有關(guān)的,但這樣就過于復(fù)雜了。 4. 打開Variables,設(shè)置需要辨識的參數(shù)。在這里可以設(shè)置參數(shù)的初始值、范圍等。由于使用的算法一般只能找到一個局部最優(yōu)解,并不能保證為全局最優(yōu)解,所以初始值的設(shè)置還是比較重要的。對于鋰電池來說,電阻一般為mΩ量級,時間常數(shù)為10s~1000s。 5. 打開Estimation,進(jìn)行參數(shù)估計(jì)的相關(guān)設(shè)置。勾選要用的Data Set和Parameters。使用Estimation Options進(jìn)行估計(jì)算法的設(shè)置。MATLAB提供了幾種優(yōu)化算法,一般選非線性最小方差。比較重要的兩個參數(shù)是參數(shù)截止誤差(Parameter tolerance)和函數(shù)截止誤差(Function tolerance)。只要滿足了兩次迭代的參數(shù)或cost function的不超過截止誤差,迭代就會停止。在Parallel Options中可以選擇啟用parallel pool來進(jìn)行多線程加速,但是有時候會失敗。 6. 點(diǎn)擊Start就可以開始了,勾選Show progress views可以看到仿真輸出和參數(shù)的變化。 7. 按照同樣的方法進(jìn)行其他SOC下的參數(shù)辨識。也可以在Simulink中建立一個模塊,對輸入進(jìn)行篩選,對不同的SOC使用不同的參數(shù)。可以一次性辨識出參數(shù)-SOC的關(guān)系。 這種方法的優(yōu)點(diǎn)是簡單易用。幾乎全部為圖形化操作,不需要寫代碼,只需要搭建好Simulink模型就可以進(jìn)行估計(jì)了,而且?guī)缀蹩梢怨烙?jì)任何線性、非線性的模型。缺點(diǎn)是速度慢、效率低。每次迭代都需要編譯并運(yùn)行仿真程序很多次,這個過程程序十分卡頓。

總結(jié)

以上是生活随笔為你收集整理的matlab传递函数参数辨识,基于matlab/Simulink的参数辨识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。