MATLAB Simulink中的离散系统模块

合集下载

Simulink中连续与离散模型的区别(DOC)

Simulink中连续与离散模型的区别(DOC)

Simulink中连续与离散模型的区别(DOC)Simulink中连续与离散模型的区别matlab/simulink/simpowersystem中连续vs离散!本⽂中的⼀些具体数学推导见下⾯链接:计算机仿真技术1.连续系统vs离散系统连续系统是指系统状态的改变在时间上是连续的,从数学建模的⾓度来看,可以分为连续时间模型、离散时间模型、混合时间模型。

其实在simpowersystem的库中基本所有模型都属于连续系统,因为其对应的物理世界⼀般是电机、电源、电⼒电⼦器件等等。

离散系统是指系统状态的改变只发⽣在某些时间点上,⽽且往往是随机的,⽐如说某⼀路⼝⼀天的⼈流量,对离散模型的计算机仿真没有实际意义,只有统计学上的意义,所以在simpowersystem中是没有模型属于离散系统的。

但是在选取模型,以及仿真算法的选择时,常常提到的discrete model、discrete solver、discrete simulate type等等中的离散到底是指什么呢?其实它是指时间上的离散,也就是指离散时间模型。

下⽂中提到的连续就是指时间上的连续,连续模型就是指连续时间模型。

离散就是指时间上的离散,离散模型就是指离散时间模型,⽽在物理世界中他们都同属于连续系统。

为什么要将⼀个连续模型离散化呢?主要是是从系统的数学模型来考虑的,前者是⽤微分⽅程来建模的,⽽后者是⽤差分⽅程来建模的,并且差分⽅程更适合计算机计算,并且前者的仿真算法(simulationsolver)⽤的是数值积分的⽅法,⽽后者则是采⽤差分⽅程的状态更新离散算法。

在simpowersystem库中,对某些物理器件,既给出的它的连续模型,也给出了它的离散模型,例如:离散模型⼀个很重要的参数就是采样时间sampletime,如何从数学建模的⾓度将⼀个连续模型离散化,后⾯会有介绍。

在simpowersystem中常⽤powergui这个⼯具来将系统中的连续模型离散以便采⽤discrete算法便于计算机计算。

simulink的离散积分模块的accumulation

simulink的离散积分模块的accumulation

simulink的离散积分模块的accumulation
Simulink是MATLAB的一个扩展包,主要用于进行系统模拟和分析。

在Simulink 中,离散积分模块通常用于对离散时间信号进行积分操作。

关于离散积分模块的累积(accumulation),这涉及到在给定的离散时间点上对信号的累积效应进行建模。

具体来说,离散积分模块通过将每个时间步长的输入值累加到上一个时间步长的累积值上来工作。

这种累积行为对于模拟诸如存储器、电荷、质量等物理系统的行为特别有用。

例如,考虑一个简单的离散积分模块,其数学表示为:
(y[n] = y[n-1] + x[n] \cdot T)
其中:
•(y[n]) 是当前时间步长的输出。

•(y[n-1]) 是上一个时间步长的输出累积值。

•(x[n]) 是当前时间步长的输入。

•(T) 是时间步长。

通过将每个时间步长的输入与上一个时间步长的输出累积起来,离散积分模块可以模拟连续时间的积分行为。

在Simulink中,你可以通过调整模块参数来改变累积分隔、初始条件等,以适应不同的应用需求。

SIMULINK的基本模块

SIMULINK的基本模块
图10
表10
模块名
功能简介
Atomic Subsystem
CodeReuseSubsystem
Configurable Subsystem
Enable
Enable Subsystem
Enabled and Triggered Subsystem
For Iterator Subsystem
Function-Call Generator
Repeating Sequence Interpol…
Repeating Sequence stair
Signal Builder
Signal Generator
Sine Wave
Step
Uniform Random Number
图15
表15
模块库
功能简介
EmbeddedMATLAB Function
Selector
Switch
图13
表13
模块名
功能简介
Display
Floating Scope
Out1
Scope
Stop Simulation
Terminator
To File
To Workspace
XY Graph
图14
表14
模块库
功能简介
Band-Limited White Noise
Chirp Signal
Subtract
Sum
对输入求代数和
Sum of Elements
Trigonometric Function
三角函数
Unary Minus
Vector Concatenate
Weighted Sample Time Math

simulink常用模块

simulink常用模块

