Simulink从0搭建模型07-P8for循环的使用

Simulink从0搭建模型07-P8for循环的使用

  • 今日学习内容
  • 1. For Iterator Subsystem模块介绍
    • 1.1. 累加器
    • 1.2. For Iterator
    • 1.3.小结
  • 2. states介绍
  • 3. Set next i(相当break)
  • 学习心得

今日学习内容

b站视频 【Simulink 0基础入门教程 P8 for循环的使用 For Itrator Subsystem】

1. For Iterator Subsystem模块介绍

For Iterator Subsystem模块:

For Iterator Subsystem内部结构:

在这里插入图片描述

For Iterator 参数设置:

默认是internal(内部迭代),如果选择external(外部迭代),则For Iterator Subsystem内部结构为:

在这里插入图片描述

例1:For Iterator Subsystem内部做一个累加运算。

1.1. 累加器

我们在前面的课中学了累加器。再来回顾一下累加器。

  • 设置好求解器参数。采样时间为10s,Fixed-step size=1s,所以经过一次采样就需要跑10次。

在这里插入图片描述

演示效果:

  1. 当我们按单步运行(跑第0次)即T=0s时,此时还没累加,初始值为输入的常数1.

注:黄色框显示的当前线上输出值,用鼠标单击该线即可。

  1. 当我们再按单步运行(跑第1次)即T=1s时,此时开始累加,输出值为2。

  1. 同理,当我们运行完(跑第10次)即T=10s时,此时累加结束,输出值为11。

观察示波器Scope2:

在这里插入图片描述

1.2. For Iterator

在没有循环的情况下,累加器一次跑完结果为11。现在加入for循环,猜猜结果是多少?

For Iterator 参数设置:

  • Iteration limit source: internal
  • Iteration limit:10

在这里插入图片描述

演示效果:

  1. 单步运行T=0s,此时的输出为10。

  2. 单步运行T=1s(模型循环1次),此时的输出为20.

  3. 全部跑完T=10s(模型循环10次),此时的输出为110.

    在这里插入图片描述

    看看示波器Scope1:

    1.3.小结

    为了对比单个累加器和For Iterator 的关系,把它们2个的波形放在同一示波器Scope3下对比。

    在这里插入图片描述

    迭代10次的波形对比:

    用表格统计如下:

    Tfor_outdelay_out
    0101
    1202
    2303
    3404
    4505
    5606
    6707
    7808
    8909
    910010
    1011011

    思考:Iteration limit设置为20,结果为多少?

    答:220

    验证:

    在这里插入图片描述



2. states介绍

例2:统计数组中大于5的元素的个数展示states设置的影响

在这里插入图片描述

答:数组中大于5的元素的个数为5

分析:For Iterator Subsystem内部模型

根据要求,搭建好的模型如下:

里面用到的主要模块有:For Iterator、Selector、Relational
Operator、Constant、Switch、Add、Delay

其中,For Iterator参数设置:

==注意:==states一定设置为reset。

结果:

  • For Iterator Subsystem内部:

在这里插入图片描述

做到这儿,是不是发现好麻烦啊,更简单的:
在这里插入图片描述

把输入的数和5进行比较,得到大于5的数就为真(1),累计真值,得到结果。

3. Set next i(相当break)

例3:寻找5在数组中的索引。展示set next i的用法。
在这里插入图片描述

For Iterator参数勾选Set next i:

此时发现For Iterator模块的右侧多了一个输入,就是Next_i:

根据需求搭建的模型:
在这里插入图片描述

运行结果:
在这里插入图片描述

当然这里的比较大小中的常数5也可以更改为7,那么就找到数字7的索引为7:

在这里插入图片描述

在这里插入图片描述

其实通过上面的for循环模块搭建,发现不如C语言简单:

for(int i=0; i<10; i++)
  {	
    if (a[i]==5)
     {
 	   index==i;  //打印数组中为5的索引值
	   break;
     }  
  }

学习心得

太不容易了,感觉模块学习很费时间啊,终于到循环了,坚持就是胜利。

