我是靠谱客的博主 明理樱桃,最近开发中收集的这篇文章主要介绍Simulink学习——While语义(一)do-while子系统While语义,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

While语义

 

 

While Iterator Subsystem模块是一个预先配置的 Subsystem模块,可以作为一个起点,用于创建在仿真时间步期间逻辑条件为true时对输入信号的每个元素或子数组重复执行的子系统。其作用基本等效于编程中的while或者是do-while的循环语句。接下来我们来学习一下Simulink中的While语义。

 

 

模块学习

 

在Simulink中加入该模块,

可以看到子系统中,用于while逻辑判断的有两个接口:

双击该模块。可以看到可以实现while与do-while两种操作

 

Help文档中如此描述这两种模式:

 

如果使用While模式,则只有IC输入为True时候才会进行while判断并重复执行子系统。

如果使用do-while模式,则只要con条件输入为True则子系统就会被重复执行。

 

 

案例学习——N以内数字的累加

 

Simulink提供了一个案例帮助我们理解Simulink里面,while子系统是如何作用的:

乍一看,发现看不出来这个模型是如何分别输入1到10进行累加的,好像既没有提供1、2、3、4、5、6、7、8、9、10的输入,也没有提供将10分割成单个数的模块。

但是点击do while模块,可以发现它还附带一个将输入交互数,从1开始输出的功能,因此能够实现出将外部输入的10进行1到10累加的效果。这样就能够都读通这个模型的逻辑啦。

 

临摹学习

 

接下来我们来模仿建一个:

 

首先创建一个逻辑判断模块,将1~N与N进行比较,若小于N则返回True,若大于等于N则返回False

再加入一个累加操作逻辑

设置do-while模块参数,调整最大交互数到大于所设N值,将每次循环后的值状态改为reset,然后将数据输出类型改为double(这个在10累加里可以不改)

 

仿真一下

可以看到结果是对的

 

最后

以上就是明理樱桃为你收集整理的Simulink学习——While语义(一)do-while子系统While语义的全部内容,希望文章能够帮你解决Simulink学习——While语义(一)do-while子系统While语义所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部