连续模块(Continuous)Integrator:输入信号积分Derivative:输入信号微分State-Space:线性状态空间系统模型Transfer-Fcn:线性传递函数模型Zero-Pole:以零极点表示的传递函数模型Memory:存储上一时刻的状态值Transport Delay:输入信号延时一个固定时间再输出Variable Transport Delay:输入信号延时一个可变时间再输出离散模块(Discrete)discrete.mdlDiscrete-time Integrator:离散时间积分器Discrete Filter:IIR与FIR滤波器Discrete State-Space:离散状态空间系统模型Discrete Transfer-Fcn:离散传递函数模型Discrete Zero-Pole:以零极点表示的离散传递函数模型First-Order Hold:一阶采样和保持器Zero-Order Hold:零阶采样和保持器Unit Delay:一个采样周期的延时函数和平台模块(Function&Tables) function.mdlFcn:用自定义的函数(表达式)进行运算MATLAB Fcn:利用matlab的现有函数进行运算S-Function:调用自编的S函数的程序进行运算Look-Up Table:建立输入信号的查询表(线性峰值匹配)Look-Up Table(2-D):建立两个输入信号的查询表(线性峰值匹配)数学模块(Math )math.mdlSum:加减运算Product:乘运算Dot Product:点乘运算Gain:比例运算Math Function:包括指数函数、对数函数、求平方、开根号等常用数学函数Trigonometric Function:三角函数,包括正弦、余弦、正切等MinMax:最值运算Abs:取绝对值Sign:符号函数Logical Operator:逻辑运算Relational Operator:关系运算Complex to Magnitude-Angle:由复数输入转为幅值和相角输出Magnitude-Angle to Complex:由幅值和相角输入合成复数输出Complex to Real-Imag:由复数输入转为实部和虚部输出Real-Imag to Complex:由实部和虚部输入合成复数输出非线性模块(Nonlinear )nonlinear.mdlSaturation:饱和输出,让输出超过某一值时能够饱和。

第三章 matlab的simulink建模与仿真

第三章 matlab的simulink建模与仿真

3、其它子系统
可配置子系统,代表用 户定义库中的任意模块, 只能在用户定义库中使用。 函数调用子系统。
for循环
3)在一个仿真时间步长内,simulink可以多次进出一 个子系统。 原子子系统:
1)子系统作为一个“实际”的模块,需顺序连续执行。
2)子系统作为整体进行仿真。
3)子系统中的模块在子系统中被排序执行。
建立原子子系统:
1)先建立一空的原子子系统。
2)先建立子系统,再强制转换成原子子系统。
Edit/block parameters
在enabled subsystem
triggered subsystem
enabled and triggered subsystem中。
1)早期simulink版本中,enable和triggered信号需要从 signal&system中调用。
2)simulink后期版本中,在上述模块中含这两个信号。 3)一个系统中不能含多个enable和triggered信号。 4)其它子系统可看成某种形式的条件执行子系统。
3.4创建simulink模型(简单入门)
一、启用simulink并建立系统模型 启动simulink: (1)用命令方式:simulink (2)
二、simulink模块库简介 1、simulink公共模块库 Continuous(连续系统)
连续信号数值积分 输入信号连续时间积分
单步积分延迟,输出为前一输入
动态模型:描述系统动态变化过程
静态模型:平衡状态下系统特性值之间的关系
二、计算机仿真
1、仿真的概念
以相似性原理、控制理论、信息技术及相关领域 的有关知识为基础,以计算机和各种专用物理设备为工 具,借助系统模型对真实系统进行实验研究的一门综合 性技术。 2、仿真分类 实物仿真:建造实体模型 数学模型:将数学语言编制成计算机程序 半实体模型:数学物理仿真

simulink怎样添加仿真模块

simulink怎样添加仿真模块

参考资料:SIMULINK
Simulink是美国Mathworks公司推出的MATLAB中的一种可视化仿真工具。Simulink是一个模块 图环境,用于多域仿真以及基于模型的设计。它支持系统设计、仿真、自动代码生成以及嵌入式 系统的连续测试和验证。 Simulink提供图形编辑器、可自定义的模块库以及求解器,能够进 行动态系统建模和仿真。 Simulink与MATLAB相集成,能够在Simulink中将MATLAB算法融入模型,还能将仿真结果导出至 MATLAB做进一步分析。Simulink应用领域包括汽车、航空、工业自动化、大型建模、复杂逻辑、 物理逻辑,信号处理等方面。
打开matlab:开始——matlab。
方法/步骤
启动simulink:点击快捷键即可。
方法/步骤
添加连续模块:点击continuous,选 择所需模块。
方法/步骤
添加离散模块:点击discreate,选 择所需模块。
方法/步骤
添加信号源模块:点击sources,选 择所需模块。
注意事项
对于要添加的模块最好记住对应的英文名称,这样方便寻找。 添加其他模块与之类似,可以举一反三。
参考资料:MATLAB/SIMULINK实用教程
《MATLAB/SIMULINK实用教程》是2009年人民邮电出版社出版的图书,作者是张化光、孙秋野。
参考资料:MATLAB/Simulink实用教程:编程、仿真及电子信息学
《MATLAB/Simulink实用教程:编程、仿真及电子信息学》是2017年10月1日清华大学出版社出 版的图书,作者是徐国保、赵黎明、吴凡、郭磊。
谢谢观看
参考资料:Simulink动态系统建模与仿真基础
《Simulink动态系统建模与仿真基础》是2004年西安电子科技大学出版社出版的图书,作者是 李颖。

