通过脚本运行Simulink模型
通过脚本运行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模型相关推荐
- 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(先 ...
- 我想使用Simulink模型模拟期间生成的数据更新我在App Designer中设计的GUI。换句话说,如何从App Designer访问Simulink模型的运行时参数?
1.将使用的Simulink模型命名为"Trial.slx",将使用的App Designer应用命名为"TrialApp.mlapp".从App Design ...
- 【Matlab专题】-01-Matlab使用脚本导入SWC Arxml文件自动生成Simulink模型以及生成C代码
附:"Matlab导入SWC Arxml文件自动生成Simulink模型"脚本!!! 目录 1 在DaVinci Development创建SWC.Runnable.Port 2 ...
- 移花接木,玩转CANoe的几种扩展接口应用(六)——Matlab/Simulink模型
文章目录 前言 Matlab/Simulink模型 连接方法 配置方法 调用方法 分析和应用 总结 前言 见<移花接木,玩转CANoe的几种扩展接口应用(一)--便携式接口设备> 见< ...
- MATLAB脚本调用simulink仿真文件及simulink模块参数修改-load_system函数-sim函数-set_param函数
文章目录 1. load_system 2. sim 3. set_param 4. get_param 5. 应用 1. load_system 加载系统,添加所需要加载的simulink仿真模型所 ...
- matlab模型参数不匹配怎么办,修改Simulink模型后出现初始状态大小不匹配的错误...
本帖最后由 Okeeeey 于 2020-10-19 10:11 编辑 在进行直驱风力发电机阻抗建模时,我想用LCL滤波器代替滤波电感L,于是在simulink中修改模型,修改前后如图1图2所示 VU ...
- python从外部传入参数_从另一个Python脚本运行一个Python脚本,并传入参数 - python...
我想从另一个Python脚本运行一个Python脚本.我想像使用命令行一样传递变量. 例如,我将运行我的第一个脚本,该脚本将遍历值列表(0.1.2.3),并将其传递给第二个脚本,依次为script2. ...
- 【Matlab 控制】批量修改大型 Simulink 模型中模块的属性
批量修改大型 Simulink 模型中模块的属性 一.通过Simulink自带的搜索 二.通过命令行进行搜索替换 三.使用Model Explorer编辑属性 在大型Simulink建模中,需要进行某 ...
- 如何加快Simulink模型的仿真速度
有几种原因可能导致仿真运行速度很慢: 1. 模型中有一个 MATLAB 函数块 :当存在 MATLAB Fcn 模块时,在每个采样时间都会调用 MATLAB 解释器.这会大大降低仿真速度.所以,应尽可 ...
最新文章
- 畸变的单目摄像机标定
- Python for虚幻引擎编辑器工具脚本学习教程
- 台湾国立大学郭彦甫Matlab教程笔记(10) basic plotting下
- BZOJ 1269: [AHOI2006]文本编辑器editor Splay
- SQL创建表格——手写代码
- 基于android平台的24点游戏设计与实现需求分析,基于Android平台的24点游戏设计与实现需求分析_毕业设计论文.doc...
- 第七节:WebApi与Unity整合进行依赖注入和AOP的实现
- ×××linux下vsftp服务器
- 点读笔客户端_新手妈妈如何选购点读笔
- pandas.Series.quantile
- xml字符串转xml对象,xml对象转json对象
- 天池学习赛:工业蒸汽量预测2——特征工程
- c语言for嵌套循环语句,关于for嵌套循环语句的疑问
- 【Java程序设计】运算符与优先级
- Windows核心编程_提权
- datagrid表格序号列
- 【云游戏】携手云流送,让普通终端也可畅享高端游戏画质
- php文字转拼音API接口下载,微擎API 开发之汉字转拼音助手
- 【Java例题】3.6	计算arcsin(x)的值
- 协调世界时转换为GPS周秒