0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于实现逻辑循环的方法分析和介绍

MATLAB 来源:djl 作者:柚籽 2019-09-17 11:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

C代码中常用的循环控制语句有诸如for 、while以及do while。那么,这种循环逻辑在Simulink模型中是如何实现的呢?

Simulink里有三种建模手段:

Simulink 框图

Stateflow Chart

MATLAB Function

先来看看如何使用Simulink 框图来表达这种循环逻辑。

点击末尾的 “阅读原文” 下载本文的案例模型

循环逻辑

要得到:

y1 = 0;

for(inx = 0; inx <10; inx++)

{

y1 = u1[inx] + y1;

}

或者

while(flag && (num_iter <= 100)

{

flag = func ();

num_iter ++;

}

怎么做:

在 Simulink的Port & Subsystem库里,有IF-ELSE以及While模块。

For循环实例

1. 新建一个简单的Simulink模型

首先来看For循环,这是从Port & Subsystem库里拖出来的For Iterator模块:

关于实现逻辑循环的方法分析和介绍

双击它,搭建内部如下图:

关于实现逻辑循环的方法分析和介绍

代码生成之前所需要的配置、数据对象的构造以及信号关联等等,这些任务与之前所述一样,此处就不再重复说了。

5. 生成代码

Ctrl+B,生成代码。

如前面所设置的,可以看到下图所生成的For循环的C代码:

关于实现逻辑循环的方法分析和介绍

While循环实例

在Port & Subsystem库里的While Iterator模块,实现while循环的功能。从这个模型的端口来看,在这个循环里根据输入u2来计算输出y2的值,如下图。

关于实现逻辑循环的方法分析和介绍

在这个While Iterator子系统内部,则是具体的while循环的内容,如下图。

While Iterator模块,是这个循环的条件模块,可以设置最大的循环次数,同时cond为while的循环条件。而在上部的累加计算框图,则是 while 循环的内容。

关于实现逻辑循环的方法分析和介绍

生成代码,如下图。图中的func函数就是框图func子系统所生成的函数。内部做了一些更新flag的计算。另外可以看到累加框图生成的代码:y2 += u2。

关于实现逻辑循环的方法分析和介绍

do while循环实例

这个就简单了,直接把上图中的 while Iterator 模块双击设置为 do while 的模式就行了。

其他

生成代码结束之后,如果继续编译链接生成 exe 文件时,会有一个有意思的错误如下。有兴趣的可以去查看 math.h 的函数定义。

关于实现逻辑循环的方法分析和介绍

在Simulink的Port & Subsystem库里,有IF-ELSE以及While相应的子系统模块实现循环算法

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 逻辑
    +关注

    关注

    2

    文章

    834

    浏览量

    30051
  • 循环
    +关注

    关注

    0

    文章

    92

    浏览量

    16610
  • C代码
    +关注

    关注

    1

    文章

    90

    浏览量

    15093
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    关于NFC镍锌铁氧体片的介绍

    关于NFC镍锌铁氧体片的介绍
    的头像 发表于 12-04 10:52 42次阅读
    <b class='flag-5'>关于</b>NFC镍锌铁氧体片的<b class='flag-5'>介绍</b>

    长晶科技逻辑芯片产品矩阵介绍

    逻辑IC是用于实现基本逻辑运算和复合逻辑运算的集成电路, 广泛应用于各种电子设备和系统中,成为现代电子设备智能化、高效化的关键所在。
    的头像 发表于 11-04 17:47 1055次阅读
    长晶科技<b class='flag-5'>逻辑</b>芯片产品矩阵<b class='flag-5'>介绍</b>

    关于系统链接脚本的介绍

    一、队伍介绍 本篇为蜂鸟E203系列分享第四篇,本篇介绍的内容是系统链接脚本。 二、如何实现不同的下载模式? 实现三种不同的程序运行方式,可通过makefile的命令行指定不同的链接脚
    发表于 10-30 08:26

    AES加解密算法逻辑实现及其在蜂鸟E203SoC上的应用介绍

    这次分享我们会简要介绍AES加解密算法的逻辑实现,以及如何将AES算法做成硬件协处理器集成在蜂鸟E203 SoC上。 AES算法介绍 AES算法属于对称密码算法中的分组密码,其明文/
    发表于 10-29 07:29

    温度循环测试后如何进行数据记录和分析

    温度循环测试后的数据记录和分析是验证电能质量在线监测装置精度稳定性、功能完整性、硬件可靠性的核心环节,需围绕 “数据溯源可查、分析逻辑闭环、结论依据充分” 展开,结合测试标准(IEC
    的头像 发表于 09-26 14:22 327次阅读

    人工智能行业如何使用for循环语句进行循环

    人工智能行业可以使用以下是关于for循环在不同编程语言中的基本用法说明: Python中的for循环: 主要用于遍历序列(列表、元组、字符串等) 典型结构:for item in sequence
    的头像 发表于 09-10 12:55 394次阅读

    数字IC设计:方法、技巧与实践

    了如何在RTL设计中考虑综合和后端设计的问题;然后,给出了一些最常见的设计实例和代码;最后,介绍了仿真的相关知识。第5章为逻辑综合和相关技术。主要介绍了综合工具的功能和基本使用方法,包
    发表于 05-28 16:06

    实用电子电路设计(全6本)——数字逻辑电路的ASIC设计

    门电路、逻辑压缩、组合电路、Johnson计数器、定序器设计及应用等,并介绍实现最佳设计的各种工程设计方法。 纯分享贴,有需要可以直接下载附件获取完整资料! (如果内容有帮助可
    发表于 05-15 15:22

    封装失效分析的流程、方法及设备

    本文首先介绍了器件失效的定义、分类和失效机理的统计,然后详细介绍了封装失效分析的流程、方法及设备。
    的头像 发表于 03-13 14:45 1599次阅读
    封装失效<b class='flag-5'>分析</b>的流程、<b class='flag-5'>方法</b>及设备

    技术干货驿站 ▏深入理解C语言:嵌套循环循环控制的底层原理

    大家好!在上一节中,我们学习了C语言中的基本循环语句,如for、while和do...while循环。今天,我们将进一步探讨嵌套循环循环控制,这些技巧可以帮助我们
    的头像 发表于 02-21 18:26 1040次阅读
    技术干货驿站  ▏深入理解C语言:嵌套<b class='flag-5'>循环</b>与<b class='flag-5'>循环</b>控制的底层原理

    芯片失效分析方法和流程

      本文介绍了芯片失效分析方法和流程,举例了典型失效案例流程,总结了芯片失效分析关键技术面临的挑战和对策,并总结了芯片失效分析的注意事项。
    的头像 发表于 02-19 09:44 2521次阅读

    汽轮机热力循环分析

    汽轮机热力循环是热力工程中的重要部分,以下是对其进行的分析: 一、热力循环概述 热力循环是指工质从某一状态点开始,经过一系列状态变化又回到原来这一状态点的封闭变化过程。在这个过程中,工
    的头像 发表于 02-06 16:52 1743次阅读

    可靠性温度循环试验至少需要几个循环

    温度循环作为自然环境的模拟,可以考核产品在不同环境条件下的适应能力,常用于产品在开发阶段的型式试验、元器件的筛选试验。一、温度循环测试介绍温度循环试验,也称为热
    的头像 发表于 01-23 15:26 988次阅读
    可靠性温度<b class='flag-5'>循环</b>试验至少需要几个<b class='flag-5'>循环</b>?

    CMOS逻辑IC应用中的噪声问题和解决对策

    前面两期的芝识课堂,我们介绍了大量关于CMOS逻辑IC应用的一些细节事项,本期课堂让我们进入实际的应用案例,解决电路设计中的噪声问题。
    的头像 发表于 01-13 10:30 1899次阅读
    CMOS<b class='flag-5'>逻辑</b>IC应用中的噪声问题和解决对策

    循环伏安法(CV)基础知识

    循环伏安法(Cyclic Voltammetry,CV)是一种暂态电化学测试方法,也是获取电化学反应快速定量数据最为常用的电分析技术之一。该方法不仅能够提供发生于电极界面上的异相电子传
    的头像 发表于 12-09 09:45 9038次阅读
    <b class='flag-5'>循环</b>伏安法(CV)基础知识