这块内容的结尾博主说,使用这个模块的人不是很多,以后我不一定能用上,但本文记录也是为了自己学习复习。

-END-

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/659190.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Power Bi 自定义进度条,圆角框,矩阵图标的实现

最近项目在做Power BI&#xff0c;我总结了几个常用的自定义样式&#xff0c;分享一下做法。 比如我们要实现如图这样的一个样式&#xff1a; 这包含了一个带文字的自定义进度条&#xff0c;矩阵有树型展开以及图标显示&#xff0c;最外面有圆角框包围。我觉得这几个样式出现…

ATA-2021B高压放大器在锂电池超声检测中的应用

锂电池一种高能量密度的电池&#xff0c;已经广泛应用于可穿戴设备、移动电话、笔记本电脑和电动汽车等领域中。然而&#xff0c;其在使用过程中存在着一定的安全隐患&#xff0c;锂电池内部的化学反应和充放电过程可能会导致电池发热&#xff0c;甚至发生燃烧。Aigtek安泰电子…

走进数字艺术的世界:一种创新的艺术表达方式

进入数字时代&#xff0c;计算机将我们生活的方方面面都进行了转化。当然艺术领域也不例外。随着数字技术和计算机程序的发展和普及&#xff0c;“数字艺术”的概念应试而生。那么&#xff0c;所谓的数字艺术到底是什么呢&#xff1f;数字艺术的作用是什么&#xff1f;新手如何…

在项目中集成Web端数据库操作:推荐工具一览

在项目中集成Web端数据库操作&#xff1a;推荐工具一览 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍…

基于分块贝叶斯非局部均值优化(OBNLM)的图像去噪算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 块定义与相似度计算 ​4.2 贝叶斯框架下的加权融合 4.3 加权最小均方误差估计 5.完整程序 1.程序功能描述 基于分块贝叶斯非局部均值优化(OBNLM)的图像去噪算法matlab仿真&#xff0c…

CASS+arcgis实现图斑的分割

1、在CASS中将图形绘制好&#xff0c;待分割图形为闭合线&#xff0c;使用线段将其分割成很多块&#xff0c;如下&#xff1a; 2、保存文件。打开arcgisPro&#xff0c;加载dwg图形&#xff0c;如下&#xff1a; 效果如下&#xff1a; 3、分别将面和线导出&#xff0c;如下&…

FL Studio21.2.5中文版电子音乐制作的强大工具

在当今的数字音乐时代&#xff0c;电子音乐已经成为了全球音乐市场中不可或缺的一部分。越来越多的音乐爱好者开始尝试自己动手创作电子音乐&#xff0c;而FL Studio 21中文版正是为他们量身打造的一款强大工具。作为一个音频制作爱好者&#xff0c;我深知一个好的数字音频工作…

LeetCode热题100 Day1——双指针

双指针 移动零11. 盛最多水的容器 移动零 思路&#xff1a; 双指针i&#xff0c;j&#xff0c;j指针遍历数组&#xff0c;i指针存放非0元素。遍历结束后&#xff0c;i指针及其后面的一定是0,就再将空出来的位置设置为0 移动零 class Solution {public void moveZeroes(int[] …

PPT忘记保存?教你如何轻松恢复

在日常办公中PPT文件作为主流文档格式&#xff0c;承载着我们大量的工作成果。然而当不小心误点了“不保存”按钮&#xff0c;或是遭遇软件崩溃等意外情况导致文档丢失时&#xff0c;文件内容是否还能够能恢复&#xff0c;往往成为我们最关心的问题。本文将为您提供五大免费且实…

Centos安装nvm管理node版本(让安装变得可控又快捷)

Centos安装nvm管理node版本&#xff08;让安装变得可控又快捷&#xff09; 没有找到一个对的人&#xff0c;有可能是你没有走对那条路&#xff0c;也有可能是你没有睁开眼睛&#xff0c;而更大的可能是&#xff0c;你根本就没有出发去找。 安装说明 nvm安装目录&#xff1a;/us…

vue项目出现多次ElMessage

