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.mzph.cn/pingmian/18747.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于 Coze 从 0-1 搭建专属 小白的Bot 机器人

基于 Coze 从 0-1 搭建专属 小白的Bot 机器人 ​ 作为一个GIS从业人员&#xff0c;对于AI的使用是必不可少的&#xff0c;在过去的一两年里各种大模型频出&#xff0c;AI技术已经成为GIS领域的一项重要工具&#xff0c;为我们提供了许多强大的功能和解决方案。看到好文章都在介…

【Android】【netd】网络相关调试技巧

网络调试技巧总结 ifconfig ifconfig 查看网卡信息 ifconfig -S tcpdump tcpdump -i any -n icmp 查看流量出入ip addr 上面的log 以及ifcong -S 信息可以知道&#xff0c;当前是从wlan0 网卡请求数据。 iptable iptable 部分指令 //禁止www.baidu.com 网址流量进入&a…

2024广东省赛 G.Menji 和 gcd

题目 #include <bits/stdc.h> using namespace std; #define int long long #define pb push_back #define fi first #define se second #define lson p << 1 #define rson p << 1 | 1 #define ll long long const int maxn 1e6 5, inf 1e12, maxm 4e4 …

Codeforces Round 909 (Div. 3) E. Queue Sort(模拟 + 贪心之找到了一个边界点)

弗拉德找到了一个由 n 个整数组成的数组 a &#xff0c;并决定按不递减的顺序排序。 为此&#xff0c;弗拉德可以多次执行下面的操作&#xff1a; 提取数组的第一个元素并将其插入末尾&#xff1b; 将个元素与前一个元素对调&#xff0c;直到它变成第一个元素或严格大于前一个…

国际常用的编程博客网址:技术资源与学习平台

常用的编程博客网址&#xff1a;技术资源与学习平台 引言 编程博客是开发者获取最新技术资讯、学习编程知识、分享个人经验的重要平台。以下是一些广受推崇的编程博客网址&#xff0c;它们覆盖了从前端到后端、从理论到实践的各个方面。 编程博客集合 Medium - Programming …

【测评】雨云香港三区云服务器,2核2G 5兆,仅需38元/月

写在前面 雨云香港三区云服务器&#xff0c;高性能的 AMD EPYC 处理器 企业级 NVME SSD 高性能云服务器。2核2G 10兆 400G防御&#xff0c;仅需38元/月&#xff0c;年付7折仅 319.2元/年。 官网&#xff1a;https://www.rainyun.com 本次测评服务器配置如下&#xff1a; C…

2023 年网络等级保护考试题库及答案

一、单项选择题 1.在等保 1.0 的根本要求中&#xff0c;网络设备防护的内容归属于网络安全&#xff0c;在等保 2.0 中将其归属到〔〕。 A 安全通信网络 B 安全区域边界 C 安全计算环境 D 安全治理中心 答案&#xff1a;c 2.应成立指导和治理网络安全工作的委员会或领导小组&…

局域网,广域网,WLAN,WiFi,互联网(Internet)

文章目录 前言局域网&#xff08;Local Area Network, LAN&#xff09;特点 广域网&#xff08;Wide Area Network, WAN&#xff09;WLAN&#xff08;Wireless Local Area Network&#xff09;WiFi互联网&#xff08;Internet&#xff09;联系与比较总结 前言 网络知识介绍 局…

【JavaScript】P1 JavaScript 是什么、其组成

1.1 JavaScript 是什么 JavaScript 是一种运行在浏览器的编程语言&#xff0c;用于实现人机交互效果。其作用包含&#xff1a; 监听用户行为并指导网页做出反馈。针对表单数据进行合法性验证。获取后台数据&#xff0c;渲染到前端界面。服务器编程&#xff0c;最后端的事情&a…

什么是老板和工程师都喜欢的FMEA?——FMEA软件

