Simulink數據保存提取和示波器顯示

Simulink數據保存提取和示波器顯示

在論文時經常會用到比較的方法,而圖表就是展示比較結果的一種比較好的方法,作爲一枚科研小生,在研究方向上經常用到MATLAB,這次就分享一下剛學到的一點使用MATLAB/Simulink中繪製“合成”圖的方法,一點個人經驗,本人原創,如需轉載,請註明出處。

(僅以此例講明方法,如有其它需要請舉一反三)
背景:在不同參數下運行仿真模型,將結果顯示在一個示波器中

操作步驟:
1.
創建Simulink仿真模型
2.
在模型中對需要使用示波器顯示圖形的數據後添加To workspace模塊,如下圖所示:
添加toworkspace


3.
這裏添加多個To workspace模塊的原因是爲了避免因爲模塊命名造成的數據掩蓋問題
所謂數據掩蓋,就是因爲使用同一個To workspace模塊,在保存數據的時候即使使用了不同的命名,但在load時由於是從同一個模塊中保存的數據,造成後load的數據會掩蓋前load的數據
也即下圖所示的情況:
數據掩蓋
左面folder中有兩組共4個數據,在command窗口中load以後,workspace中指出現了兩個數據,原因是隻使用了兩個To workspace模塊,模塊名稱分別爲 Id_Idref 和 Iq_Iqref,保存以後雖然使用不同的命名有4個數據,但load時實際上只有兩個,因爲這4個數據只有兩個模塊屬性 Id_Idref 和 Iq_Iqref


在使用4個To workspace模塊並且分別命名以後,再分別保存數據時就可以區分屬性,如下圖所示:
To workspace模塊屬性

4.
首先使用一組模型參數運行,在主界面中的workspace窗口找到 Id_Idref 和 Iq_Iqref兩個變量,右鍵save as,命名爲1和11,然後換一組模型參數運行,這次保存Id_Idref_0 和 Iq_Iqref_0,命名爲2和22

5.
這裏我用的是一種比較笨的方法,主要是爲了驗證方法的可行性。

  • 關閉所有窗口,重新打開MATLAB,找到上面保存的文件夾,雙擊這4個數據就可以載入到workspace中;
  • 然後在workspace中右鍵數據1(實際上是Id_Idref 這個數據),選擇plot(Id_Idref),就會彈出繪製的圖形;
  • 然後在command窗口鍵入hold on,回車再找到數據2右鍵然後選擇plot(Iq_Iqref)這時候可能圖形中區分並不是很明顯,就需要我們對其中的圖線進行設置,具體設置方法參考另一篇博客內容“對Simulink中scope進行進一步的設置”,設置以後就可以得到類似於下圖的結果
    顯示結果

還可以進一步加圖注如下所示
加圖注


代碼如下

>> clear                        %清空工作區間
>> load('1.mat')                %載入變量數據
>> load('2.mat')
>> load('11.mat')
>> load('22.mat')
>> plot(Id_Idref);figure(gcf);  %繪製曲線
>> hold on                      %保持當前曲線
>> plot(Id_Idref1);figure(gcf); %繪製另外一條曲線疊加,疊加以後可以在圖形顯示窗口修改曲線的顏色加以區分
>> legend('res','comm','ind')   %添加圖注
>> 

如有疑問請直接回復,本人不定期查看回複列表。謝謝支持。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章