问题&#xff1a; 解决方法&#xff1a; let message null if (message null) { message ElMessage.error(“登录过期,请重新登录”); } 最终效果&#xff1a;只出现一个弹框

N进制计数器【02】

大容量N进制计数器 集成计数器容量的扩展 集成计数器级联扩展容量 【例1】由两片 74LS161 级联组成 256 进制&#xff08;8位二进制&#xff09;同步加法计数器 【解】级联时&#xff0c;外加时钟信号同时接到各片计数器的时钟输入端&#xff0c;用前级计数器的进位输出 C…

蓝硕硬盘数据恢复方法详解:安全、高效的解决方案

在数字化时代&#xff0c;硬盘作为我们存储和传输数据的重要载体&#xff0c;其数据安全性显得尤为重要。然而&#xff0c;无论是由于误操作、硬件故障还是病毒攻击&#xff0c;硬盘数据丢失的风险始终存在。蓝硕硬盘作为市场上的一款知名产品&#xff0c;其数据恢复同样是我们…

突破空间限制,这些远程控制软件为父母送上“手把手”的教导,解决异地办公难题,出差无忧

在现代社会&#xff0c;科技的飞速发展带来了诸多便利&#xff0c;但同时也给一些年长的父母们带来了困扰。 当父母们面对智能手机电脑等高科技产品时&#xff0c;他们往往感到无所适从&#xff0c;而子女们忙于工作、学习或其他原因&#xff0c;常常无法时刻陪伴在父母身边&a…

【Unity iOS打包】Library not loaded: ‘@rpath/AdjustSdk.framework/AdjustSdk‘

Unity打包iOS&#xff0c;XCode运行App黑屏卡死&#xff0c;报错&#xff1a; dyld[8412]: Library not loaded: rpath/AdjustSdk.framework/AdjustSdkReferenced from: /private/var/containers/Bundle/Application/C019F943-138F-4B33-AAC1-F18453F942D9/AnimalsBAMBAM.app/…

手写promise、call、apply、debounce、throttle 等

1、promise 1.1 实现resolve和reject class MyPromise {// 构造方法constructor(executor) {// 初始化值this.initValue()// 初始化this指向this.initBind()try {// 执行传进来的函数executor(this.resolve, this.reject)} catch (e) {// 捕捉到错误直接执行rejectthis.rejec…

Gartner发布评估威胁情报计划有效性指南:评估威胁情报有效性的四个步骤

许多组织都在努力实施 TI 并评估其价值。安全和风险管理领导者必须使用优先情报要求来评估其 TI 计划的有效性&#xff0c;并根据其组织战略完善该计划。 主要发现 尽管许多组织已将威胁情报 (TI) 纳入其安全计划&#xff0c;但他们很难评估其性能、成熟度以及在相关产品和服务…

再次疾呼:一稿多投是作者的合法权利!

近日&#xff0c;有作者反应在收到拒稿邮件之后另投他刊&#xff0c;竟然被判定一稿多投。 出版社解释说现在大多数期刊都是使用投稿系统收稿&#xff0c;如果被退稿后马上又投稿其他期刊&#xff0c;由于时间距离太近&#xff0c;仍然会被系统判定为一稿多投的。核心期刊编辑…

深入探索C++继承机制:从概念到实践的全面指南

目录 继承的概念及定义 继承的概念 继承的定义 定义格式 继承方式和访问限定符 继承基类成员访问方式的变化 默认继承方式 基类和派生类对象赋值转换 继承中的作用域 派生类的默认成员函数 继承与友元 继承与静态成员 继承的方式 菱形虚拟继承 菱形虚拟继承原理 继承…

「盘点」JetBrains IDEs v2024.1新功能一览,更智能的开发体验!

JetBrains IDEs日前正式发布了v2024.1版本&#xff0c;此版本中最大的亮点就是带来了AI赋能的全行代码补全&#xff0c;同时在最新的IDEs中重做了终端、拥有更强大的代码编辑和导航功能、更智能的代码分析和提示、更优化的性能、更丰富的插件和集成等。总的来说&#xff0c;Jet…