Simulink中Scope数据保存至Workspace制图

时间:2024-03-08 22:07:59

0 问题

通常情况下,仿真模型中scope波形可编辑程度并不高,尽管高版本MATLAB中已经可以将其直接导出到figure,但效果并不是特别理想。在需要高质量输出波形图场合,就需要将其中数据导出到workspace进行制图

1 方法

1.1 Scope设置

任意打开一个含有Scope的仿真模型,进入View/Configuration Properties/Logging 如下图所示

勾选其中的Log data to workspace,并在Variable name中输入一个名字这里以U为例进行讲解,同时将Save Format选为Structure With Time

1.2 Workspace中画图命令

经过上述设置后,正常运行仿真模型,运行结束后回到Workspace,发现上述变量U已经在其中

此时,我们双击变量U,看到

其中time为时间,即波形图横轴,signals代表信号,这里有1*3结构体,代表有3个信号

这里将三个信号均画在同一张图上,在命令行输入代码如下

%%其中U在使用时替换为Scope中定义的变量名
plot(U.time,U.signals(1).values)
hold on;
plot(U.time,U.signals(2).values)
hold on;
plot(U.time,U.signals(3).values)

执行完成即可生成波形figure文件

然后即可在figure任意编辑波形了!

当然,figure图窗可编辑性仍然存在局限,此时如果希望进一步进行图形编辑,可按照编辑/复制图形粘贴到Visio中,然后右键点击图片组合/取消组合即可任意编辑