simulink入门及仿真实例
合集下载
SIMULINK仿真

2.Data Import/Export类设置 ① 矩阵形式。MATLAB把矩阵的第一列默认为时间向量,
后面的每一列对应每一个输入端口,矩阵的第一行表示某 一时刻各输入端口的输入状态。另外,也可以把矩阵分开 来表示,即MATLAB默认的表示方法[t,u],其中t是一维 时间列向量,表示仿真时间,u是和t长度相等的n维列向 量(n表示输入端口的数量),表示状态值。例如,在命 令窗口中定义t和u:
条件执行子系统分为
1.使能子系统
使能子系统表示子系统在由控制信号控制时,控制信号由 负变正时子系统开始执行,直到控制信号再次变为负时结 束。控制信号可以是标量也可以是向量。
建立使能子系统的方法是:打开Simulink模块库中的Ports & Subsystems模块库,将Enable模块复制到子系统模型 中,则系统的图标发生了变化。
阵、结构和包含时间的结构3种选择。“Limit data points to last”用来限定保存到工作空间中 的数据的最大长度。 输出选项(Output options)有: ① Refine output(细化输出) ② Produce additional output(产生附加输出) ③ Produce specified output only(仅在指定 的时刻产生输出)
4.1 初识Simulink—— 一个简单的仿 真实例
在MATLAB的命令窗口输入Simulink,或单击MATLAB主 窗口工具栏上的“Simulink”命令按钮即可启动Simulink。 Simulink启动后会显示如图4.1所示的Simulink模块库浏览 器(Simulink Library Browser)窗口。
U (s)
Kp
Ki s
Kd s
后面的每一列对应每一个输入端口,矩阵的第一行表示某 一时刻各输入端口的输入状态。另外,也可以把矩阵分开 来表示,即MATLAB默认的表示方法[t,u],其中t是一维 时间列向量,表示仿真时间,u是和t长度相等的n维列向 量(n表示输入端口的数量),表示状态值。例如,在命 令窗口中定义t和u:
条件执行子系统分为
1.使能子系统
使能子系统表示子系统在由控制信号控制时,控制信号由 负变正时子系统开始执行,直到控制信号再次变为负时结 束。控制信号可以是标量也可以是向量。
建立使能子系统的方法是:打开Simulink模块库中的Ports & Subsystems模块库,将Enable模块复制到子系统模型 中,则系统的图标发生了变化。
阵、结构和包含时间的结构3种选择。“Limit data points to last”用来限定保存到工作空间中 的数据的最大长度。 输出选项(Output options)有: ① Refine output(细化输出) ② Produce additional output(产生附加输出) ③ Produce specified output only(仅在指定 的时刻产生输出)
4.1 初识Simulink—— 一个简单的仿 真实例
在MATLAB的命令窗口输入Simulink,或单击MATLAB主 窗口工具栏上的“Simulink”命令按钮即可启动Simulink。 Simulink启动后会显示如图4.1所示的Simulink模块库浏览 器(Simulink Library Browser)窗口。
U (s)
Kp
Ki s
Kd s
Simulink建模仿真实例详解