MATLAB simulink模块简介

MATLAB simulink模块简介

SIMULINK的模块库介绍SIMILINK模块库按功能进行分为以下8类子库:Continuous(连续模块)Discrete(离散模块)Function&Tables(函数和平台模块)Math(数学模块)Nonlinear(非线性模块)Signals&Systems(信号和系统模块)Sinks(接收器模块)Sources(输入源模块)连续模块(Continuous)continuous.mdlIntegrator:输入信号积分Derivative:输入信号微分State-Space:线性状态空间系统模型Transfer-Fcn:线性传递函数模型Zero-Pole:以零极点表示的传递函数模型Memory:存储上一时刻的状态值Transport Delay:输入信号延时一个固定时间再输出Variable Transport Delay:输入信号延时一个可变时间再输出离散模块(Discrete)discrete.mdlDiscrete-time Integrator:离散时间积分器Discrete Filter:IIR与FIR滤波器Discrete State-Space:离散状态空间系统模型Discrete Transfer-Fcn:离散传递函数模型Discrete Zero-Pole:以零极点表示的离散传递函数模型First-Order Hold:一阶采样和保持器Zero-Order Hold:零阶采样和保持器Unit Delay:一个采样周期的延时函数和平台模块(Function&Tables) function.mdlFcn:用自定义的函数(表达式)进行运算MATLAB Fcn:利用matlab的现有函数进行运算S-Function:调用自编的S函数的程序进行运算Look-Up Table:建立输入信号的查询表(线性峰值匹配)Look-Up Table(2-D):建立两个输入信号的查询表(线性峰值匹配)数学模块(Math )math.mdlSum:加减运算Product:乘运算Dot Product:点乘运算Gain:比例运算Math Function:包括指数函数、对数函数、求平方、开根号等常用数学函数Trigonometric Function:三角函数,包括正弦、余弦、正切等MinMax:最值运算Abs:取绝对值Sign:符号函数Logical Operator:逻辑运算Relational Operator:关系运算Complex to Magnitude-Angle:由复数输入转为幅值和相角输出Magnitude-Angle to Complex:由幅值和相角输入合成复数输出Complex to Real-Imag:由复数输入转为实部和虚部输出Real-Imag to Complex:由实部和虚部输入合成复数输出非线性模块(Nonlinear )nonlinear.mdlSaturation:饱和输出,让输出超过某一值时能够饱和。

Simulink常用库模块介绍Matlaba

Simulink常用库模块介绍Matlaba

Simulink常用库模块介绍MatlabaSimulink是一种图形化编程环境,用于设计、建模和仿真动态系统。

它是Matlab的一部分,通过可视化编程方法,可以快速搭建模型并进行系统仿真。

Simulink提供了许多常用的库模块,用于模拟不同类型的系统。

以下是一些Simulink常用库模块的介绍:1. Continuous库模块:这个库模块包含了用于建模连续时间系统的模块。

其中最常用的模块包括Gain(增益),Transfer Fcn(传递函数),Integrator(积分器)和Sum(求和器)。

通过这些模块,可以建立线性和非线性的连续时间系统模型。

2. Discrete库模块:这个库模块包含了用于建模离散时间系统的模块。

其中最常用的模块包括Delay(延时器),Discrete Transfer Fcn (离散传递函数),Discrete Filter(离散滤波器)和Unit Delay(单位延时器)。

这些模块用于建立离散时间系统的模型。

3. Sources库模块:这个库模块包含了用于系统输入的模块。

其中最常用的模块包括Constant(常数),Step(阶跃信号),Ramp(斜坡信号)和Sine Wave(正弦波)。

这些模块用于生成系统的输入信号。

4. Sinks库模块:这个库模块包含了用于系统输出的模块。

其中最常用的模块包括Scope(示波器),To Workspace(保存数据到工作空间)和Display(显示结果)。

这些模块用于获取系统的输出信号并进行可视化或保存。

5. Math Operations库模块:这个库模块包含了各种数学运算模块。

其中最常用的模块包括Add(加法),Subtract(减法),Multiply(乘法)和Divide(除法)。

这些模块可用于进行各种数学运算,例如加减乘除等。

