连续系统数字仿真思维导图
系统仿真技术_第2章 经典的连续系统仿真建模方法学.ppt
h 2 k1 )
tn时刻,应计算k1,利用当前的un,yn,需要h / 2;
tn+h/2时刻,应计算k2,此时yn +1/2已经得到,un +1/2也
可得到,k2的计算就不会引入新的误差。计算一次右
端函数
2019年8月3
f
需要 h / 2 ,可实感谢时你的输观看出yn
+1。
20
实时龙格-库塔法(续)
离散模型≈原连续模型?
2019年8月3
感谢你的观看
2
相似原理
设系统模型为:y f (y ,u,t ) ,其中u(t)为输
入变量,y(t)为系统变量;令仿真时间间隔为
h,离散化后的输入变量为uˆ(tn ) ,系统变量 为 yˆ(tn ),其中 tn 表示t=nh。
如果 uˆ(tn ) u(tn ) , 且 yˆ(tn ) y(tn )
系统仿真技术
第2章 经典的连续系统仿真建模方法学
xx 合肥工业大学机械与汽车工程学院
2019年8月3
感谢你的观看
1
2.1 离散化原理及要求
问题:数字计算机在数值及时间上的离散性---被仿真系统数值及时间上的连续性?
连续系统的仿真,从本质上:对原连续系统 从时间、数值两个方面进行离散化并选择合 适的数值计算方法来近似积分运算
tn
则有 y(tn1 ) yn1 yn Qn
Qn 的数值求解:称作“右端函数”计算问
题t0 。
h2
在 附y近展y开泰f (勒t ,级y )数h ,1只(保f d留y 项f ),h则2 有:
1
0
00
2 y dt t t0
2019年8月3
第09讲 连续系统的数字仿真
9
ode45:四/五阶龙格-库塔法,它采用的是单步法, 也就是说它在计算y(tn)时,它仅需要最近处理时刻的 结果y(tn-1)。该算法对于大多数系统有效,最常用, 但不适用于刚性(stiff)系统。 discrtet:当Simulink检测到模型中没有连续状态 时所选择的一种算法。
10
定步长(Fixed-step)算法
15
单任务模式(Single
Tasking)
该模式不检查模块间的采样速率转换。该模式 对于建造单任务系统模型非常有用,在此类系统中, 任务同步不是问题。
自动模式(Auto)
当选用此模式时,如果模型中所有模块运行于 同样的采样率下, Simulink 使用单任务模式;如果 模型包含有不同采样速率运行的模块,则使用多任 务模式。
25
(1) 利用示波器模块(Scope)得到输出结果
当利用示波器模块作输出时,它不仅会自动地将 仿真的结果从示波器上实时地显示出来。而且也可同 时把示波器缓冲区存储的数据,送到MATLAB工作 空间指定的变量中保存起来,以便利用绘图命令在 MATLAB命令窗口里绘制出图形。
26
在示波器模块的窗口中,利用快捷按钮“ ”, 可打开如图6-35所示的示波器模块参数(parameters) 对话框。示波器参数对话框中有两个页面,图6-35 (a)为一般参数设置(General),图6-35(b)为 数据存储参数设置(Data history)。
数字化仿真基础知识点总结
数字化仿真基础知识点总结数字化仿真(Digital Simulation)是通过运用计算机技术和数学模型,模拟实际系统的运行过程,以便对其进行分析、优化和预测的一种技术手段。
数字化仿真既可以用于工程设计、生产过程优化,也可以用于演练、教育和娱乐等领域。
本文将从数字化仿真的基础知识出发,介绍数字化仿真的定义、分类、方法和应用等方面的内容,希望能够对读者有所启发。
一、数字化仿真的定义数字化仿真是利用计算机技术和数学模型,对实际系统的运行过程进行模拟,以便对其进行分析、优化和预测的一种技术手段。
数字仿真可分为离散仿真和连续仿真两大类。
离散仿真是对系统中各离散事件(如交通流量、生产任务等)进行模拟,而连续仿真是对系统中各连续变化量进行模拟。
二、数字化仿真的分类数字化仿真可以按照仿真的目的、仿真的对象以及仿真的工具等不同角度进行分类。
1. 按照仿真的目的分类数字化仿真可以分为训练仿真、设计仿真、决策仿真三种类型。
训练仿真是在实际操作之前,通过数字化仿真技术对操作者进行系统的培训。
设计仿真是利用数字化仿真对产品的各种性能参数进行测试和评估。
决策仿真侧重于通过仿真技术,对不同方案进行评估和比较,以便进行决策。
2. 按照仿真的对象分类数字化仿真可以分为实时仿真、离线仿真两种类型。
实时仿真通常用于模拟实际系统的运行过程,以便对其进行监控和优化。
离线仿真主要用于对系统在不同工况下的性能进行分析和评估。
3. 按照仿真的工具分类数字化仿真可以分为连续仿真和离散仿真。
连续仿真主要应用于对系统中各连续变化量进行模拟。
离散仿真主要应用于对系统中各离散事件进行模拟。
三、数字化仿真的方法数字化仿真的方法主要包括建模、仿真、评估和优化四个步骤。
1. 建模建模是数字化仿真的第一步。
建模的目的是将实际系统的特性用数学模型进行描述。
建模的过程中,需要考虑系统的结构、功能和特性等因素,选择合适的建模方法和工具。
常用的建模方法包括系统动力学建模、离散事件建模、连续系统建模等。
“双闭环控制直流电动机调速系统”数字仿真实验
“双闭环控制直流电动机调速系统”数字仿真实验24、SIMULINK建模我们借助SIMULINK,根据上节理论计算得到的参数,可得双闭环调速系统的动态结构图如下所示:图7 双闭环调速系统的动态结构图(1)系统动态结构的simulink建模①启动计算机,进入MATLAB系统检查计算机电源是否已经连接,插座开关是否打开,确定计算机已接通,按下计算机电压按钮,打开显示器开关,启动计算机。
打开Windows开始菜单,选择程序,选择MATAB6.5.1,选择并点击MATAB6.5.1,启动MATAB程序,如图8,点击后得到下图9:图8选择MATAB程序图9 MATAB6.5.1界面点击smulink 中的continuous,选择transfor Fc n(传递函数)就可以编辑系统的传递函数模型了,如图10。
图10 smulink界面②系统设置选择smulink界面左上角的白色图标既建立了一个新的simulink模型,系统地仿真与验证将在这个新模型中完成,可以看到在simulink目录下还有很多的子目录,里面有许多我们这个仿真实验中要用的模块,这里不再一一介绍,自介绍最重要的传递函数模块的设置,其他所需模块参数的摄制过程与之类似。
将transfor Fc n(传递函数)模块用鼠标左键拖入新模型后双击transfor Fc n(传递函数)模块得到图11,开始编辑此模块的属性。
图11参数表与模型建立参数对话栏第一和第二项就是我们需要设置的传递函数的分子与分母,如我们需要设置电流环的控制器的传递函数:0.01810.0181()0.2920.0180.062ACR s s W s s s++=⋅=,这在对话栏的第一栏写如:[0.018 1],第二栏为:[0.062 0]。
点击OK ,参数设置完成。
如图12。
图12传递函数参数设置设置完所有模块的参数后将模块连接起来既得到图7所示的系统仿真模型。
在这里需要注意的是,当我们按照理论设计的仿真模型得到的实验波形与理想的波形有很大的出入。
计算机与CAD仿真第4章连续系统按环节离散化的数字仿真
xk 1 Gxk Hu k uk yk 1 c x d uk 1
a T b Ge T a a (T ) c T c d (1 e b ) H e b b a 0 T a a (T ) c T c d 2 (aT b be b ) e b b a 0 ad c 1 cb d d b
表4-2 非线性环节标志
标 志 FZ=0
FZ=1 FZ=2
说 明 典型环节前后均无非线性环节
典型环节前有饱和非线性环节,应修正其输入u 典型环节前有死区非线性环节,应修正其输入u
FZ=3
FZ=4 FZ=5
典型环节前有滞环非线性环节,应修正其输入u 典型环节前有继电器非线性环节,应修正其输 入u 典型环节后有饱和非线性环节,应修正其输出x 典型环节后有死区非线性环节,应修正其输出x
sX(s) X(0) AX(s) BU(s)
或者:
( sI A) X( s) X(0) BU( s)
sI A1
1
上式两边左乘
,可得
1
X(s) (sI A) X(0) (sI A) BU(s)
令: L1[(sI A) 1 ] Φ(t ) ,称为系统状态转移矩阵。
x[(k 1)T ] Gx(kT ) Hu (kT ) u(kT )
G e AT
T
式中:
H
e A(T t ) Bdt
0
T
te A(T t ) Bdt
0
2. 关于离散相似法的几点说明及结论
1. 它是一个递推算法(但不是数值积分法)。
2.G, H ,
连续系统仿真的方法.
第3章 连续系统仿真的方法3.1 数值积分法连续系统数值积分法,就是利用数值积分方法对广微分方程建立离散化形式的数学模型——差分方程,并求其数值解。
可以想象在数学计算机上构造若干个数字积分器,利用这些数字积分器进行积分运算。
在数字计算机上构造数字积分器的方法就是数值积分法,因而数字机的硬件特点决定了这种积分运算必须是离散和串行的。
把被仿真系统表示成一阶微分方程组或状态方程的形式。
一阶向量微分方程及初值为()(),00t Y Y t Y ⎧⎫⎪⎪⎨⎬⎪⎪⎩⎭Y =F =(3-1)其中,Y 为n 维状态向量,F (t ,Y )为n 维向量函数。
设方程(3-1)在011,,,,n n t t t t t +=…处的形式上的连续解为()()()()n+1n+1t t n+10t t t =Y t +,(),n Y F t Y dt Y t F t Y dt=+⎰⎰(3-2)设 n =()n Y Y t ,令1n n n Y Y Q +=+(3-3)则有:()1n+1t n Y Y +=也就是说,1(,)n nt n t Q F t Y dt +≈⎰(3-4)如果n Y 准确解()n Y t 为近似值,n Q 是准确积分值的近似值,则式(3-4)就是式(3-2)的近似公式。
换句话说,连续系统的数值解就转化为相邻两个时间点上的数值积分问题。
因此,所谓数值解法,就是寻求初值问题(3-1)的真解在一系列离散点12n t t t <…<…上的近似解12,,,n Y Y Y ……,相邻两个时间离散点的间隔1n n n t t +=-h ,称为计算步距或步长,通常取n =h h 为定值。
可见,数值积分法的主要问题归结为对函数(,)F t y 的数值积分问题,即如何求出该函数定积分的近似解。
为此,首先要把连续变量问题用数值积分方法转化成离散的差分方程的初值问题,然后根据已知的初值条件0y ,逐步地递推计算后续时刻的数值解(1,2,)i y i =…。
面向结构图的连续系统数字仿真
课程设计面向结构图的连续系统数题目字仿真学院计算机科学与信息工程学院专业自动化班级2010级2班学生姓名小指导教师吴诗贤2013 年12 月20 日面向结构图的连续系统数字仿真姓名:陶园班级:10自动化3班学号:2010133330摘要根据自动控制系统中面向结构图的数字仿真的基本思想,探讨了仿真过程中典型环节的规范性、系统的连接矩阵、仿真求解、程序框图问题,并应用到实际的范例当中,并分析了结果总结了相关特点和相关结论。
自动控制系统常常是由许多环节组成的,要应用数字仿真方法对系统进行分析和研究,首先需要求出总的传递函数,再转化为状态空间表达式的形式,然后对其求解。
当改变系统某一环节的参数时,尤其是要改变小闭环中某一环节的参数时,以上整个过程又需要重新计算,这对研究对象参数变化对整个控制系统的影响是十分不便的,为了克服这些缺点,同时大多数从事自动化工作的科技人员更习惯于用结构图的形式来分析和研究控制系统,为此产生了面向结构图的仿真方法。
该方法只需将各个环节的参数及各环节间的连接方式输入计算机,仿真程序就能自动求出闭环系统的状态空间表达式。
本课程设计主要介绍典型环节参数和连接关系构成闭环系统的状态方程的方法,而动态响应的计算,仍采用四阶龙格-库塔法。
这种方法具有便于研究各个环节参数对系统的影响,并可以得到每个环节的动态响应,以及对多输入输出系统的进行仿真的有点。
关键字:结构图;典型环节;连接矩阵;数字仿真;1、设计任务已知某一系统结构如下图所示,编写matlab程序求a分别为2,4,6,8,10,12时输出量y的动态响应。
图12、需求分析及概要设计2.1 需求分析根据上述设计任务我们可以基本明确在我们课程设计当中应该明确以下几个方面:✓熟悉在数字计算机仿真技术中常用的四阶龙格-库塔算法。
✓明确在面向结构图的连续系统数字仿真,典型环节及其系数矩阵确定。
✓明确各连接矩阵的确定。
✓能够熟练运用MATLAB仿真软件。
SIMULINK仿真连续系统建模解析
simulink 模块操作
• 1、向量化模块和标量扩展 1)向量化模块 在SIMULINK库中的几乎所有模块都是所 谓的向量化模块。向量化模块输入量和输 出量之间的关系是符合数学规则的向量关 系 y F ( x1 , x2 ,...,xn ) ,式中x1,x2,…,xn可以是标 量或向量,但所有向量必须长度相同。
• 3、插入模块 如果一个模块只有一个输入口和一个输出口,那 么该模块可以直接被插入到一条信号线中间去。 4、信号线标识(label) 添加标识:双击需要添加标识的信号线,弹出 一个空白的文字填写框。在其中输入文本,作为 对该信号线的标识。输入结束后,只需将光标移 出该编辑框,点击鼠标左键即可。 修改标识:点击需要修改的标识,原标识四周 出现一个编辑框,此时即可修改标识。 移动标识:点击标识,待编辑框出现后,将光 标指向编辑框,按下鼠标后拖动至新位置。
XY Graph
显示XY图形
利用MATLAB图形窗显示XY曲线。纵横坐标范围都可 设置。
连续系统建模
• 所谓连续时间系统,是指可以用微分方 程来描述的系统。现实世界中的多数物理 系统都是连续时间的。连续系统可以分为 两类:线性的和非线性的。 • 用来建模连续系统的模块大多位于 SIMULINK模块组队Continuous、Math以 及Nonlinear模块库中。
• 复制标识:类似于移动标识,只是要求同 时按下ctrl键,或者改用鼠标右键操作。 • 删除标识:点击标识,待编辑框出现后, 双击标识使得整个标识被全部选中,按 “delete”键。
常用的Source库信源
名称 模块形状 功能 说明
Clock
仿真时钟
输出每个仿真步点的时刻
Constant
仿真技术实验程序及思考题解答(仅供参考)
实验一 连续系统的数字仿真一、实验目的1. 熟悉Matlab 中m 文件的编写;2. 掌握龙格-库塔法的基本原理。
二、实验设备计算机、MATLAB 软件三、实验内容假设单变量系统如图所示。
试根据四阶龙格-库塔法,求系统输出y 的动态响应。
1.首先把原系统转化为状态空间表达式:⎪⎩⎪⎨⎧=+=•CXy bu AX X ,根据四阶龙格-库塔公式,可得到: ⎪⎩⎪⎨⎧=++++=+++1143211)22(6k k k k CX y K K K K h X X (1) 其中: ⎪⎪⎪⎩⎪⎪⎪⎨⎧+++=+++=+++=+=)()()2()2()2()2()(3423121h t bu hK X A K h t bu K h X A K h t bu K h X A K t bu AX K k k k k k k k k (2) 根据(1)、(2)式编写仿真程序。
2.在Simulink 环境下重新对上述系统进行仿真,并和1中结果进行比较。
四、实验结果及分析要求给出系统输出响应曲线,并分析计算步长对龙格-库塔法的影响。
计算步长对龙格-库塔法的影响:单从每一步看,步长越小,截断误差就越小,但随着步长的缩小,在一定求解范围内所要完成的步数就增加,不但引起计算量的增大,而且可能导致舍入误差严重积累,因此同积分的数值计算一样,微分方程的解法也有选择步长的问题。
源程序:r=5;numo=[1];deno=[1 4 8 5];numh=1;denh=1;[num,den]=feedback(numo,deno,numh,denh);[A,b,C,d]=tf2ss(num,den);Tf=input('仿真时间 Tf= ');h=input('计算步长 h=');x=[zeros(length(A),1)];y=0;t=0;for i=1:Tf/h;K2=A*(x+h*K1/2)+b*r;K3=A*(x+h*K2/2)+b*r;K4=A*(x+h*K3)+b*r;x=x+h*(K1+2*K2+2*K3+K4)/6;y=[y;C*x];t=[t;t(i)+h];endplot(t,y)Tf=5 h=0.02五、思考题1.试说明四阶龙格-库塔法与计算步长关系,它与欧拉法有何区别。