静态系统模型 动态系统模型 连续系统模型 代数方程 集中参数 微分方程 分布参数 偏微分方程 离散系统模型 差分方程
1.1.2 计算机仿真
1. 仿真的概念 仿真是以相似性原理、控制论、信息技术及相关领域的 有关知识为基础,以计算机和各种专用物理设备为工具,借 助系统模型对真实系统进行试验的一门综合性技术。 2. 仿真分类 ( 1 )实物仿真:又称物理仿真。是指研制某些实体模型, 使之能够重现原系统的各种状态。早期的仿真大多属 于这一类。 优点:直观,形象,至今仍然广泛应用。 缺点:投资巨大、周期长,难于改变参数,灵活性差。
1 s Sine Wave Integrator
x(t ) = − cos(t ) + 1
Scope
从源模块库(Sources)中复制正弦波模块(Sine Wave)。 连续模块库( Continuous )复制积分模块( Integrator )。 输出显示模块库(Sinks)复制示波器模块(Scope)。
( 2 )数学仿真:是用数学语言去描述一个系统,并编制程 序在计算机上对实际系统进行研究的过程。 优点:灵活性高,便于改变系统结构和参数,效率高 (可以在很短时间内完成实际系统很长时间的 动态演变过程),重复性好 缺点:对某些复杂系统可能很难用数学模型来表达,或 者难以建立其精确模型,或者由于数学模型过 于复杂而难以求解 ( 3 )半实物仿真:又称数学物理仿真或者混合仿真。为了 提高仿真的可信度或者针对一些难以建模的实体,在 系统研究中往往把数学模型、物理模型和实体结合起 来组成一个复杂的仿真系统,这种在仿真环节中存在 实体的仿真称为半物理仿真或者半物理仿真,如飞机 半实物仿真等。
5
10
15
如果系统中没有阻尼,则动力方程为:
1.1.2 计算机仿真
1. 仿真的概念 仿真是以相似性原理、控制论、信息技术及相关领域的 有关知识为基础,以计算机和各种专用物理设备为工具,借 助系统模型对真实系统进行试验的一门综合性技术。 2. 仿真分类 ( 1 )实物仿真:又称物理仿真。是指研制某些实体模型, 使之能够重现原系统的各种状态。早期的仿真大多属 于这一类。 优点:直观,形象,至今仍然广泛应用。 缺点:投资巨大、周期长,难于改变参数,灵活性差。
1 s Sine Wave Integrator
x(t ) = − cos(t ) + 1
Scope
从源模块库(Sources)中复制正弦波模块(Sine Wave)。 连续模块库( Continuous )复制积分模块( Integrator )。 输出显示模块库(Sinks)复制示波器模块(Scope)。
( 2 )数学仿真:是用数学语言去描述一个系统,并编制程 序在计算机上对实际系统进行研究的过程。 优点:灵活性高,便于改变系统结构和参数,效率高 (可以在很短时间内完成实际系统很长时间的 动态演变过程),重复性好 缺点:对某些复杂系统可能很难用数学模型来表达,或 者难以建立其精确模型,或者由于数学模型过 于复杂而难以求解 ( 3 )半实物仿真:又称数学物理仿真或者混合仿真。为了 提高仿真的可信度或者针对一些难以建模的实体,在 系统研究中往往把数学模型、物理模型和实体结合起 来组成一个复杂的仿真系统,这种在仿真环节中存在 实体的仿真称为半物理仿真或者半物理仿真,如飞机 半实物仿真等。
5
10
15
如果系统中没有阻尼,则动力方程为:
第七章Simulink仿真案例

