仿真与测试:通过From Workspace模块导入外部数据

本文研究通过From Workspace模块导入外部数据并进行仿真测试的方法。

文章目录

  • 1 仿真外部数据
  • 2 仿真过程
    • 2.1 准备数据
    • 2.2 Simulink仿真
  • 3 总结

1 仿真外部数据

在汽车的电控软件开发中,经常会在公司园区内进行试验或者实车道路试验。在试验的过程中会通过工具软件采集一些数据(如CANape或INCA)并保存到本地。这些数据可以拿回到办公室,在电脑上用Simulink模型仿真,从而分析其中的问题。这时,可以用到From Workspace模块,把测试的数据导入到Matlab中。
仿真与测试:通过From Workspace模块导入外部数据_第1张图片
后面博主会用简单的例子说明这个模块的用法。

2 仿真过程

2.1 准备数据

仿真前,需要拿我们的原始数据,处理成Matlab的时间序列。这里的原始数据可以是各种工具导出的各种文件格式,这里博主用一个简单的EXCEL表格作为演示。

如下图所示,Excel表格中的第一列是时间(Time),第二列是车速(VehicleSpeed)。
仿真与测试:通过From Workspace模块导入外部数据_第2张图片
通过下面的Matlab脚本,将表格里的数据先导入到Matlab的Workspace中。

function ImportData()

[DataList,~,~] = xlsread('demo.xlsx','sheet1');
TimeList = DataList(:,1);
SpeedList = DataList(:,2);
assignin('base','SpeedSeries',timeseries(SpeedList,TimeList));

end

运行以后,会在Workspace中导入一个TimeSeries序列。双击它就可以看到序列的内容,正是导入的EXCEL的内容。
仿真与测试:通过From Workspace模块导入外部数据_第3张图片
现在,就已经把外部文件的数据导入到了Matlab的Workspace中,也就为Simulink中的From Workspace模块做好了准备。

2.2 Simulink仿真

导入好数据到Workspace中以后,就可以以这些数据为输入,在Simulink中仿真我们的控制算法。通常的做法是,把模型中的输入Inport模块全都去掉,换成From Workspace模块。这里博主没有控制算法,就直接使用From Workspace模块和Scope把Workspace中的数据显示成随时间变化的曲线。

1)首先,建立一个空的Simulink模型;

2)拖入一个From Workspace模块,把里面的Data参数改成Matlab工作区的变量名(SpeedSeries),Output Data Type就保持为默认的继承;
仿真与测试:通过From Workspace模块导入外部数据_第4张图片
3)在模型中再添加一个Gain模块和一个Scope模块;
仿真与测试:通过From Workspace模块导入外部数据_第5张图片

4)仿真模型,就可以在Scope中看到工作区中的数据被显示到了Scope中了;
仿真与测试:通过From Workspace模块导入外部数据_第6张图片

3 总结

以上是导入试车测试数据的方法。

>>返回个人博客总目录

你可能感兴趣的:(matlab,simulink)