6. Logic and Bit Operations库模块:这个库模块包含了逻辑和位运算模块。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(7) 开始仿真,单击“untitled ”模型窗口中“开始仿真”图标 ,或者选择菜单 “Simulink”——“Start”,则仿真开 始。双击“Scope”模块出现示波器显示屏,可以看到 黄色的正弦波形。如图4所示
图三
图四
8) 保存模型,单击工具栏的 图标,将该模型保存为“Ex0701.mdl”文件 。
a
6
(5) 设置颜色,Simulink 为帮助用户方便地跟踪不同采样频率的运作范围和信号 流向,可以采用不同的颜色表示不同的 采样频率,选择菜单“Format ”→ “Sample time color”,就可以看到不同采样频率的模块颜色不同。 (6) 开始仿真,在Simulink 模型窗口,选择菜单“Simulation”? “Simulation parameters…”,将“Max step size”设置 为0.05s,则两个示波器“Scope”和 “Scope1”的显示如图五 所示
图六
图六
可以看出当T=0.6
而Tk=0.1
时,系统出现振荡。
a
8
(8) 修改参数,将“Discrete Filter ” 和“Zero-Order Hold”模块“Sample time”都设 置为0.6s,更新框图颜色,开始仿真,则示波器显示如图七所示。
图七
可以看出当T=Tk=0.6 时,系统出现强烈的振荡。
a
2
(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope”模块(示波器)拖放到 “untitled ”窗口中。
(6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变 为十字符时,按住鼠标拖向“Scope”模 块的输入端,松开鼠标按键,就完 成了两个模块间的信号线连接,一个简单模型已经建成。如图3所示
在图三 的Simulink 模型窗口中选择菜单“File”→ “Open…”或者单击工具栏的
图标打开文件。
a
4
3、Simulink 的基本模块
Simulink 的基本模块包括几个子模块库。
(1)输入信号源模块库(Sources) (2)接收模块库(Sinks) (3)连续系统模块库(Continuous) (4)离散系统模块库(Discrete) (5)离散系统模块是用来构成离散系统的环节,常用的离散系统模块如表一所示
1、演示一个simulink的简单程序
例1:创建一个正弦信号的仿真模型
在matlab的命令窗口中运行simulink命令,或单击工具栏的的图标, 就可以打开Simulink 模块库浏览器(Simulink Library Browser) 窗 口,如图1所式
a
1
(2) 单击工具栏上的 图标或选择菜单“File”——“New ”——“Model”,新建一个名为 “untitled”的空白模型窗口、Simulink 的文件操作
(1) 新建文件 新建仿真模型文件有几种操作: 在MATLAB的命令窗口中选择菜单“File”→“New”→“Model”。 在图一的Simulink模块库浏览器窗口中选择菜单“File”→“New”→“Model”,或 者单击 图标。 在图三的Simulink模型窗口选择菜单“File”→“New”→“Model”,或者单击 图标。
表一a
5
4、离散系统仿真
【例2 】控制部分为离散环节,被控对象为两个连续环节,其中一个有反馈环, 反馈环引入了零阶保持器,输入为阶跃信号。
创建模型并仿真: (1)选择两个“Scope”模块,选择一 个“Gain”模块,在“Discrete”模块库选择一个 “Discrete Filter ”和一个“Zero-Order Hold ”模块。 (2) 连接模块,将反馈环的“Gain”模块和“Zero-Order Hold ”模块翻转。 (3) 设置参数,“Discrete Filter”和“Zero-Order Hold ”模块的“Sample time”都设置 为0.1s。 (4) 添加文本注释,系统框图如图所示。
图五
可以看出当T=0.6 而Tk=0.1 时,系统出现振荡。
a
7
(7)修改参数,将“Discrete Filter ”模块的“Sample time”设置为0.6s,“Zero-Order Hold ”模块的“Sample time”不变; 选择菜单“Edit”→ “Update diagram ”命令修改 颜色,就可以看到“Discrete Filter”模块的颜色变化了;然后开始仿真,则示波器显 示如图六所示
(2)打开文件
在MATLAB 的命令窗口输入不加扩展名的文件名,该文件必须在当前搜索路

中,例如输入“Ex0701”。
在MATLAB 的命令窗口选择菜单“File”→Open…”或者单击工具栏的图标打开
文件。
在图图一 的Simulink 模块库浏览器窗口选择菜单“File”→“Open…”或者单击
图标打开“.mdl”文件。
(3) 在上图的右侧子模块窗口中,单击“Source”子模块库前的“+”(或双击 Source), 或者直接在左侧模块和工具箱栏单击 Simulink 下的Source 子模块库,便可看到各 种输入源模块
(4) 用鼠标单击所需要的输入信号源模块“Sine Wave”(正弦信号),将其拖放到的空白模 型窗口“untitled”,则“Sine Wave” 模块就被添加到untitled 窗口;也可以用鼠标选中 “Sine Wave”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'” 命令,就可以 将“Sine Wave”模块添加到untitled 窗口。如图2所示
相关文档
最新文档