第七章 Simulink仿真
自动化与电气工程学院 许春磊
第七章 Simulink仿真
• • • • 7.1 Simulink基础 7.2 Simulink模型操作和仿真系统设置 7.3 系统建模实例 7.4 仿真系统中的子系统
• Simulink是MATLAB软件的一个软件包,能 够对动力学系统进行建模、仿真以及各种分 析。Simulink仿真模拟支持完全的图形化界 面。 • Simulink提供了图形用户界面,使得构建模 型变的更直观、简单,只需要鼠标的点击与 拖放。Simulink模块是分层次结构的,为用 户寻找需要的模块提供了方便,提高了工作 效率。所以Simulink是MATLAB软件一个非 常重要的组成部分。
4. Simulink模型窗口
• 模型窗口含有菜单栏、工具栏、编辑框和状态栏等部分
5. Simulink建模仿真示例
• • • • • • 例7.1 用Simulink模拟正弦信号产生与输出。 创建Simulink的步骤: (1) 创建新模型界面 (2) 添加正弦信号产生模块和波形显示模块 (3) 模块属性设置 (4) 运行仿真系统
• 创建Simulink仿真系统模型步骤如下: • (1) 将Sources模块库中Signal Generator模块拖入模型窗口;将 Continuous模块库中State-Space模块拖入模型窗口;将Sinks模块库中 Scope模块拖入模型窗口。 • (2) 连线,设置模块属性。Signal Generator模块,Wave form设置为 square,Amplitude设置为25;State-Space模块,Parameters A设置为 [-1/0.02, -0.3/0.02; 0.3/0.0001, -0.000005/0.0001],B设置为[1/0.02; 0] ,C设置为[0, 1],D设置为0,Initial conditions设置为[1, 10]。结果如图 7.40所示。 • (3) 将上面仿真系统模型保存为EXAMP07006,Stop time设置为2秒。
自动化与电气工程学院 许春磊
第七章 Simulink仿真
• • • • 7.1 Simulink基础 7.2 Simulink模型操作和仿真系统设置 7.3 系统建模实例 7.4 仿真系统中的子系统
• Simulink是MATLAB软件的一个软件包,能 够对动力学系统进行建模、仿真以及各种分 析。Simulink仿真模拟支持完全的图形化界 面。 • Simulink提供了图形用户界面,使得构建模 型变的更直观、简单,只需要鼠标的点击与 拖放。Simulink模块是分层次结构的,为用 户寻找需要的模块提供了方便,提高了工作 效率。所以Simulink是MATLAB软件一个非 常重要的组成部分。
4. Simulink模型窗口
• 模型窗口含有菜单栏、工具栏、编辑框和状态栏等部分
5. Simulink建模仿真示例
• • • • • • 例7.1 用Simulink模拟正弦信号产生与输出。 创建Simulink的步骤: (1) 创建新模型界面 (2) 添加正弦信号产生模块和波形显示模块 (3) 模块属性设置 (4) 运行仿真系统
• 创建Simulink仿真系统模型步骤如下: • (1) 将Sources模块库中Signal Generator模块拖入模型窗口;将 Continuous模块库中State-Space模块拖入模型窗口;将Sinks模块库中 Scope模块拖入模型窗口。 • (2) 连线,设置模块属性。Signal Generator模块,Wave form设置为 square,Amplitude设置为25;State-Space模块,Parameters A设置为 [-1/0.02, -0.3/0.02; 0.3/0.0001, -0.000005/0.0001],B设置为[1/0.02; 0] ,C设置为[0, 1],D设置为0,Initial conditions设置为[1, 10]。结果如图 7.40所示。 • (3) 将上面仿真系统模型保存为EXAMP07006,Stop time设置为2秒。
simulink入门及仿真实例

17
结果如下:上图为v(t), 下图为h(t).
18
r1 r2 1, n1 n2 100, s1 0.5, s2 2, x0 y0 10.
对x(t), y(t)进行模拟, 研究其发展趋势.
16
例3 弹跳的皮球(help/demos/simulink中的一个例子):
v(t) 15 tgdt, g 9.81, 0 t 数学模型:h(t) 10 0 v(t)dt, when h 0, v 0.8v.
4
子库 Continuous和 Discrete分别存放连续 和离散的函数, 如连续函数有Derivative(求导 数), Integrator(积分器), State-Space(状态空间), Transfer Fcn( 传 递 函 数 ) 等 等 , 离 散 的 有 Discrete Transfer Fcn(离散传递函数), Discrete Filter(离散滤波器), Discrete State-Space(离散 状态空间)等等. 在Simulink Library Browser窗口中, 建立 一个新模型(new model), 即打开一个新的空 白模型窗口, 用鼠标左键点取所需要的模块 拖到模型窗口中, 用鼠标左键在模块间建立 连接线(若在已有连接线上分叉则用右键)即 可.
Simulink入门
什么是Simulink? Simulink是MATLAB提供的实现动态 系统建模和仿真的一个软件包. 它让用户 把精力从编程转向模型的构造. Simulink一个很大的优点是为用户省 去了许多重复的代码编写工作,
1
Simulink的启动
首先须确定MATLAB已安装了Simulink工 具箱. 在工具栏点击Simulink图标:
simulink仿真简单实例

