【更新中…】Matlab simulink建模与仿真
本文为学习笔记,视频来源:https://www.bilibili.com/video/BV1L7411a7uL
Matlab simulink建模与仿真
- 1 初始simulink
- 1.1 simulink简介
- 1.1.1 matlab与simulink的关系
- 1.1.2 什么是simulink
- 1.1.3 simulink的两种打开方式
- 1.2 建模与仿真的流程
- 1.2.1 操作案例
- 1.2.2 搭建模型
- 1.2.3 设置仿真器参数
- 1.2.4 设置实际问题参数
- 1.2.5 运行仿真,查看结果
- 2 常用模块库
- 2.1 输入输出端口及子系统模块
- 2.1.1 子系统
- 2.1.2 如何使用子系统
- 2.1.3 案例演示
- 2.2 Ground及Terminator模块
- 2.2.1 Ground模块
- 2.2.3 Terminator模块
- 2.3 常量及加减乘除模块
- 2.3.1 常量模块(Constant block)
- 2.3.2 加减模块(Sum block)
- 16 用户定义函数库
- 16.1 Fcn/Matlab Fcn模块
1 初始simulink
1.1 simulink简介
1.1.1 matlab与simulink的关系
Matlab:matrix laboratory,一种以矩阵为来处理数据的的计算件,应用范围十分广泛,该产品有若干模块组成,simulink是其中一个,利用图形化的工具来进行建模与仿真
1.1.2 什么是simulink
simulink是基于matlab的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,它的应用领域十分广泛,任何能用数学模型来描述的系统都可以在simulink中进行仿真分析,如:空气动力学、导航制导、通讯、电子、机械、热力学等诸多领域,这些系统从数学角度来描述多涉及连续、离散、非线性、时变、条件执行、多速率混合等用解析方法难以求解的系统,他们都可以通过simulink进行建模与仿真,从而指导系统的分析与设计。
1.1.3 simulink的两种打开方式
- 在上方菜单栏点击simulink图标
- 在命令运行窗口输入simulink
1.2 建模与仿真的流程
1.2.1 操作案例
对于此问题,可以通过电工学的方法、状态空间法或拉普拉斯变化得到结果,但是需要一定的解微分方程的知识,因此计算比较困难,用simulink就能很好的解决这一问题。
1.2.2 搭建模型
建立数学模型,通过基尔霍夫定律和电流的连续性方程,可以得到数学模型,一般是微分方程或者是微分方程组,在本例中,数学模型为:
d2vcdt2+4dvcdt+3vc=3(t>0)\frac{d^2v_c}{dt^2} +4\frac{dv_c}{dt}+3v_c=3(t>0) dt2d2vc+4dtdvc+3vc=3(t>0)对微分方程进行变形,把最高阶放在等号左边,其余放在等号右边,如下:
d2vcdt2=3−4dvcdt−3vc(t>0)\frac{d^2v_c}{dt^2} =3-4\frac{dv_c}{dt}-3v_c(t>0) dt2d2vc=3−4dtdvc−3vc(t>0)画出方块图
在simulink里进行相关模块的添加和链接
1.2.3 设置仿真器参数
如图所示,进入仿真参数设置界面,进行相关的设置。
1.2.4 设置实际问题参数
根据题目给出的初始条件:
以及相应的物理公式:
可以得出,初始条件下,在两次积分之后得到的初始vc=0.5v_c=0.5vc=0.5,所以设置第二个积分器的初始值为0.5。
初始电流为零,根据第二个公式,则积分一次后的初始dvcdt=0\frac{dv_c}{dt}=0dtdvc=0,所以第一个积分器的初始值为0。
设置好初始值之后点击运行。
1.2.5 运行仿真,查看结果
点击开始图标运行仿真,双击Scope
查看运行结果。
这就是电容两端电压随时间的变化情况。
2 常用模块库
2.1 输入输出端口及子系统模块
2.1.1 子系统
- 子系统图标:
- 子系统作用:
类似于编程语言的子函数,子系统也是将一些特定功能的模块封装到一起,从而是整个程序方便管理,更加整洁有序。
2.1.2 如何使用子系统
- 在进行搭建模型之前就分好子系统
- 所有模型搭建完毕之后在根据各个模块的功能进行归类封装
2.1.3 案例演示
- 以1.2中所搭建的模型为例,在模型搭建完毕之后,可以进行以下划分:
- 选中中间的部分,选择
Diagram
–>Subsystem & Model Reference
–>Create Subsystem from Selection
创建子系统。
或鼠标放到右下角的三个蓝色的点选择创建子系统
创建后的效果如图
- 双击
Subsystem
就可以看到子系统里面的结构
2.2 Ground及Terminator模块
2.2.1 Ground模块
- 如何查看帮助?
选中相应的模块,然后右键选择help for the XXX block
即可
- 作用(摘自帮助文档):
Ground 模块连接到其输入端口不连接到其他模块的模块。如果您使用具有未连接的输入端口的模块运行仿真,Simulink® 会发出警告。使用 Ground 模块将那些未连接的模块接地可以防止出现这些警告。默认给一个0值。 - 示例
如上图所示,加法器sum应该有两个输入,但是现在只有一个,所以另外一个输入口要接Ground。
2.2.3 Terminator模块
- 作用:
与Ground相反,如果输出口没有接东西的话,就要接Terminator模块
官方:使用 Terminator 模块终止输出端口未连接其他模块的模块。如果您运行的仿真中有一些模块的输出端口未连接任何模块,Simulink® 将发出警告消息。使用 Terminator 模块终止这些模块,可以防止出现此类警告消息。
2.3 常量及加减乘除模块
2.3.1 常量模块(Constant block)
图标:
作用:
Constant 模块生成实数或复数常量值。此模块是生成标量、向量还是混合输出要取决于:- Constant value 参数的维度
- Interpret vector parameters as 1-D 参数的设置
操作
双击常量模块,可以看到如上图的界面,其中:- 该模块会输出和(1)一样维度的常量
- 勾选(2),模块会输出一个向量(可以理解为按照数组的运算规则运算),不勾选(2),模块输出一个矩阵(按照矩阵的运算规则进行运算)。
2.3.2 加减模块(Sum block)
图标:
与常量模块联合操作:
将第一个常量模块输入为矩阵:
将第二个常量模块输入为常数1,然后做减法运算:
运行,得到结果如下:
可以看到加减模块自动的将下面的常数项拓展成了一个矩阵从而实现了运算。
还需要注意的是:如果加减模块的输入量维度不一致,将会导致错误,即矩阵加减运算必须保证行列数相等。
16 用户定义函数库
16.1 Fcn/Matlab Fcn模块
【更新中…】Matlab simulink建模与仿真相关推荐
- MATLAB/Simulink电力系统与仿真,第四章的2机5节点潮流计算模型建模经验
MATLAB/Simulink电力系统与仿真,第四章中的2机5节点潮流计算模型建模经验 本人在学习simulink时参考此书,按照书中教程和参数搭建潮流计算模型,但是书中并未详细给出所以的设置参数,对 ...
- ANPC仿真模型,有源中点钳位三电平逆变器,基于MATLAB Simulink建模仿真
ANPC仿真模型,有源中点钳位三电平逆变器,基于MATLAB Simulink建模仿真. 具备三种ANPC调制方法,包含中点平衡SVPWM控制算法. 仿真模型使用MATLAB 2017b搭建 ID:2 ...
- MATLAB/Simulink电力系统与仿真,第七章变压器内部故障时的仿真经验
MATLAB/Simulink电力系统与仿真,第七章变压器内部故障时的仿真经验 本人在学习simulink时参考此书,按照书中教程和参数搭建潮流计算模型,但是书中并未详细给出所以的设置参数,对元件应用 ...
- matlab/simulink电力电子仿真有效值RMS设置和使用
matlab/simulink电力电子仿真RMS有效值设置和使用 上接matlab/simulink电力电子仿真三相变压器设置和使用 1 主要内容 本章的主要内容是在电力电子仿真中 如何计算一个信号的 ...
- MATLAB/Simulink电力系统与仿真,第七章变压器空载合闸时励磁涌流的仿真经验
MATLAB/Simulink电力系统与仿真,第七章变压器空载合闸时励磁涌流的仿真经验 本人在学习simulink时参考此书,按照书中教程和参数搭建潮流计算模型,但是书中并未详细给出所以的设置参数,对 ...
- matlab 交流传动,交流传动系统高性能控制及MATLAB/SIMULINK建模 PDF
交流传动系统高性能控制及MATLAB/SIMULINK建模 PDF 首页 > 工学力学 字号:小 中 大 评论:0 条 评论:0 条 交流传动系统高性能控制及MATLAB/SIMULINK建模 ...
- 【联合仿真】Adams六关节机械臂与Matlab/Simulink的联合仿真(上)
Adams六关节机械臂与Matlab/Simulink的联合仿真(上) 前言:一直对于六关节机械臂与simulink的联合仿真很感兴趣,但网上关于实际模型的机械臂联合仿真的资料很少,更别说六关节的联合 ...
- 【联合仿真】Adams六关节机械臂与Matlab/Simulink的联合仿真(下)
Adams六关节机械臂与Matlab/Simulink的联合仿真(下) 接上文,上文讲到了建立好变量与测量单元之间的关联了,下面完成matlab/simulink的对接接口以及模型搭建 第一步. ad ...
- (文献研读)ContainerCloudSim:云数据中心中容器建模和仿真的环境
(文献研读)ContainerCloudSim:云数据中心中容器建模和仿真的环境 ContainerCloudSim是在CloudSim的基础上进行改进的产品,也称为CloudSim 5.0,其在Cl ...
最新文章
- java b kb mb gb 转换_java 上传文件大小转换为 GB/MB/KB/B
- Kafka controller重设计
- 计算机系统行业竞争水平,中国计算机等23行业国际竞争力超世界平均水平
- leetcode1415. 长度为 n 的开心字符串中字典序第 k 小的字符串(回溯)
- loading gif 透明_搞笑GIF:有这样的女朋友下班哪里都不想去
- MITRE 发布 2020 CWE Top 25 榜单
- 遍历python字典几种方法
- w3c subscribe
- 基于Halcon学习的二维码识别【六】pdf417_bottle.hdev
- 软件测试之黑盒测试白盒测试
- 无线传输课程设计,基于ZigBee的水质监测系统设计
- linux---finger命令
- [附源码]java+ssm计算机毕业设计java交通违章举报平台lxsqm【源码、数据库、LW、部署】
- Linux下根据用户ID查询用户名
- java过滤_java 过滤list的几种方式
- 实话实说 —— 心理模型vs实现模型
- Found duplicate PV SdqCHHILXNSG1bLLLqtZ9fAv6sGTtiqj的解决方法
- freescale imx6 编译 linux ltib,i.MX6 Ltib编译报错,请版主解决一下。(已解决)
- pkg-config --cflags -- vips vips vips vipspkg-config: exec: “pkg-config“: executab的解决方案centos+ubuntu
- 基于SIMULINK的燃烧过程模糊PID控制系统仿真
热门文章
- [wine5.0] wine5.0安装wine-mono、wine-gecko具体步骤
- 字节跳动面试官:java范例完全自学手册
- 2020年数学建模国赛D题题目和解题思路
- 关于WiFi总是断网,联网会跳转MSN问题的解决方法
- threeJs中镜头拉远导致物体闪烁
- 数据结构入门篇:约夫瑟斯数据环问题
- ffmpeg支持的所有格式
- syn-tech syntech greases Lubricants
- Linux命令--tree--使用/详解/实例
- sharepoint2013 在office365 使用infopath 创建单击事件和视图,并建立切换规则