【更新中…】Matlab simulink建模与仿真 您所在的位置:网站首页 16QAM的simulink仿真模型 【更新中…】Matlab simulink建模与仿真

【更新中…】Matlab simulink建模与仿真

2023-12-25 10:43| 来源: 网络整理| 查看: 265

本文为学习笔记,视频来源:https://www.bilibili.com/video/BV1L7411a7uL

Matlab simulink建模与仿真 1 初始simulink1.1 simulink简介1.1.1 matlab与simulink的关系1.1.2 什么是simulink1.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 搭建模型

建立数学模型,通过基尔霍夫定律和电流的连续性方程,可以得到数学模型,一般是微分方程或者是微分方程组,在本例中,数学模型为: d 2 v c d t 2 + 4 d v c d t + 3 v c = 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)

对微分方程进行变形,把最高阶放在等号左边,其余放在等号右边,如下: d 2 v c d t 2 = 3 − 4 d v c d t − 3 v c ( 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 设置实际问题参数

根据题目给出的初始条件: 在这里插入图片描述 以及相应的物理公式: 在这里插入图片描述

可以得出,初始条件下,在两次积分之后得到的初始 v c = 0.5 v_c=0.5 vc​=0.5,所以设置第二个积分器的初始值为0.5。 初始电流为零,根据第二个公式,则积分一次后的初始 d v c d t = 0 \frac{dv_c}{dt}=0 dtdvc​​=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模块


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有