Matlab基础学习笔记(五)—— Simulink仿真
听万门的一个Matlab实践课做的笔记 |
知识结构
笔记链接(点我)
- 知识点比较零散记得比较概括,用幕布看可能更清晰一点
- 本节内容只是做个简单记录,具体使用某个库再进行具体学习
- 顺便放个邀请注册链接,可以领一个月高级版
- 注册幕布
目录
- 笔记链接(点我)
- 基础
- 常用模块库
- 动态系统仿真
- 子系统
- S函数
基础
定义
- Simulink是一个进行动态系统建模、仿真和综合分析的集成软件包。
- 可处理系统
- 线性、非线性系统
- 离散、连续、混合系统
- 单任务、多任务离散事件系统
- 组成
- 模块库
- 模型构造
- 指令分析
- 演示程序
- 既适用于Top-down又适用于Bottom-up
特点
- 设计简单
- 分析直观
- 仿真快速、准确
典型模型结构
- 输入、状态、输出
- .mdl文件
实例
- 创建空白模块
- 添加模块
- 添加连接
- 仿真
- 保存模型
工作原理
- 模型编译
- 连接
- 仿真执行
- 【一般采用数值积分仿真,相邻两个时间点的长度为步长,步长的大小取决于求解器的类型】
常用模块库
公共模块库 + 专业模块库
Continuous(连续模块组)
- 包括连续时间线性系统、连续时间延迟模块
Math Operations(数学运算模块组)
- 包括数学运算、向量运算、复数、向量间的转换运算四种
Signal Routing(信号传输选择模块组)
- 包括信号传输与信号存储、访问两种
Sinks(输出模块组)
- 包括模型及子系统输出、数据观察器、仿真控制三种
Sources(信号源模块组)
- 包括模型及子系统输入与信号发生器两种
部分专业模块库
- Control System Toolbox
- Communications Blockset
- DSP Blockset
- Fuzzy Logic Toolbox
- Neural Network Blockset
- Simulink Extras
- Stateflow
- Real-Time Workshop (RTW)
动态系统仿真
建立简单模型
- 建立模型窗口
- 将功能模块从模块库中复制到模型窗口
- 对模块进行连接,构成所需要的系统模型
- 【视觉表现为直观的方框图,文件上则是扩展名为mdl的ASCII代码,数学上表现为微分方程或差分方程,行为上模拟了实际系统的动态特性】
- 编译报错注意检查模块是否来源于同一模块组
模块简单操作
- 模块的复制(或创建)
- 模块的移动
- 模块的删除
- 模块的外形调整
- 改变模块对象的大小
- 改变模块对象的方向
- 颜色设定
- 改变模块名称
- 改变模块名称的字体
- 改变模块名称的位置
- 是否显示模块名称
模块的连接
- 信号线
- 包括标量信号和向量信号
- 向量信号线与线型设定
- 信号线设置标签
- 信号线弯折(shift)
- 信号线分支(ctrl)
- 信号线
模块参数、属性设置
- General
- Description
- Priority
- Tag
- Block Annotation
- 有效属性标记
- Callbacks
- 回调函数
- ClipboardFcn、DeleteChildFcn、ErrorFcn、PreCopyFcn、PreDeleteFcn
- 仿真参数设置
- Solver
- Simulation time
- Solver selection
- Type:固定步长or可变步长
- 可变应指定容许误差限
- Solver:具体算法类型
- ode45
- Type:固定步长or可变步长
- Relative tolerance
- Max step size
- Data Import/Export
- Output option
- Refine out(细化输出)
- Produce additional output
- Produce specified output only
- Load from work space
- xInitial state
- 优先度高
- save to workspace
- save option
- xInitial state
- Output option
- Diagnostics
- Simulation option(一致性检验)
- Configuration option
- Code Generation
- Coverage
- Solver
- General
仿真结果观察
观察输出信号
- 输出模块组Sinks中的Scope、Display数学显示器
- 返回MATLAB命令窗口,利用绘图命令
- 输入To Workspace模块,用绘图命令
Scope示波器
- 是观察仿真结果的主要工具
- 可有多个坐标(每个端口一个)
- 所有坐标有共同的时间坐标和各自独立的y坐标
Display
- 以数字形式显示
- 可显示单个信号、向量信号、矩阵信号(帧信号)
To Workspace模块
子系统
创建
- 添加Subsystem模块
- Ports & System库
- In1为外部输入,Out1为内部输出
- 组合已有模块
- 用方框包围
- Create subsystem
- 添加Subsystem模块
分类
- 条件子系统
- 使能子系统
- 使能控制信号为标量
- 大于零则开始执行
- 使能控制信号为向量
- 其中一个大于零则开始执行
- 使能控制信号为标量
- 触发子系统
- 触发事件发生的时刻执行
- 触发事件
- 上升沿触发
- 下降沿触发
- 跳变触发
- 回调函数触发
- 半波整流模型
- 使能子系统
- 条件子系统
S函数
S函数是系统函数(System Function)的简称
- 由特定语法构成
- 用于描述并实现连续系统、离散系统以及复合系统等动态系统
- 可接收来自Solver的相关信息,并对求解器发出的命令做出适当响应
建立
- 可用m文件、C或Mex文件编写
- function[sys, x0, str, ts] = fname[(t, x, u, flag)]
- sys —— 通用返回参数
- x0 —— 初始状态,flag为0有效
- str —— 为未来应用保留
- ts —— 两列分别标识采样时间间隔和偏移
- 设计可参考模板文件sfuntmpl.m
S-Function的子函数
- mdlInitializeSize
- mdlDerivatives
- mdlUpdate
- mdlOutput
- mdlGetTimeOfNextVarHit
- mdlTerminate
欢迎交流讨论与指正 |
Matlab基础学习笔记(五)—— Simulink仿真相关推荐
- 正交基 matlab,matlab基础学习(五)之映射和正交基
matlab基础学习(5)之映射和正交基 一.映射 在matlab中,矢量y正交映射到矢量x上的定义如下: Px(y) = /(x^2)*x 对于长度为N的列矢量y映射到长度为N的列矢量x上的计算方法 ...
- MATLAB基础学习笔记01:初探MATLAB世界
文章目录 一.安装MATLAB2016 (一)下载MATLAB2016 (二)安装MATLAB2016 二.启动MATLAB2016 --解决远程桌面启动报错的问题 三.变量操作 (一)给变量赋值 ( ...
- MATLAB基础学习(五)-MATLAB矩阵介绍
1.MATLAB赋值语句 (1)变量=表达式 (2)表达式 其中表达式是用运算符将有关运算量连接起来的式子,其结果是一个矩阵 例如计算表达式的值,并显示计算结果,在MATLAB命令窗口输入指令: 其中 ...
- MATLAB基础学习笔记02:掌握MATLAB运算
文章目录 一.算术运算 (一)算术运算符 (二)案例演示 1.算术加减乘运算 2.算术除运算 3.乘方运算 (1)算术乘方运算 (2)矩阵点乘方运算 4.矩阵左除运算 5.矩阵乘法 6.矩阵点乘 7. ...
- Java学习笔记(五):一张图总结完JVM8基础概念
Java学习笔记(五):一张图总结完JVM8基础概念 引文 最近在学习JVM的相关内容,好不容易把基础概念全部都学了一遍,却发现知识网络是零零散散的.迫不得已,只好再来一次总的归纳总结.为了更好的理解 ...
- Python基础学习笔记之(一)
Python基础学习笔记之(一) zouxy09@qq.com http://blog.csdn.net/zouxy09 前段时间参加微软的windows Azure云计算的一个小培训,其中Pytho ...
- Python3 基础学习笔记 C05【字典】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- 吴恩达《机器学习》学习笔记五——逻辑回归
吴恩达<机器学习>学习笔记五--逻辑回归 一. 分类(classification) 1.定义 2.阈值 二. 逻辑(logistic)回归假设函数 1.假设的表达式 2.假设表达式的意义 ...
- 【AngularJs学习笔记五】AngularJS从构建项目开始
为什么80%的码农都做不了架构师?>>> #0 系列目录# AngularJs学习笔记 [AngularJs学习笔记一]Bower解决js的依赖管理 [AngularJs学习笔 ...
最新文章
- Visual Studio 2017 最新全量离线下载方法[有惊喜]
- Spring注解的使用步骤,@Component注解创建的对象名称,常用注解Component、Repository、Service以及Controller的区别
- 准备写个nhibernate的学习笔记
- Office 365开发者的前端必备课程
- DHCP|什么是DHCP|DHCP介绍
- 数据粒度的上卷和下钻
- WebLogic配置JNDI数据源
- 为什么redux要返回一个新的state引发的血案
- Java基础笔记-String类
- MapGIS67及Map2Shp安装教程
- 2000坐标系xy坐标几位_2000坐标系(2000坐标系x和y坐标几位数)
- 西门子MM4系列变频器反转功能的具体使用方法和注意事项
- 蓝字冲销是什么意思_​红字发票和蓝色发票是什么意思
- 乐高大颗粒作品19:端午节做一个粽子
- 最小二乘拟合多项式(利用构造正交多项式的方法)C++
- 热门软件中文在线文档
- Ubuntu 16.04配置Wine并安装TIM
- vue 引入高德地图
- 禁止暴风影音的自动升级的方法
- 基于STM32的智能电子秤设计
热门文章
- CentOS 7虚拟机克隆,以及克隆后主机名和静态IP地址的修改,无法重启网络服务( because the control process exited with error code)的解决方法
- DeepMind 发布强化学习通用算法 DreamerV3,AI 成精自学捡钻石
- 交通灯2-核心器件选型报告
- 关于网站自定义字体css加密篇
- 嵌入式分享合集122
- 配置tensorflow-gpu,大过年的头秃啊
- 【Android开发】在Android Studio上关联使用第三方模拟器(MuMu模拟器)调试方法
- python写入excel公式有哪些库_python工具库介绍-xlwt 创建xls文件(excel)
- 抖音KOL达人推广传播靠谱吗?
- 李沐动手学深度学习(pytorch版本)d2lzh_pytorch包的缺少安装问题