免费试用FMEA软件-免费版-SunFMEA 在企业管理与工程技术领域&#xff0c;FMEA&#xff08;潜在失效模式与效应分析&#xff09;早已不仅仅是一个概念或工具&#xff0c;它更是一种思维方式和团队协作的精髓。那么&#xff0c;究竟什么才是老板和工程师都喜欢的FMEA呢&#xff…

类文件接口和虚拟机加载机制

这里写目录标题 Class类文件的结构1&#xff09;魔数与Class文件的版本2&#xff09;常量池3&#xff09;访问标志4&#xff09;类索引、父类索引与接口索引集合5&#xff09;字段表集合6&#xff09;方法表集合7&#xff09;属性表集合 类加载机制加载验证1&#xff09;文件格…

安卓ADB通过WIFI无线连接手机[通过无线安装APK]

安卓ADB通过无线连接手机 本文摘录于&#xff1a;https://www.cnblogs.com/zhuxibo/p/14261117.html只是做学习备份之用&#xff0c;绝无抄袭之意&#xff0c;有疑惑请联系本人&#xff01; 别人给的操作确实可行,我这里实操记录如下: AdministratorpiaoranPC MINGW64 /e/Wor…

基于h5和大数据的游戏数据型网站-计算机毕业设计源码30844

摘 要 在目前的形势下&#xff0c;科技力量已成为我国的主要竞争力。而在科学技术领域&#xff0c;计算机的使用逐渐达到成熟&#xff0c;无论是从国家到企业再到家庭&#xff0c;计算机都发挥着其不可替代的作用&#xff0c;可以说计算机的可用领域遍及生活、工作的各个方面。…

找到可靠的APP外包开发公司

找到可靠的APP外包开发公司需要经过一系列细致的筛选和评估。以下是寻找和选择一家合适的APP外包开发公司的步骤和注意事项。选择一家可靠的APP外包开发公司需要经过详细的研究和多方面的评估&#xff0c;确保公司能够满足项目需求并提供高质量的服务。北京木奇移动技术有限公司…

【乐吾乐3D可视化组态编辑器】灯光

灯光 在场景属性中&#xff0c;我们介绍了HDR&#xff0c;它的作用是为场景提供环境光&#xff0c;如果网格设置了PBR材质&#xff0c;那么网格表面就会反射出光照效果。这是为场景提供环境光的手段之一&#xff0c;但是它也有缺陷&#xff0c;一是只对PBR材质有效&#xff0c…

实用新型专利申请被驳回原因

实用新型专利作为知识产权的重要组成部分&#xff0c;对推动技术创新和产业发展具有重要意义。然而&#xff0c;在申请实用新型专利的过程中&#xff0c;有时会遇到被驳回的情况。 实用新型专利被驳回的一个常见原因是技术方案不具备新颖性、创造性和实用性等专利授权条件。专利…

LLama学习记录

学习前&#xff1a; 五大问题&#xff1a; 为什么SwiGLU激活函数能够提升模型性能&#xff1f;RoPE位置编码是什么&#xff1f;怎么用的&#xff1f;还有哪些位置编码方式&#xff1f;GQA&#xff08;Grouped-Query Attention, GQA&#xff09;分组查询注意力机制是什么&…

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

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

JS中运算符详解

一&#xff1a;赋值运算符 1 类型 、、-、*、/等 2 如何运行 &#xff0c;是将等号右边的数赋值给左边以为例&#xff0c;let num 5&#xff1b;num2等价于numnum2 二&#xff1a;一元运算符 1 自增运算符 什么是一元运算符 只需要一个操作数就可以运算的运算符 &#x…

LeetCode 377.组合总和Ⅳ

这题是我蠢了&#xff0c;它说是组合数我就信了&#xff0c;言尽于此 class Solution { public:int combinationSum4(vector<int>& nums, int target) {vector<int> dp(2000,0);dp[0]1;for(int i0;i<target;i){for(int j0;j<nums.size();j){if(i>nums…