问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Simulink示波器数据在Matlab中的导出与重绘教程

创作时间:
作者:
@小白创作中心

Simulink示波器数据在Matlab中的导出与重绘教程

引用
CSDN
1.
https://blog.csdn.net/weixin_43470383/article/details/130857218

在科研和工程实践中,经常需要对Simulink仿真结果进行进一步的数据处理和可视化。本文将详细介绍如何将Simulink示波器中的波形数据导出,并在Matlab中进行重新绘制和美化,以满足论文发表或报告展示的需求。

效果对比

首先来看一下Simulink示波器默认导出的图片效果:

可以看到,这种黑色背景的示波器截图不仅背景颜色单一,而且坐标轴字体较小,整体美观度和可读性都不高,不适合直接用于论文或报告中。

相比之下,通过Matlab重新绘制的图像则更加专业和美观:

接下来,我们将详细介绍如何实现这种效果。

Simulink设置波形数据导出

  1. 打开Simulink模型,选择需要导出数据的示波器模块
  2. 点击菜单栏的View -> Configuration Properties... -> Logging
  3. 在Logging页面中,勾选Log data to workspace
  4. 设置变量名称(例如ScopeData),并选择保存格式:
  • 如果需要记录时间数据,选择Structure With Time
  • 如果不需要时间数据,可以选择Structure

运行Simulink模型后,导出的数据将会出现在Matlab的工作区中。

Matlab绘图代码

绘制基本波形图

在Matlab中,可以通过以下步骤绘制基本波形图:

  1. 双击工作区中的ScopeData变量,查看其结构
  2. 使用plot函数绘制波形:
    plot(ScopeData.time, ScopeData.signals.values)
    

添加波形信息

为了使图表更加专业,可以添加横纵坐标、标题等信息:

plot(ScopeData.time, ScopeData.signals.values)
xlabel('Time(seconds)');
ylabel('Current(A)');
ylim([-20,30]);
title('Current waveform');

处理多组波形数据

如果示波器中包含多组数据,可以分别读取并绘制:

y1 = ScopeData2.signals(1).values;
y2 = ScopeData2.signals(2).values;
plot(ScopeData.time, y1);
hold on;
plot(ScopeData.time, y2);

图片属性的进一步修改

绘图完成后,可以通过以下方式进一步优化图片属性:

  1. 直接在Matlab中通过代码调整参数
  2. 使用属性检查器进行交互式调整
  3. 将图片导出为EPS格式,然后在Illustrator或Affinity Designer等专业软件中进一步美化

通过以上步骤,你可以将Simulink中的示波器数据导出并在Matlab中绘制出专业、美观的波形图,从而提升科研和工程报告的质量。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号