概述
本文研究通过From Workspace模块导入外部数据并进行仿真测试的方法。
文章目录
- 1 仿真外部数据
- 2 仿真过程
- 2.1 准备数据
- 2.2 Simulink仿真
- 3 总结
1 仿真外部数据
在汽车的电控软件开发中,经常会在公司园区内进行试验或者实车道路试验。在试验的过程中会通过工具软件采集一些数据(如CANape或INCA)并保存到本地。这些数据可以拿回到办公室,在电脑上用Simulink模型仿真,从而分析其中的问题。这时,可以用到From Workspace模块,把测试的数据导入到Matlab中。
后面博主会用简单的例子说明这个模块的用法。
2 仿真过程
2.1 准备数据
仿真前,需要拿我们的原始数据,处理成Matlab的时间序列。这里的原始数据可以是各种工具导出的各种文件格式,这里博主用一个简单的EXCEL表格作为演示。
如下图所示,Excel表格中的第一列是时间(Time),第二列是车速(VehicleSpeed)。
通过下面的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的内容。
现在,就已经把外部文件的数据导入到了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就保持为默认的继承;
3)在模型中再添加一个Gain模块和一个Scope模块;
4)仿真模型,就可以在Scope中看到工作区中的数据被显示到了Scope中了;
3 总结
以上是导入试车测试数据的方法。
>>返回个人博客总目录
最后
以上就是玩命宝马为你收集整理的仿真与测试:通过From Workspace模块导入外部数据1 仿真外部数据2 仿真过程3 总结的全部内容,希望文章能够帮你解决仿真与测试:通过From Workspace模块导入外部数据1 仿真外部数据2 仿真过程3 总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复