基于Simulink的数据可视化复现


一次实验中会尽可能多的采集数据,但最终数据处理只会用到一部分,为了进一步解放数据的潜力,需要对采集的信号进行复现以进行二次处理。本文将利用Simulink讲述一种数据可视化复现的流程,挖掘数据隐藏的潜力,从实现高效利用数据的目的。例子复现了两次实验采集的a相电流。

软件

  • MATLAB 2021a

加载mat文件数据至Simulink模型

源代码

%{
此处代码用于重构模型,将mat文件中数据导入Simulink
%}
clear;clc
load('EMF.mat')
ia.signals.values = data{3}.Values.data(10001:20000,1);
Fs=10000;                       %离散系统采样频率,更改采样频率需赋值
Ts = 1/Fs;
L = size(ia.signals.values,1);  %查询size(ia.signals.values)第一个维度的长度,即数据的个数(长度)
t = (0:L-1)*Ts;
ia.time = t;   

至此,数据已加载至工作空间。为了让数据在Simulink中复现,需要使用From workspace模块,并对求解器、仿真步长、仿真时间进行设置。

  • 求解器——Configuration Parameters>Solver selection,设置固定步长、discrete(no continuous states)
  • 仿真步长——Configuration Parameters>Solver details,与加载数据采样时间相同
  • 仿真时间——时间长度不能超过加载数据的时间长度 ,以代码为例,采用频率为10k,截取了10000个点,故仿真时间不能超过1s。

代码演示

在这里插入图片描述

加载csv文件数据至Simulink

源代码

%{
此处代码用于重构模型,将csv文件中数据导入Simulink
%}
clear;clc
AAA = xlsread('tek0014_HFSI_no_load.csv');

ia.signals.values = AAA(21:1000020,2);
Fs=1000000;                       %离散系统采样频率,更改采样频率需赋值
Ts = 1/Fs;
L = size(ia.signals.values,1);  %查询size(ia.signals.values)第一个维度的长度,即数据的个数(长度)
t = (0:L-1)*Ts;
ia.time = t;   

代码演示

在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值