【Simulink】示波器图形数据导入Matlab重新绘图的简明教程(论文)

简介: 【Simulink】示波器图形数据导入Matlab重新绘图的简明教程(论文)

版本:Matlab2019b

1. 效果

示波器波形图片:

黑色背景,而且坐标轴字体较小,不方便修改,不能直接用在论文上面

对比 Matlab 绘图:

接下来介绍如何设置~

2. Simulink 设置波形数据导出

选择需要导入的示波器数据

点击 View > Configuration Properties … > Logging

Logging 页面中,勾选 Log data to workspace

变量名称 Variable name 可以自己定,保存格式 Save format 选择 Structure With Time,如果需要记录时间数据的话,不需要的可以直接选 Structure With Time ,最后点击 OK

然后运行一下 Simulink 文件,名为 ScopeData 的数据就会出现在 Matlab 工作区。

3. Matlab 绘图代码

3.1 绘制基本波形图

双击工作区的 ScopeData 数据,可以看到:

除了模块名称 blockName 之外,还有时间变量 time 和 信号 signals ,signals 双击之后显示:

我们绘图的数据来源于 ScopeData.signals.values

直接在 Matlab 输入

plot(ScopeData.signals.values)

显示:

波形大体是对的,但是没有加入时间轴,所以再进一步修改为:

plot(ScopeData.time, ScopeData.signals.values)

显示:

和 Simulink 示波器的波形对比:

波形是一致的,而且 Matlab 绘图可以进一步编辑 Simulink 示波器导出的图像数据。

还有一种比较简单的方法是选中工作区的变量,然后在主菜单上的绘图中选择plot,自动画出波形图,并且生成绘图的基本代码。

3.2 添加波形信息

添加横纵坐标、标题:

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

添加细节图(局部放大):

axes('Position',[0.35,0.75,0.15,0.15]); 
plot(ScopeData.time,ScopeData.signals.values,'b');                                                                                                      
xlim([0.02, 0.03]);
ylim([5,10]);

整体代码:

plot(ScopeData.time, ScopeData.signals.values)
xlabel('Time(seconds)');
ylabel('Current(A)');
ylim([-20,30]);
title('Current waveform');
axes('Position',[0.35,0.75,0.15,0.15]); 
plot(ScopeData.time,ScopeData.signals.values,'b');                                                                                                       
xlim([0.02, 0.03]);
ylim([5,10]);

3.3 多组波形数据

比如波形图包含两组数据

y1=ScopeData2.signals(1).values;
y2=ScopeData2.signals(2).values;

两组数据可以绘制在同一张图内。

4. 修改图片属性

绘图之后,还有很多细节(比如颜色、字体、大小等)可以通过 Matlab 代码(附加参数)进行修改,也可以把波形图导入其他软件,比如 illustrator、Affinity Designer 进行美化处理。

一个比较简单的方法是点击属性检查器,直接调整属性参数:

修改前:

调整字体为 Times New Roman,修改字体大小、柱形颜色和边框粗细。

修改后:

采用 Affinity Designer 进行美化之前,需要把 matlab 图像导出成 eps 文件形式,再进行美化。

相关文章
|
2月前
|
传感器 机器学习/深度学习 算法
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)
221 1
|
2月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
325 0
|
2月前
|
机器学习/深度学习 算法 安全
【图像处理】使用四树分割和直方图移动的可逆图像数据隐藏(Matlab代码实现)
【图像处理】使用四树分割和直方图移动的可逆图像数据隐藏(Matlab代码实现)
159 2
|
1月前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
112 0
|
2月前
|
监控
基于MATLAB/Simulink的单机带负荷仿真系统搭建
使用MATLAB/Simulink平台搭建一个单机带负荷的电力系统仿真模型。该系统包括同步发电机、励磁系统、调速系统、变压器、输电线路以及不同类型的负荷模型。
441 5
|
1月前
|
存储 监控 并行计算
目标跟踪中常用点迹航迹数据关联算法的MATLAB实现
通过计算测量点与预测点之间的欧氏距离,选择最近邻点进行关联,适用于单目标跟踪场景。
|
2月前
|
传感器 机器学习/深度学习 算法
【室内导航通过视觉惯性数据融合】将用户携带的智能手机收集的惯性数据与手机相机获取的视觉信息进行融合研究(Matlab代码实现)
【室内导航通过视觉惯性数据融合】将用户携带的智能手机收集的惯性数据与手机相机获取的视觉信息进行融合研究(Matlab代码实现)
153 2
|
2月前
|
机器学习/深度学习 算法 算法框架/工具
【利用母船和牵引风箬在飞行中回收微型飞行器(MAVs)的方法】使用高斯原理推导了电缆-风箬系统的动力学模型(Matlab、Simulink仿真实现)
【利用母船和牵引风箬在飞行中回收微型飞行器(MAVs)的方法】使用高斯原理推导了电缆-风箬系统的动力学模型(Matlab、Simulink仿真实现)
284 5
|
2月前
|
算法 数据挖掘 定位技术
基于密度的聚类算法能够在含有噪声的数据集中识别出任意形状和大小的簇(Matlab代码实现)
基于密度的聚类算法能够在含有噪声的数据集中识别出任意形状和大小的簇(Matlab代码实现)
|
2月前
|
传感器 算法 机器人
【IMU数据与GPS融合的预积分方法】基于流形的IMU预积分,用于高效的视觉惯性最大后验估计、SE3姿势区分为IMU(Matlab代码实现)
【IMU数据与GPS融合的预积分方法】基于流形的IMU预积分,用于高效的视觉惯性最大后验估计、SE3姿势区分为IMU(Matlab代码实现)
138 4

热门文章

最新文章

下一篇
oss云网关配置