Simulink仿真入门到精通(九) Simulink的流控制

9.1 Simulink流控制分类

simulink中流控制时通过自带的模块实现的,包括If else、Switch、For和While4个种类。

9.2 While流控制

while

Simulink仿真入门到精通(九) Simulink的流控制

 

 

Simulink仿真入门到精通(九) Simulink的流控制

 

 

如果条件为真,那么子系统在当前的步长内反复执行,直到达到最大循环次数或者判断条件为假。

Simulink仿真入门到精通(九) Simulink的流控制

 

 

参数标签 功能说明
Maximum number of iteration 最大循环次数
While loop type 循环类型:while/do while
States when starting Held(保持上次状态)/reset(状态恢复默认值)
Show iteration number port 勾选则多出一个输出循环次数的输出端口
Output data type 结合上一个参数使用,为输出循环次数设置数据类型

Simulink仿真入门到精通(九) Simulink的流控制

 

 

Simulink仿真入门到精通(九) Simulink的流控制

 

 

阶跃信号1s阶跃,最大循环次数保持默认值5。

Simulink仿真入门到精通(九) Simulink的流控制

 

第一个步长计数器输出结果为4,因为在第一个循环时,模块执行一次(初始化)输出Unit Delya的初始值为0,然后再执行4次。

在计数达到99时,再执行2次不满足小于等于100的条件,退出循环。

 

do-while

仿真进行时,子系统内模块首先要执行一次,然后再去检查cond输入条件是否为真,如果为真则继续循环,直到cond条件不满足时退出当前步长的仿真,进入下一个步长。

没有IC输入,仅需要cond条件即可反复循环。

9.3 For循环控制

Simulink仿真入门到精通(九) Simulink的流控制

 

 

Simulink仿真入门到精通(九) Simulink的流控制

 

 

Simulink仿真入门到精通(九) Simulink的流控制

 

 

参数标签 功能说明
States when starting 每次循环时保持子系统内的状态或恢复默认
Iteration limit source 循环次数选择从内部限制或外部输入限制
Iteration limit 内部限制时输入的循环次数
Set next i(iteration variable) externally 通过外部输入当前循环的循环变量值
Show iteration variable 选择是否输出循环变量值
Index mode 循环变量的初始值从0/1开始
Iteration variable data type 循环变量输出时的数据类型

 

上一篇:使用MATLAB/simulink与PreScan联合进行基于强化学习的自动驾驶系统设计与仿真


下一篇:11_滞后补偿器_Lag Compensator_Matlab_Simulink