建模仿真PPT
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注意这里调用了 ousta_fod函数,我们 将在M文件里给出
其余部分设计为:
【例】求解分数阶线性微分百度文库程
D
3.5 t
y(t ) 8D
3.1 t
y(t ) 26D
0.5 t
2.3 t
y(t ) 73D
1.2 t
y(t ) 90D
0.5 t
y(t ) 90sin(t 2 )
选择:
例:
求解Lorenz模型的状态方程,初值为 x1(0)=x2(0)=0,x3(0)=1e-10;
8/ 3, 10, 28
求解Lorenz模型的状态方程,
x 1(t ) x1(t ) x 2(t ) x 3(t ) x 2(t ) x 2(t ) x 3(t )
采用Simulink的模块封装技术
封装模块
分数阶微分滤波器
要求双击封装模块时显 示的是右边的对话框, 即允许用户填写设计 Oustaloup滤波器所需的 参数。
下面我们在模块封装初始化栏目应该填写下图所示语句,以便在使用 模块前先自动设计出滤波器,并根据阶次正确显示图标(Edit mask )
.
这类微分方程又称作中性延迟微分方程,所以单纯采用dde23()(隐式龙格-库塔) 无法解,但是可以通过建模求解,考虑原始方程,可以安排一个积分器,使得其输 出为x(t),其输入自然为x‘(t),分别给这两个信号连接延迟环节,并设置延迟常 数搭建模型如下
非线性分数阶微分方程近似解法
利用 Oustaloup 滤波器近似,可以构造出 Simulink 模块 c10mfode.mdl 模块可以直接应用与建模
主要模块
当然,先把输出函数放 到M文件里,方便调用
Delay.m
>>[t,x]=sim('c7mdde2',[0 ,10]);plot(t,x) 结果显示双击Scope即可
我们也可以用上例的方法,选择三个状态变量选择三个积 分器,做出Simulink模型
假设x1 =x,x2 y, x3 y
主要模块
【例】求解延迟微分方程式,用Simulink搭建微分方 程模型,并得出其数值解
x (t ) 3 x (t ) 1 y (t 1) 0.2 x 3 (t 0.5) x(t 0.5)
.
(t ) 3 y (t ) 2 y (t ) 4 x(t ) y
x 3(t ) x1(t ) x 2(t ) x 2(t ) x 3(t )
编写函数: function xdot = lorenzeq(t,x)
xdot=[-8/3*x(1)+x(2)*x(3); -10*x(2)+10*x(3); -x(1)*x(2)+28*x(2)-x(3)];
一阶状态方程模型:
x1 (t ) 1 x1 (t ) x2 (t )(t 1) 0.2 x 31 (t 0.5) x1 (t 0.5) x2 (t ) x3 (t ) x3 (t ) 4 x1 (t ) 3 x3 (t ) 2 x2 (t )
2
3
使用Simulink来建模、仿真和分析各种动态 系统(包括连续系统、离散系统和混合系统), 将是一件轻松的事情
启用Simulink并建立系统模型
启动Simulink有两种方式: (1)用命令行方式启动Simulink。(>>simulink) (2)使用工具栏按钮启动Simulink 建立系统模型,完成Simulink系统模型的编辑之 后,需要保存系统模型,然后设置模块参数与系 统仿真参数,最后便可以进行系统的仿真。
中心模块,仿 真建模主要部 分
显示形式包括 图形显示,示 波器显示和输 出到文件或 Matlab工作间
仿真运行原理
模块初始化 模型执行 确定模块更新次序
Simulink使用实例
一个生长在罐中的细菌的简单模型 假设细菌的出生率和当前细菌的总数成正比,且死亡率和当前的总数 的平方成正比。若比x代表当前细菌的总数,则细菌的出生率表示为: birth_rate=bx 细菌的死亡率表示为 death_rate=px² 细菌数量的总变化率可表示为出生率与死亡率之差。于是此系统可表 示为如下的微分方程: x´=∂x/∂t =bx-px² 假设b=1/h,p=0.5/h,当前细菌的总数为100,计算一个小时后罐 中的细菌总数。 解:解答此题只需对x´从0到1积分。 创建Simulink模型 1.添加模块(积分模块,两个增益模块,求和模块,乘法模块, 示波器模块) 2.连接模块 3.设置仿真参数(增益参数,求和模块,初始化变量—积分模块, 终止时间—模型参数 ) 4.运行模型
3) 半实物仿真:又称数学物理仿真或者混合仿真 。为了提高仿真的可信度或者针对一些难以建模 的实体,在系统研究中往往把数学模型、物理模 型和实体结合起来组成一个复杂的仿真系统,这 种在仿真环节中存在实体的仿真称为半实物仿真 或者半物理仿真。这样的仿真系统有飞机半实物 仿真、射频制导导弹半实物仿真等,并且许多模 拟器也属于半实物仿真。
Simulink模块库简介与使用
Simulink
的 模 块 库 浏 览 器
构建Simulink框图 创建模型
添加模块
连接模块
设置仿真参数
运行模型仿真
运行结果图示
Simulink是如何工作的
模型基本结构
信号源模块 被模拟的系统模块 输出显示模块
系统的输入, 包括常数信号 源,函数信号 发生器和自定 义信号
4.仿真的作用
仿真技术具有很高的科学研究价值和巨大的经济 效益。由于仿真技术的特殊功效,特别是安全性 和经济性,使得仿真技术得到广泛的应用。首先 由于仿真技术在应用上的安全性,使得航空、航 天、核电站等成为仿真技术最早的和最主要的应 用领域
归纳起来,仿真技术的主要用途有如下几点: (1) 优化系统设计。 (2) 系统故障再现,发现故障原因 (3) 验证系统设计的正确性。 (4) 对系统或其子系统进行性能评价和分析。 (5) 训练系统操作员。 (6) 为管理决策和技术决策提供支持。
5.仿真的过程
LOGO
动态系统的Simulink仿真
Simulink的介绍与简单例子
What’s Simulink
1
一种用来实现计算机仿真的软件工具; Matlab的一个附加组件;提供一个系统级 的建模与动态仿真平台;应用领域广泛 特点:基于矩阵的数值计算;高级编程语 言;图形与可视化;工具箱提供面向具体 应用领域的功能;丰富的数据I/O 工具;提 供与其它高级语言的接口;支持多平台(PC / Macintosh / UNIX);开放与可扩展的体系 结构
当然我们可以直接观察Matlab工具箱原有的 Lorenz
输入 >>Lorenz;
下面我们用Simulink来进行仿真,并进行比较
把下面的函数写入到M文件,命名Lorenz1,方便调用; >>beta=8/3;rho=10;sigma=28; [t,x]=sim('c7mlor1b',[0,100]);plot(t,x);figure;comet3(x(:,1),x(:,2),x(: ,3)); >>%comet,采用动画效果 结果我们在Matlab实现 我们在命令窗口输入: >>Lorenz1;
第一个方程式变换成:
x (t ) 3 x (t ) 1 y (t 1) 0.2 x 3 (t 0.5) x(t 0.5)
.
求解:将方程理解成想x(t)为传递函数模型1/(s+3)的输出信号,
而该函数的输入信号为上式的右边。第二个方程可以理解为: y(t)是传递函数模块4/(s^2+3s+2)的输出信号而该模块 的输入信号为x(t),在x(t)和y(t)信号上连接延迟模块 Transport Delay可以得出信号的延迟。
>>t_final=100; x0=[0;0;1e-10]; [t,x]=ode45('lorenzeq',[0,t_final],x0); plot(t,x); figure; % 打开新图形窗口 plot3(x(:,1),x(:,2),x(:,3)); axis([10 42 -20 20 -20 25]); % 根据实际数值手动 设置坐标系 comet3(x(:,1),x(:,2),x(:,3));
3.计算机仿真
计算机仿真是在研究系统过程中根据相似原理, 利用计算机来逼真模拟研究对象。研究对象可以 是实际的系统,也可以是设想中的系统。在没有 计算机以前,仿真都是利用实物或者它的物理模 型来进行研究的,即物理仿真。物理仿真的优点 是直接、形象、可信,缺点是模型受限、易破坏 、难以重用。
计算机作为一种最重要的仿真工具,已经推出了 模拟机、模拟数字机、数字通用机、仿真专用机 等各种机型并应用在不同的仿真领域。除了计算 机这种主要的仿真工具外还有两类专用仿真器: 一类是专用物理仿真器,如在飞行仿真中得到广 泛应用的转台,各种风洞、水洞等;另一类是用 于培训目的的各种训练仿真器,如培训原子能电 站、大型自动化工厂操作人员和训练飞行员、宇 航员的培训仿真器、仿真工作台和仿真机舱等
(2) 数学仿真:数学仿真就是用数学语言去表述 一个系统,并编制程序在计算机上对实际系统进 行研究的过程。这种数学表述就是数学模型。数 学仿真把研究对象的结构特征或者输入输出关系 抽象为一种数学描述(微分方程、状态方程,可分 为解析模型、统计模型)来研究,具有很大的灵活 性,它可以方便地改变系统结构、参数;而且速 度快,可以在很短的时间内完成实际系统很长时 间的动态演变过程;精确度高,可以根据需要改 变仿真的精度;重复性好,可以很容易地再现仿 真过程。
LOGO
Matlab在建模仿真中的应用
LOGO
建模仿真技术概述
1.仿真的概念
仿真是以相似性原理、控制论、信息技术及相 关领域的有关知识为基础,以计算机和各种专用 物理设备为工具,借助系统模型对真实系统进行 试验研究的一门综合性技术。它利用物理或数学 方法来建立模型,类比模拟现实过程或者建立假 想系统,以寻求过程的规律,研究系统的动态特 性,从而达到认识和改造实际系统的目的。
【例】x(t ) A1x(t 1) Ax2 (t 2 ) Bu(t ).其中1 0.15, 2 0.5, 用
Simulink搭建系统模型
0.02 A2 0 0 0 0.03 0 0 0.04 0
13 A1 106 207 3 116 62 207 113 3 0 B 1 2
模块连接解释
0.5
Gain
×
Product 1
x´=∂x/∂t =bx-px²
-
+
-
S
Sum
Integrator
Scope
Gain1
LOGO
微分方程的Simulink求解 及Matlab数字电路仿真
微分方程的Simulink建模与求解
建立起微分方程的 Simulink 模型 可以用 sim( ) 函数对其模型直接求解 得出微分方程的数值解
z (t ) D
y (t )
变换:
z (t ) sin(t 2 ) 1/ 90{D 73D
1.2 t 3.5 t
y (t ) 8D
3.1 t
y (t ) 26D
2.3 t
y (t )
y (t )}
模型:c10mfode1.mdl
相似性原理是仿真主要的理论依据。所谓相似, 是指各类事务或对象间存在的某些共性。相似性 是客观世界的一种普遍现象,它反映了客观世界 不同事物之间存在着某些共同的规律。采用相似 性技术建立实际系统的相似模型就是仿真的本质 过程。
2. 仿真分类
按照实现方式的不同可以将系统仿真分为如下几 类: (1) 实物仿真:又称物理仿真。它是指研制某些实 体模型,使之能够重现原系统的各种状态。早期 的仿真大多属于这一类。它的优点是直观形象, 至今仍然广泛应用。但是为系统构造一套物理模 型,将是一件非常复杂的事情,投资巨大,周期 长,且很难改变参数,灵活性差。