• Simulink 最基础教程(一)


    1.1基本概念
    在这里插入图片描述

    一个典型的Simulink模型大致如上图这样:
    1)模块 block:图中画圈的那些,每个模块可以完成一些特定的任务,类似MATLAB中函数的概念。软件提供了很多模块,当然也可以自定义新的模块
    2)信号线 signal line:连接模块的线条,类似MATLAB中变量的概念。信号线是有箭头的,沿箭头方向经过模块,就相当于调用这个模块(函数),对信号线(变量)做了一次运算。
    3)模型 model:由模块,和模块间的信号线,共同组成。MATLAB中写一个脚本来完成一堆任务,Simulink中就是搭个模型来完成计算。
    
    简单对比:
    MATLAB	Simulink
    函数	模块
    脚本	模型
    变量	信号线
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    1.2 启动 Simulink
    最简单的启动方法之一,是在 MATLAB 界面上找到 Simulink 按钮,在弹出的菜单中,选择空白模型。除了空白模型,当然还有其他模板,但这些在最基础教程中都不会用到。
    在这里插入图片描述

    1.3 Simulink 界面
    一个典型的 Simulink 界面,按照蓝色线条划分,分为三个部分:
    1)实线框:里面写着untitled,这是文件名,或者模型名。
    2)虚线以上:一般称为工具栏,用来进行各种设置的。
    19a及以前,这块是菜单结构,19b及之后,这块改为标签结构,可能造成老用户找不到相关工具。不过,工具的快捷键基本没改过,因此本教程中会尽量用快捷键来操作。
    3)虚线以下:一般称为画布。一些常用操作:鼠标滚轮用来缩放视角,”空格“会自动缩放到最佳。
    在这里插入图片描述

    随后是红色部分,框出了一些最常用的工具:
    1)文件存取,这块和绝大多数软件一样,新建、保存、打开。
    2)模块库,点击后,会出现 Simulink 自带的模块。对初学者而言,新建模型后,第一件事往往就是打开模块库。
    3)模型配置。这个三角点开后会有很多工具,其中最常用的是model configuration,快捷键是 ctrl+e。这个用于配置“模型参数“,模型参数是啥?后面再讲。
    4)运行区域,当模型搭建完成后,就要去运行模型,求解模型,那么就是Run按钮了。快捷键是 ctrl+t。其他几个按钮,暂停、停止就是字面意思,也都很好理解。step是调试用的类似MATLAB里的debug。
    5)显示采样时间(sample time),是个很常用的 debug 工具,会在后续进一步用到。

    1.4两个例子
    1.4.1图形化编程
    在这里插入图片描述

    在之前介绍的 Simulink 界面基础上,按照红色箭头,打开模型库、拖入模块到画布、连接信号线、点击Run,就实现了整个模型的建立和仿真。双击示波器(scope模块),就能看到曲线。

    下面来稍微解释一下这个模型的过程:
    1)constant模块,是一个输出模块,或者源模块,特点是只有输出,没有输入。输出的是一条始终为1,不随时间变化的直线y(t)=1
    2)integrator模块,是一个运算模块,特点是有输入,也有输出。其功能是对时间积分,即对输入的曲线y(t) 进行积分得到 int(y(t)dt)+C。在这里,输入是y(t)=1,定积分取C=0,因此输出就是 y(t)=t
    3)scope模块,是一个输入模块,或者终点模块,特点是只有输入,没有输出。这类模块的功能一般都是用于显示结果,例如这个scope模块,就是显示y(t)曲线,因此示波器双击后,出现曲线y(t)=t(严格说是直线),当然只有t=0~10的这段。

    通过这个例子,希望说明的是 Simulink 的图形化编程思路:
    1)模型由模块,和模块之间的连线组成
    2)信号线,其本质是一个与时间t相关的函数 y(t)
    3)模块分为输出模块、运算模块、输入模块三种
    4)输出模块给信号线赋值y(t),例如constant模块输出 y(t)=1
    5)运算模块对信号线的函数进行运算,例如integrator模块输出和输入的关系为对时间t积分
    6)输入模块用于显示y(t)的某项性值,例如scope模块显示 y(t) 的时域函数曲线

    1.4.2求解常微分方程组

    随手写一个常微分方程组:
    y1’=y2+1
    y2’=y1+y2
    y1(0)=0
    y2(0)=0
    然后搭建一个Simulink模型:

    这里大多数模块与上一个例子一样,唯一多用到的是sum模块。如果按照上一个例子中的分析,那么就很容易发现,integrator模块的输出信号,正是我们要找的y1和y2,通过scope模块就能看到这两个信号的结果。由此,这里出现Simulink的一个应用场景:求解常微分方程组。

    具体的搭建过程是:
    1)将方程(组)写成标准形式 y‘=f(y,t)
    其中,y可以是一个向量,即y=[y1(t) y2(t) …]
    2)对每一个yi分配一个integrator模块,并视该模块输出为yi(t)
    3)搭建 f(y,t),这块是最有技术含量的,如果 f 的表达形式非常复杂,就不会那么容易了。可以说,学习 Simulink 的过程,就是不断掌握更复杂 f 的搭建方法
    4)将 f 的输出接到integrator模块的输入端

    1.5小结
    这结非常长,原因是我希望在一开始就说明 Simulink 的思路——图形化编程:
    信号线+模块=模型
    信号线=函数y(t)
    模块=对函数y(t)运算
    至于最开始的界面简介,只是用来帮助搭建那两个例子,反而显得不是那么重要了。

  • 相关阅读:
    Python入门第10篇(编码)
    嵌入式 Tomcat 调校
    eureka.client.service-url.defaultZone的坑
    css flex:1;详解,配合demo效果解答
    SpringBoot 整合mybatis,mybatis-plus
    java版鸿鹄工程项目管理系统 Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统源代码
    RCP系列-第一章 环境安装
    2020 MIT6.s081 Lab: Copy-on-Write Fork for xv6
    网络工程师的爬虫技术之路:跨界电商与游戏领域的探索
    多通道振弦数据记录仪应用桥梁安全监测的解决方案
  • 原文地址:https://blog.csdn.net/qq_24252589/article/details/133934059