simulink仿真简单实例
一、模拟环境
1、MATLAB/Simulink 设计环境:
在MATLAB中开发Simulink模型,仿真模拟系统,开发系统塑造都可以在这个环境下进行。
2、LabVIEW 设计环境:
LabVIEW允许你以基于可视化技术的开发环境(VI)来创建测试,模拟,监控系统,以及自动化系统的可视化界面。
二、仿真实例
1、基于MATLAB/Simulink的仿真实例:
(1)传统的PID控制器
这是一个利用PID控制器控制速度的例子。
首先,建立一个简单的Simulink模型,包括PID控制器、电机和反馈器件。
之后,你可以调整PID参数,以提高系统的控制能力。
(2)智能控制
这是一个基于智能控制算法的实例。
通过使用神经网络,试图根据输入自动调整PID参数,使系统具有更强的控制能力。
2、基于LabVIEW的仿真实例:
(1)叉车仿真
这是一个使用LabVIEW来模拟电动叉车运行过程的实例。
你可以模拟叉车的启动过程,叉车行驶过程,并开发出任意的叉车控制算法。
(2)汽车仿真
这是一个使用LabVIEW进行汽车模拟的实例。
你可以模拟汽车的动力性能,并开发出任意类型的汽车控制算法,如路径规划算法,自动驾驶算法等。
第4章 SIMULINK仿真

• (9)Signal Attributes(信号属性模块库)和Signal Attributes(信号属性模块库) Routing(信号路由模块库) Routing(信号路由模块库)
• • • • • • • • • • • • • • • 这两个模块库主要是由描述信号系统的模块构成,其中主要模块有: Data Type Conversion (数据类型转换器) IC(初始状态); Probe(探测器); Width(带宽); Bus Creator(总线生成器); Bus Selector(总线选择器); Data Store Memory(数据记忆存储); Data Store Read(数据读存储); Data Store Write(数据写存储); From(导入); Goto(传出); Goto Tag Visibility(传出标记符可视性); Multiport Switch (多路选择开关); Mux(混合)
• (7)Model Verification(模型辨识模块库)和ModelVerification(模型辨识模块库) ModelUtilities(扩展模型模块库) Wide Utilities(扩展模型模块库) • 这两个模块库由描述模型辨识的和扩展模型模块构成,其 中主要模块有: • Assertion(确认); • Check Discrete Gradient(检查离散梯度); • Check Dynamic Range(检查动态系统范围); • Check Dynamic Lower Bound(检查动态系统低段范围) • Check Static Range(检查静态系统范围); • Check Input Resolution (检查输入分辨率); • DocBlock(模块注释文本); • Model Info(模型信息); • Timed-Based Linearization(基于时间的线性化模型)
Simulink建模仿真实例详解

使之能够重现原系统的各种状态。早期的仿真大多属 于这一类。 优点:直观,形象,至今仍然广泛应用。 缺点:投资巨大、周期长,难于改变参数,灵活性差。
(2)数学仿真:是用数学语言去描述一个系统,并编制程 序在计算机上对实际系统进行研究的过程。
优点:灵活性高,便于改变系统结构和参数,效率高 (可以在很短时间内完成实际系统很长时间的 动态演变过程),重复性好
模型可以分为实体模型和数学模型。
实体模型又称物理效应模型,是根据系统之间的相似性而建 立起来的物理模型,如建筑模型等。
数学模型包括原始系统数学模型和仿真系统数学模型。原始 系统数学模型是对系统的原始数学描述。仿真系统数学模型 是一种适合于在计算机上演算的模型,主要是指根据计算机 的运算特点、仿真方式、计算方法、精度要求将原始系统数 学模型转换为计算机程序。
crta n i m 2
Animation fu n cti o n
Inputs & Sensors1
Double Mass-Spring System
?
(Double click on the "?" for more info)
To start and stop the simulation, use the "Start/Stop" selection in the "Simulation" pull-down menu
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
2
3
4
5
6
7
8
9 10
例子2
单自由度系统:
初始条件:
m&x&+ cx& + kx = 0
(2)数学仿真:是用数学语言去描述一个系统,并编制程 序在计算机上对实际系统进行研究的过程。
优点:灵活性高,便于改变系统结构和参数,效率高 (可以在很短时间内完成实际系统很长时间的 动态演变过程),重复性好
模型可以分为实体模型和数学模型。
实体模型又称物理效应模型,是根据系统之间的相似性而建 立起来的物理模型,如建筑模型等。
数学模型包括原始系统数学模型和仿真系统数学模型。原始 系统数学模型是对系统的原始数学描述。仿真系统数学模型 是一种适合于在计算机上演算的模型,主要是指根据计算机 的运算特点、仿真方式、计算方法、精度要求将原始系统数 学模型转换为计算机程序。
crta n i m 2
Animation fu n cti o n
Inputs & Sensors1
Double Mass-Spring System
?
(Double click on the "?" for more info)
To start and stop the simulation, use the "Start/Stop" selection in the "Simulation" pull-down menu
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
2
3
4
5
6
7
8
9 10
例子2
单自由度系统:
初始条件:
m&x&+ cx& + kx = 0
第二章 Simulink仿真基础

