通过脚本运行Simulink模型

在MATLAB中,通过脚本启动simulink模型。将测试用例写入excel表格中,通过脚本读取测试用例的输入与期望输出,自动运行simulink模型,将模型输出结果与期望结果进行比较,输出测试结果,将测试结果写入excel,从而实现模型的功能测试。

测试模型如下:

测试用例如下:

对模型进行一些设置,将模型输入与workspace中的数据关联起来:

编写脚本如下:

clc
clear
% model setting
[num, txt] = xlsread('testcase.xlsx');
input1 = num(1:end,2);
input2 = num(1:end,3);
% auto script
step_size = 0.01;
stop_time = step_size*(size(input1,1) - 1);
t = [0:step_size:stop_time]';
InportInfo=find_system('test01','FindAll','On','SearchDepth',1,'BlockType','Inport');
Name_Inports = get(InportInfo,'Name');
OutportInfo = find_system('test01','SearchDepth',1,'BlockType','Outport');
InportDimen = size(InportInfo,1);
OutportDimen = size(OutportInfo,1);
u(:,1) = input1;
u(:,2) = input2;
simout = sim('test01', 'SolverType', 'Fixed-step',...'Solver', 'ode4',...'FixedStep', num2str(step_size),...'StopTime', num2str(stop_time),...'LoadExternalInput','on');
stairs(get(simout,'tout'),simout.yout{1}.Values.Data)
for i = 1:size(input1,1)ResultJudge(i) = (num(i,4)== simout.yout{1}.Values.Data(i));if ResultJudge(i) == 1ResultOutput(i) = "TRUE";elseResultOutput(i) = "FALSE"; end
end
xlswrite('testcase.xlsx',ResultOutput','Sheet1','E2');

运行脚本,结果如下:

通过脚本运行Simulink模型相关推荐

  1. MATLAB运行simulink模型显示找不到库Failed to load library ‘lib_Cmtrl_SetPoint_TMATS‘reference by ‘ ‘

    MATLAB运行simulink模型显示找不到库Failed to load library 'lib_Cmtrl_SetPoint_TMATS'reference by ' '   AGTF30(先 ...

  2. 我想使用Simulink模型模拟期间生成的数据更新我在App Designer中设计的GUI。换句话说,如何从App Designer访问Simulink模型的运行时参数?

    1.将使用的Simulink模型命名为"Trial.slx",将使用的App Designer应用命名为"TrialApp.mlapp".从App Design ...

  3. 【Matlab专题】-01-Matlab使用脚本导入SWC Arxml文件自动生成Simulink模型以及生成C代码

    附:"Matlab导入SWC Arxml文件自动生成Simulink模型"脚本!!! 目录 1 在DaVinci Development创建SWC.Runnable.Port 2 ...

  4. 移花接木,玩转CANoe的几种扩展接口应用(六)——Matlab/Simulink模型

    文章目录 前言 Matlab/Simulink模型 连接方法 配置方法 调用方法 分析和应用 总结 前言 见<移花接木,玩转CANoe的几种扩展接口应用(一)--便携式接口设备> 见< ...

  5. MATLAB脚本调用simulink仿真文件及simulink模块参数修改-load_system函数-sim函数-set_param函数

    文章目录 1. load_system 2. sim 3. set_param 4. get_param 5. 应用 1. load_system 加载系统,添加所需要加载的simulink仿真模型所 ...

  6. matlab模型参数不匹配怎么办,修改Simulink模型后出现初始状态大小不匹配的错误...

    本帖最后由 Okeeeey 于 2020-10-19 10:11 编辑 在进行直驱风力发电机阻抗建模时,我想用LCL滤波器代替滤波电感L,于是在simulink中修改模型,修改前后如图1图2所示 VU ...

  7. python从外部传入参数_从另一个Python脚本运行一个Python脚本,并传入参数 - python...

    我想从另一个Python脚本运行一个Python脚本.我想像使用命令行一样传递变量. 例如,我将运行我的第一个脚本,该脚本将遍历值列表(0.1.2.3),并将其传递给第二个脚本,依次为script2. ...

  8. 【Matlab 控制】批量修改大型 Simulink 模型中模块的属性

    批量修改大型 Simulink 模型中模块的属性 一.通过Simulink自带的搜索 二.通过命令行进行搜索替换 三.使用Model Explorer编辑属性 在大型Simulink建模中,需要进行某 ...

  9. 如何加快Simulink模型的仿真速度

    有几种原因可能导致仿真运行速度很慢: 1. 模型中有一个 MATLAB 函数块 :当存在 MATLAB Fcn 模块时,在每个采样时间都会调用 MATLAB 解释器.这会大大降低仿真速度.所以,应尽可 ...

最新文章

  1. 畸变的单目摄像机标定
  2. Python for虚幻引擎编辑器工具脚本学习教程
  3. 台湾国立大学郭彦甫Matlab教程笔记(10) basic plotting下
  4. BZOJ 1269: [AHOI2006]文本编辑器editor Splay
  5. SQL创建表格——手写代码
  6. 基于android平台的24点游戏设计与实现需求分析,基于Android平台的24点游戏设计与实现需求分析_毕业设计论文.doc...
  7. 第七节:WebApi与Unity整合进行依赖注入和AOP的实现
  8. ×××linux下vsftp服务器
  9. 点读笔客户端_新手妈妈如何选购点读笔
  10. pandas.Series.quantile
  11. xml字符串转xml对象,xml对象转json对象
  12. 天池学习赛:工业蒸汽量预测2——特征工程
  13. c语言for嵌套循环语句,关于for嵌套循环语句的疑问
  14. 【Java程序设计】运算符与优先级
  15. Windows核心编程_提权
  16. datagrid表格序号列
  17. 【云游戏】携手云流送,让普通终端也可畅享高端游戏画质
  18. php文字转拼音API接口下载,微擎API 开发之汉字转拼音助手
  19. 【Java例题】3.6 计算arcsin(x)的值
  20. 协调世界时转换为GPS周秒

热门文章

  1. Open3d点云对象详解
  2. mx2 sd卡修复方法
  3. 小米手机如何把数据备份到电脑上?目前可行的备份方案有哪些?附【多种方法助力小米(安卓)手机提升速度。】
  4. 注册商标申请提交材料
  5. ubuntu下共享WIFI
  6. 神技巧!在Python类初始化时进行四种暗箱操作!
  7. swoole+websocket+redis实现一对一聊天
  8. 海报创意|十月的节日热点:国庆、重阳和万圣节
  9. 坎坷的2018,2019王者荣耀要借电竞还魂?
  10. YouDontKnowJS 小黄书学习小结(闭包与this)