MATLAB Simulink Statflow学习笔记

1.概述

在做算法设计时,会用到Statflow模块和MATLAB Function模块,我们可以在这里搭建自己需要的程序逻辑。

(1) Statflow、MATLAB Function和Simulink之间的区别

做一些逻辑设计,尤其是和状态机相关的,用Statflow更方便。
做一些和矩阵相关的计算,用MATLAB Function更方便。
做一些数据流传,用Simulink更方便。

2.Statflow创建一个简单的逻辑

搭建一个简单的流程图如下:


画完连线如下:



Statflow更擅长做状态机,具体操作如下:

我们可以在状态机里面添加条件,

en:
fun();
LED1 = 1;
LED2 = 0;
du:
LED1 = 0;
LED2 = 1;
ex:
LED1 = 1;
LED2 = 1;

en(entry):表示进入状态的动作
du(during):表示在状态条件下的动作
ex(exit):表示离开状态的动作

3.Statflow模块介绍

4.Statflow案例

例如:用Stateflow做一个简易的温度控制系统(节点形式)

下面在stateflow外面画好输入输出


我们画一个动态输入源可以观看仿真动画

点击运行后可以看到节点和连线被高亮,表示此刻程序执行的状态。

有可能电脑执行画面太快,在下图可以更改动画速度

例如:用Stateflow挡位切换控制系统(状态形式)
下图表示挡位切换的逻辑

下面我们在D档写汽车自动换挡控制逻辑


在statflow外面建立逻辑如下:


定义好PP、RR、NN、DD变量

点击仿真按钮,更改Constant模块数值即可在仿真动画中看到挡位的切换情况

仿真结果如下:


5.Statflow其他

(1)函数调用事件


点击apply,这样ststeflow页面就多出来一个端口,这个端口和其他端口不一样,这是个函数调用端口,可以调用一些函数事件。这个端口可以接Function-Call Subsystem子系统,用这个端口太触发子系统。


这个Function-Call Subsystem,我们可以在合适的时机(例如:在N档的时候触发子系统)进行调用

(2)默认子状态


一般每个页面会带一个默认子状态,当然如果我们要修改其位置,可以把自带的删掉,自己在所需的模块上添加;

(3)语言选择





一般我们默认使用matlab语言,在某些特殊情况下,比如要引入其他地方的C代码,自己不想转述成matlab语言,可以使用此手段。

(4)状态机里面也可以画流程逻辑


可以看到,新画的流程逻辑在P档状态机里面,表示当状态进入P状态机后执行流程逻辑,相当于代码en:
如果要实现代码du:的功能,可以拉一条线到状态机,

MATLAB Simulink Statflow学习笔记相关推荐

  1. matlab机器人工具箱学习笔记——ikine函数

    matlab机器人工具箱学习笔记--ikine函数 ikine函数用法 使用实例 链接: https://blog.csdn.net/weixin_42596724/article/details/8 ...

  2. comsol与matlab连接使用学习笔记 1 基础设置

    comsol与matlab连接使用学习笔记 1 基础设置 前言 1.安装 COMSOL livlink for Matlab 2.首次运行 前言 以前从来没有用过comsol livelink for ...

  3. 数理方程及MATLAB解算学习笔记

    数理方程及MATLAB解算学习笔记 文章目录 数理方程及MATLAB解算学习笔记 第一章 MATLAB基础知识 1.class查询数值类型 2.永久性数值变量 3.创建特殊矩阵的专用指令 4.基本初等 ...

  4. 【Matlab 机器人工具箱 学习笔记】双旋转台5轴数控机床 运动学模型02

    参考: [1]何永红, 齐乐华, 赵宝林. 双转台五轴数控机床后置处理算法研究[J]. 制造技术与机床, 2006(1). [2]李永桥, 陈强, 谌永祥. 双转台五轴数控机床运动变换及求解方法的研究 ...

  5. Matlab App Designer 学习笔记

    提示:本文的学习视频来自B站小刘老师的教程 链接:https://www.bilibili.com/video/BV16f4y147x9?from=search&seid=2070258926 ...

  6. 一维离散动力学系统的混沌研究【基于matlab的动力学模型学习笔记_8】

    摘 要:混沌(Chaos)是指发生在确定系统中的貌似随机的不规则运动,本文将基于几种经典的一维动力学方程系统,根据其动力学方程研究其混沌产生过程以及相对应的MATLAB仿真. /*仅当作学习笔记,若有 ...

  7. 二维离散动力学系统的混沌研究【基于matlab的动力学模型学习笔记_9】

    摘 要:混沌(Chaos)是指发生在确定系统中的貌似随机的不规则运动,本文将基于经典的二维系统,然后根据动力学方程研究其混沌产生过程以及相对应的MATLAB仿真,再讨论Lyapunov指数以及正平衡点 ...

  8. 双时滞四维捕食网络的分析【基于matlab的动力学模型学习笔记_6】

    /*仅当作学习笔记,若有纰漏欢迎友好交流指正,此外若能提供一点帮助将会十分荣幸*/ 本系列谈论过单时滞,但还没提及过双时滞,本文将着重介绍一种双时滞系统并对其进行简单处理分析. 摘 要:本文针对一个捕 ...

  9. 基于传染病模型中的再生数R0的讨论【基于matlab的动力学模型学习笔记_2】

    /*仅当作学习笔记,若有纰漏欢迎友好交流指正,此外若能提供一点帮助将会十分荣幸*/ 在上一篇博文中介绍了病毒模型的基本计算思路方法,而本文将会重点讨论基本再生数R0-这个决定病毒是继续发展还是衰减的关 ...

最新文章

  1. BaaS, IaaS, PaaS, SaaS介绍
  2. Android的数据存储
  3. antd 能自适应吗_自首要满足的条件有哪些,自首能从宽处罚吗?
  4. 多线程编程--异步转同步之CountDownLatch
  5. 与资源库同步时,我的svn报错 Previous operation has not finished; run 'cleanup' if it was interrupted...
  6. [Java] 蓝桥杯ADV-91 算法提高 素数判断
  7. 简单com编写流程及注册事项
  8. SQL语言入门详细教程(更新中)
  9. 邱锡鹏神经网络怎么样,邱锡鹏 神经网络pdf
  10. 图书条形码跟ISBN号互相转换的类 续
  11. 说明书丨亲和纯化驴抗绵羊IgG(H+L)二抗
  12. 股票价格中后取复权的计算
  13. Unity-黑暗之魂复刻-手柄接入与配置(Joystick)
  14. 大数据体系构建数据仓库
  15. Overvoltage category (过电压类别, 过电压等级)
  16. 中文核心期刊目录(2004年版)
  17. 总结性能优化:构建你的前端知识体系
  18. Oracle19c的安装配置教程
  19. 操作系统之进程状态及进程状态切换 (六) --- 创建态、就绪态、运行态、阻塞态、终止态。
  20. #Geek Talk# The Tech Trend (AI、Blockchain and IoT)

热门文章

  1. 新浪微博开放平台开发-android客户端(3)
  2. 2021-09-14 uboot移植开发
  3. java分页搜索接口
  4. 电子科技大学18春《工厂供电》在线作业1
  5. div 圆角div渐变色 渐变色循环换色
  6. 【apache-tomcat安装配置】完整教程(保姆级)
  7. php链接odbc,PHP使用ODBC连接数据库的方法
  8. 查看局域网内所有ip地址
  9. 动态水管流动监测流量分享
  10. 基于深度学习的指针式仪表图像智能读数方法