2、Simulink的文件操作
Simulink模型的文件为MDL模型文件,其扩展 名为“.mdl”,是以ASCⅡ码形式存储的。
1. 新建文件 2. 打开文件
3、Simulink的模型窗口
模型窗口由菜单、工具栏、模型浏览器窗口、 模型框图窗口以及状态栏组成。
4、模块的操作
• 1. 对象的选定 • 2. 模块的复制 • 3. 模块的移动 • 4. 模块的删除 • 5. 改变模块大小 • 6. 模块的翻转 • 7. 模块名的编辑
பைடு நூலகம்、信号线的操作
• 1. 模块间连线 • 2. 信号线的分支和折曲
• 3. 信号线文本注释(label) • 4. 在信号线中插入模块
6、Simulink的基本模块
Simulink模型通常由三部分组成:输入信号源 (Source)、系统(System)以及接收模块(Sink) 。
输入
系
信号
统
源
接收 模块
Browser)窗口。 (2)新建一个空白模型窗口。 (3)打开Simulink下的Source子模块库。 (4)用鼠标将“Sine Wave”(正弦信号)拖放到的空白
窗口。 (5)将接收模块库“Sinks”的“Scope”模块(示波器)
拖放到窗口。 (6)完成两个模块间的信号线连接。 (7)开始仿真。 (8)保存模型。
转换函数模块
结束语
谢谢大家聆听!!!
33
信道编码的差错控制和纠错模块
Interleaving模块库
交织
Modulation模块库
连续相位调制 网格编码调制
RF Impairments模块库
Sequence Operations模块库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11
显示图形如下:
12
解法2 用Simulink
13
也可利用S-函数 (在 User-Defined Functios子 库中)自行定义所需要的 模块, 但须为其另外编写 S-函数. 例如上面的模型 利用S-函数可简化为右图. 其中S-函数模块要调用m文件shier_s.m, 调用 方法是双击S-Function图标, 在出现的对话框中SFunction一栏中填写"shier_s"(不必加扩展名m). 注意此m文件须在MATLAB的路径中. S-函数有 专门的模板sfuntmp1.m, 根据其说明编写起来并不 难. (注意, 模型和S-函数文件不要同名.)
4
子库 Continuous和 Discrete分别存放连续 和离散的函数, 如连续函数有Derivative(求导 数), Integrator(积分器), State-Space(状态空间), Transfer Fcn( 传 递 函 数 ) 等 等 , 离 散 的 有 Discrete Transfer Fcn(离散传递函数), Discrete Filter(离散滤波器), Discrete State-Space(离散 状态空间)等等. 在Simulink Library Browser窗口中, 建立 一个新模型(new model), 即打开一个新的空 白模型窗口, 用鼠标左键点取所需要的模块 拖到模型窗口中, 用鼠标左键在模块间建立 连接线(若在已有连接线上分叉则用右键)即 可.
Simulink入门
什么是Simulink? Simulink是MATLAB提供的实现动态 系统建模和仿真的一个软件包. 它让用户 把精力从编程转向模型的构造. Simulink一个很大的优点是为用户省 去了许多重复的代码编写工作,
1
Simulink的启动
首先须确定MATLAB已安装了Simulink工 具箱. 在工具栏点击Simulink图标:
r1 r2 1, n1 n2 100, s1 0.5, s2 2, x0 y0 10.
对x(t), y(t)进行模拟, 研究其发展趋势.
16
例3 弹跳的皮球(help/demos/simulink中的一个例子):
v(t) 15 tgdt, g 9.81, 0 t 数学模型:h(t) 10 0 v(t)dt, when h 0, v 0.8v.
8
显示结果如下:
9
例2 食饵-捕食者模型: 设食饵(如鱼, 兔等)数量为x(t), 捕食者 (如鲨鱼, 狼等)数量为y(t), 有
x x& x(ray) x& ray 0 或 , d bx y y& y( d bx) y 0 &
例1 动态画圆: (1) x cos t, y sin t ; (用正弦波发生器Sine Wave) 双击图标出现相应的模块参数框, 可在其中设置 参数. Sine Wave中Phase(相位)为pi/2, 实际为cos t; Sine Wave1中Phase为0.
6
x cos t, y ;xt((dt 用)正弦波发生器Sine Wave和积分 (2) 0 器Integrator) Sine Wave中 Phase(相位 )为 pi/2, 实际为 cos t; Integrator中 Initial condition(初始值)为0. XY Graph中, x的范围为 1.5~1.5, y的范围为 1.2~1.2.
17
结果如下:上图为v(t), 下图为h(t).
18
Simulink图标
或在Command Window中输入 >> Simulink 即出现Simulink Library Browser窗口:
2
3
从中可看到Simulink基本模块库及其子 库, 如Continuous, Discrete,…, Sinks, Sources 等等. 子库Sources(信源)中存放了各种信号 源, 如Clock(输出时间t), Constant(输出常数), Sine Wave(输出正弦波), Step(输出阶梯波) 等等. 子库Sinks(信宿)中存放对数据的处理 装置, 如Display(显示数据), Scope(示波器), XY Graph(用图形显示两变量的函数关系), To File(存储到文件), To Workspace(存储到 Workspace), Stop Simulation(停止模拟)等等.
14
XY Graph和Scope显示的结果如下:
15
作业 种群竞争模型: 两种群在同一环境中生存, 消耗同一资源, 其数学模型为
x y & x r1x(11 ns1 n 2), x y ). y& r2 y(1s2 n1 n2 其中x, y分别为甲 , 乙两种群的数量, r1, r2为固有增 长率, n1, n2为最大容量. s1表示乙种群单位数量所 消耗资源相对于甲种群单位数量所消耗资源的倍 数, s2意义类似, 不过是甲相对于乙. 令
设r = 1, d = 0.5, a = 0.1, b = 0.02, x(0) = 25, y(0) = 2. 求x(t), y(t)和y(x)的图形.
10
解法1 先编写m函数shier.m: function xdot=shier(t,x) r=1; d=0.5; a=0.1; b=0.02; xdot=diag([r-a*x(2), -d+b*x(1)])*x; Command Window中: ts=0:0.1:15; x0=[25,2]; [t,x]=ode45('shier',ts,x0); [t,x] plot(t,x), grid, gtext('x1(t)'), gtext('x2(t)'), pause, plot(x(:,1),x(:,2)), grid, xlabel('x1'), ylab, xyx& (3) (用状态空间State-Space) ,xy& 0)0(y State-Space中, A=[0, 1;1,0], B=[0;0], C=[1,0;0,1], D=[0;0]. Initial conditions为[1;0]. 双击XY Graph图标, 可定x的范围为 1.5~1.5, y的 范围为 1.2~1.2. Scope的y刻度可右击示波器刻度区 出现对话框, 进入Axes Propeties窗口确定.
显示图形如下:
12
解法2 用Simulink
13
也可利用S-函数 (在 User-Defined Functios子 库中)自行定义所需要的 模块, 但须为其另外编写 S-函数. 例如上面的模型 利用S-函数可简化为右图. 其中S-函数模块要调用m文件shier_s.m, 调用 方法是双击S-Function图标, 在出现的对话框中SFunction一栏中填写"shier_s"(不必加扩展名m). 注意此m文件须在MATLAB的路径中. S-函数有 专门的模板sfuntmp1.m, 根据其说明编写起来并不 难. (注意, 模型和S-函数文件不要同名.)
4
子库 Continuous和 Discrete分别存放连续 和离散的函数, 如连续函数有Derivative(求导 数), Integrator(积分器), State-Space(状态空间), Transfer Fcn( 传 递 函 数 ) 等 等 , 离 散 的 有 Discrete Transfer Fcn(离散传递函数), Discrete Filter(离散滤波器), Discrete State-Space(离散 状态空间)等等. 在Simulink Library Browser窗口中, 建立 一个新模型(new model), 即打开一个新的空 白模型窗口, 用鼠标左键点取所需要的模块 拖到模型窗口中, 用鼠标左键在模块间建立 连接线(若在已有连接线上分叉则用右键)即 可.
Simulink入门
什么是Simulink? Simulink是MATLAB提供的实现动态 系统建模和仿真的一个软件包. 它让用户 把精力从编程转向模型的构造. Simulink一个很大的优点是为用户省 去了许多重复的代码编写工作,
1
Simulink的启动
首先须确定MATLAB已安装了Simulink工 具箱. 在工具栏点击Simulink图标:
r1 r2 1, n1 n2 100, s1 0.5, s2 2, x0 y0 10.
对x(t), y(t)进行模拟, 研究其发展趋势.
16
例3 弹跳的皮球(help/demos/simulink中的一个例子):
v(t) 15 tgdt, g 9.81, 0 t 数学模型:h(t) 10 0 v(t)dt, when h 0, v 0.8v.
8
显示结果如下:
9
例2 食饵-捕食者模型: 设食饵(如鱼, 兔等)数量为x(t), 捕食者 (如鲨鱼, 狼等)数量为y(t), 有
x x& x(ray) x& ray 0 或 , d bx y y& y( d bx) y 0 &
例1 动态画圆: (1) x cos t, y sin t ; (用正弦波发生器Sine Wave) 双击图标出现相应的模块参数框, 可在其中设置 参数. Sine Wave中Phase(相位)为pi/2, 实际为cos t; Sine Wave1中Phase为0.
6
x cos t, y ;xt((dt 用)正弦波发生器Sine Wave和积分 (2) 0 器Integrator) Sine Wave中 Phase(相位 )为 pi/2, 实际为 cos t; Integrator中 Initial condition(初始值)为0. XY Graph中, x的范围为 1.5~1.5, y的范围为 1.2~1.2.
17
结果如下:上图为v(t), 下图为h(t).
18
Simulink图标
或在Command Window中输入 >> Simulink 即出现Simulink Library Browser窗口:
2
3
从中可看到Simulink基本模块库及其子 库, 如Continuous, Discrete,…, Sinks, Sources 等等. 子库Sources(信源)中存放了各种信号 源, 如Clock(输出时间t), Constant(输出常数), Sine Wave(输出正弦波), Step(输出阶梯波) 等等. 子库Sinks(信宿)中存放对数据的处理 装置, 如Display(显示数据), Scope(示波器), XY Graph(用图形显示两变量的函数关系), To File(存储到文件), To Workspace(存储到 Workspace), Stop Simulation(停止模拟)等等.
14
XY Graph和Scope显示的结果如下:
15
作业 种群竞争模型: 两种群在同一环境中生存, 消耗同一资源, 其数学模型为
x y & x r1x(11 ns1 n 2), x y ). y& r2 y(1s2 n1 n2 其中x, y分别为甲 , 乙两种群的数量, r1, r2为固有增 长率, n1, n2为最大容量. s1表示乙种群单位数量所 消耗资源相对于甲种群单位数量所消耗资源的倍 数, s2意义类似, 不过是甲相对于乙. 令
设r = 1, d = 0.5, a = 0.1, b = 0.02, x(0) = 25, y(0) = 2. 求x(t), y(t)和y(x)的图形.
10
解法1 先编写m函数shier.m: function xdot=shier(t,x) r=1; d=0.5; a=0.1; b=0.02; xdot=diag([r-a*x(2), -d+b*x(1)])*x; Command Window中: ts=0:0.1:15; x0=[25,2]; [t,x]=ode45('shier',ts,x0); [t,x] plot(t,x), grid, gtext('x1(t)'), gtext('x2(t)'), pause, plot(x(:,1),x(:,2)), grid, xlabel('x1'), ylab, xyx& (3) (用状态空间State-Space) ,xy& 0)0(y State-Space中, A=[0, 1;1,0], B=[0;0], C=[1,0;0,1], D=[0;0]. Initial conditions为[1;0]. 双击XY Graph图标, 可定x的范围为 1.5~1.5, y的 范围为 1.2~1.2. Scope的y刻度可右击示波器刻度区 出现对话框, 进入Axes Propeties窗口确定.