Simulink数据保存提取和示波器显示

Simulink数据保存提取和示波器显示

在论文时经常会用到比较的方法,而图表就是展示比较结果的一种比较好的方法,作为一枚科研小生,在研究方向上经常用到MATLAB,这次就分享一下刚学到的一点使用MATLAB/Simulink中绘制“合成”图的方法,一点个人经验,本人原创,如需转载,请注明出处。

(仅以此例讲明方法,如有其它需要请举一反三)
背景:在不同参数下运行仿真模型,将结果显示在一个示波器中

操作步骤:
1.
创建Simulink仿真模型
2.
在模型中对需要使用示波器显示图形的数据后添加To workspace模块,如下图所示:
Simulink数据保存提取和示波器显示_第1张图片


3.
这里添加多个To workspace模块的原因是为了避免因为模块命名造成的数据掩盖问题
所谓数据掩盖,就是因为使用同一个To workspace模块,在保存数据的时候即使使用了不同的命名,但在load时由于是从同一个模块中保存的数据,造成后load的数据会掩盖前load的数据
也即下图所示的情况:
Simulink数据保存提取和示波器显示_第2张图片
左面folder中有两组共4个数据,在command窗口中load以后,workspace中指出现了两个数据,原因是只使用了两个To workspace模块,模块名称分别为 Id_Idref 和 Iq_Iqref,保存以后虽然使用不同的命名有4个数据,但load时实际上只有两个,因为这4个数据只有两个模块属性 Id_Idref 和 Iq_Iqref


在使用4个To workspace模块并且分别命名以后,再分别保存数据时就可以区分属性,如下图所示:
Simulink数据保存提取和示波器显示_第3张图片

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进行进一步的设置”,设置以后就可以得到类似于下图的结果
    Simulink数据保存提取和示波器显示_第4张图片

还可以进一步加图注如下所示
Simulink数据保存提取和示波器显示_第5张图片


代码如下

>> 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')   %添加图注
>> 

如有疑问请直接回复,本人不定期查看回复列表。谢谢支持。

你可能感兴趣的:(Simulink仿真,MATLAB,示波器使用)