经典的连续系统仿真建模方法(实验报告)
系统工程之连续系统仿真

b1s n 1 b2 s n 2 bn Y (s) G ( s) n n 1 U ( s ) s a1s an 1s an Y (s) X (s) X (s) U (s) (b1s
n 1
b2 s
n2
1 bn ) n s a1s n 1 an 1s an
Part 1 连续系统模型概述
系统的概念:所谓系统,是由相互联系、相互作 用的若干部分,以一定的结构组成的具有特定功 能的整体。 模型的概念:对系统的特征与变化规律的一种定 量抽象,是人们用以认识事物的一种手段。
•模型是现实系统的一种抽象,是在一定假设条件下对系统 的转化。 •模型中必须包含系统中的主要因素。 •模型中必须反映出主要因素之间的逻辑关系和数学关系。
系统仿真的应用
•对已有系统进行分析时,采用系统仿真时仿真成 为系统分析器。 •对尚未有的系统进行设计时,采用仿真技术考察 其性能是否满足预定要求,这时仿真是系统设计 器。 •在系统运行时,利用仿真模型作为观测器。 •在系统运行前,利用仿真模型作为预测器。 •利用仿真模型作为训练器,训练系统操作人员, 仿真成为训练仿真器。
系统
系统建模
模型
仿真试验
计算机
系统是研究的对象 模型是系统的抽象 仿真是对模型实验
仿真建模
计算机仿真的三个活动 • 系统建模是通过对实际系统的观测和检测,在忽略次要因 素及不可检测变量的基础上,用物理或数学的方法进行描 述,从而获得实际系统的简化近似模型。 • 仿真建模是将系统模型转化为仿真模型的过程,仿真模型 反映了系统模型同计算机之间的关系,它能为计算机所接 受并在其上运行。 • 仿真实验是将系统的仿真模型置于计算机上运行的过程。
SIMULINK仿真连续系统建模

• 积分模块:只是把他们的名称分别改为Int1,Int2。
• G1和G2增益模块:它们的方向旋转可以借助菜 单[Format:Rotate Block]实现。
• Scope示波器:先双击该模块,出现示波窗;点 击工具图标 ,引出参数设置页;在Data history页中,勾选Save data to workspace。这将 送入示波器的数据同时被保存在MATLAB基本空 间的缺省名为ScopeData的构架数组中。
移动标识:点击标识,待编辑框出现后,将光 标指向编辑框,按下鼠标后拖动至新位置。
• 复制标识:类似于移动标识,只是要求同 时按下ctrl键,或者改用鼠标右键操作。
• 删除标识:点击标识,待编辑框出现后, 双击标识使得整个标识被全部选中,按 “delete”键。
常用的Source库信源
名称 模块形状
• 例:物理背景:如图所示喷射动力车的定位控制 问题。要求设计一个控制器,其目标是:当车辆 的位移和速度为正时,控制器点燃右发动机;当 车辆的位移和速度为负时,控制器点燃左发动机, 直至车辆停止在坐标原点。
x
F
m
装置左右喷射发动机的车辆示意图
• 1)根据车辆的动态方程,构作基本仿真模 型
在阻力忽略不计的假设下,据牛顿定理 可写出 mx F 。又设喷射力F=1,车质 量m=5,初始条件是 x(0) 0 ,x(0) 1
• Int2积分模块:它的输入是速度,输出是位移。 初始值为1。
• XY Gragh绘图器:它的上、下端口分别作为图形 坐标的横、纵坐标变量。
仿真课件 4 经典的连续系统仿真建模方法学2

x
k
可得前后两步误差之间的关系为
k 1 k (1 h
1 h
h 2 2 2
h 2 2 2
h 33 6
h 4 4 24
)
所以,RK-4法计算稳定的条件是
h 33 6
h 4 4 24
1
(3-26)
3.3
稳定性分析
算欧拉法最大允许步长,将步长从0.1逐渐增大,比较三种
4 x x
function derX=w_SysStateEqu(curt,curx,curu) % function derX=w_stateEqu(curt,curx,curu) % 函数功能:在此函数里写系统的状态方程 % 输入参数:curt当前时间,curx和curu是当前状态和控制 % 输出参数:derX是状态的X的导数值 derX(1)=-4*curx(1);
x
k
3.3
稳定性分析
2 2 3 h h h2 2( ) 2 h 2 2 4 xk 1 xk 6 ( 2 h h 2 3 h3 4 ) 2 4 h 2 2 h3 3 h 4 4 xk 1 h 2 6 24
xk 1 k 1 xk k h ( xk k )
2. 欧拉法计算稳定性分析
欧拉法:
设xk步的误差为εk ,则有
与前式相减,得
k 1 k (1 h )
1 h 1
(3-25)
很显然,要使误差是逐渐减小得,就要求
即
1 1 h 1 2 h 0 h
实验十三 一阶连续时间系统的模拟

实验十三一阶连续时间系统的模拟一、实验目的1.了解用集成运算放大器构成基本运算单元——标量乘法器、加法器和积分器,以及它们的组合全加积分器的方法。
2.掌握用以上基本运算单元以及它们的组合构成模拟系统,模拟一阶连续时间系统的原理和方法,并用实验测定模拟系统的特性。
二、实验内容1.熟悉集成运算放大器构成基本运算单元的工作原理。
2.用示波器观察模拟一阶连续时间系统的频率特性。
三、实验仪器1.信号与系统实验箱一台2.信号系统实验平台3.连续时间系统的模拟模块(DYT3000-67)一块4.20MHz双踪示波器一台5.连接线若干四、实验原理1.模拟连续时间系统的意义由于自然界的相似性,许多不同的系统具有相同的特性。
不论是物理系统还是非物理系统,不论是电系统还是非电系统,只要是连续的线性时不变系统,都可以用线性常系数微分方程来描述。
把一具体的物理设备经过数学处理,抽象为数学表示,从而便于研究系统的性能,这在理论上是很重要的一步;有时,也需要对一系统进行实验模拟,通过实验观察研究当系统参数或输入信号改变时,系统响应的变化。
这时并不需要在实验室里去仿制真实系统,而只要根据系统的数学描述,用模拟装置组成实验系统,它可以与实际系统完全不同,只要与实际系统具有同样的微分方程数学表示,即输入输出关系(也即传输函数或系统响应)完全相同即可。
系统的模拟是指数学意义上的模拟。
本实验即由微分方程的相似性出发,用集成运算放大器组成的电路来模拟一阶RC系统。
2. 集成运算放大器构成基本运算单元——标量乘法器、加法器和积分器,以及它们的组合全加积分器连续时间系统的模拟,通常由三个基本运算单元——标量乘法器、加法器和积分器构成,实际上还常常用到它们的组合全加积分器,这些运算单元都可以用集成运算放大器构成。
① 标量乘法器(又称比例放大器)图13-1(a) 反相标标量乘法器 图13-1(b) 同相标量乘法器电路反相标量乘法器电路如图13-1(a )所示:01F i i R U U k U R=-=⋅,式中比例系数k 为:1F R k R =-当R 1=R F 时,k =-1,则u 0=-u i ,称为反相跟随器。
建模仿真连续系统实例timewl

Re m0 L20 /(kT0t02 ),~p p / Re,~w w / Re, ~ V0 /(qn0L20 ), C ND N A
2020年11月1日星期日
3
半导体器件建模与仿真
2. 仿真模型的建立 (有限元方法)
边界条件如下,其中 n 、 分 别为边界的法向量和切向量。
在发射极边界Γs有:
2
半导体器件建模与仿真
2. 仿真模型的建立
v
v
0,
t
T t v t
v
(v
T
)v
2
T
v
m
*
v
3
3
(T )
m * Re
2 (~1w T m * Re
2 ~p
)
2( k
0 3
v
~p Re
0,
noT
)
2k0 no 3
T
(T 1) ~w Re
0,
(~ ) (e C) 0
1.0 1021 m 3
若y 0.196 若0.124 y 0.196
若y 0.124
m#=0.26,q=1.60218x10-19C,Vg=0,
p
m* n0T0
qT
,
w
p
2
3 2
qvks2(nT0TTT0 0
)
2020年11月1日星期日
6
半导体器件建模与仿真
3. 仿真实例(MESFET)
n C, v 0,T 1, 0。表示电子密度为C,温度为1
n
在集电极边界Γd有: 在栅极边界Γg上有:
(即300K),相对势能为0。
n n n
C0,,(nvv )0,T0,v
第四章 连续仿真

离散相似法
频域相似法、时域相似法
数值积分法
数学模 型——差分方程,并求出其数值解(也成数 值解法)。 单步法与多步法 显式与隐式
仿真模型误差
截断误差
基于泰勒展开公式的数值计算法,积分方法的阶次越高, 截断误差越小,减小步长可缩小每一步的截断误差。
二是状态事件(state-event) 一条件时发生。
系统达到某
思考题
交通系统仿真中那些属于连续仿真?
离散相似法
数值积分法将微分方程转换成计算机可编程的 迭代式,通过计算各采样点的模型数值求解微 分方程。 离散相似法就是用离散化的模型直接代替连续 系统的数学模型。 常用的方法有吐斯丁法、状态变换法。
仿真算法比较和选择
欧拉法和龙格-库塔法可用于非线性系统;吐斯 丁法、状态转移法限于线性系统。
(2)达到某一阀值后的连续状态变量可引起另一事件 发生。
如化学反应中某一成分达到预设标准后反应关闭。
(3)某些连续变量的功能性描述可以在某些离散时 间点上改变。
如污染物排放可立即改变生态系统的平衡关系。
组合仿真模型
组合仿真中有两类事件: 一是时间事件(time-event) 指在某些特定 时间点上发生的事件。这在离散仿真中很 常见。
连续仿真的一些概念
模型:一般用状态变量的微分来描述: ds(t ) s 2 (t ) t 2 dt s (0) k • S不能用解析方法得到时,可用积分方法来仿真:
ds s (t 2 ) s (t1 ) ( )dt dt t1
t2
第3章连续系统的数字仿真通用算法

h y (t n +1 ) ≈ yn +1 = yn + ( K1 + 2 K 2 + 2 K 3 + K 4 ) 6 K1 = f (t n , yn ) K 2 = f (t n + h , yn + h K1 ) 2 2 式中 : K = f (t + h , y + h K ) n n 2 3 2 2 K = f (t + h, y + hK ) n n 3 4
da ( t ) a (t + t ) = a (t ) + t dt
b (t + t ) = b (t ) + db ( t ) t dt
(3-2)
c (t + t ) = c (t ) +
dc ( t ) t dt
假定模拟周期为T,可将T分成N个小的时间步长 t,即:T=N t 在时间为0时,我们知道a(0),b(0)和c(0)的实始值, 从这些初始值及常数K1和K2值出发,就可以计算 出t时间内的化学量的变化值.
(3)龙格--库塔法的精度取决于步长h的大小及求解的 方法.实践证明:为达到同样的精度,四阶方法 的步长h可以比二阶方法的h大10倍,而四阶方法 的每步计算量仅比二阶方法大一倍,所以总的计 算星仍比二阶方法小,使用的CPU机时也少.一 般工程中四阶龙格--库塔公式已能达到要求的精 度,故不再使用更高阶的公式.表3-1示出了f的 计算次数与精度阶数的关系. 表3-1 计算f的次数与精度阶数的关系 第一步计算f的次数 精度阶数 2 2 3 3 4 4 5 4 6 5 7 6 ≥8 n-2
y ( t n + 1 ) ≈ y n + f ( t n , y n ) h = y n +1
连续系统仿真概述

第一篇 连续系统仿真篇第一章 连续系统仿真概论按系统模型的特征分类,可以有连续系统仿真及离散事件系统仿真两大类。
本篇讨论连续系统仿真问题。
过程控制系统、调速系统、随动系统等这类系统称作连续系统,它们共同之处是系统状态变化在时间上是连续的,可以用方程式(常微分方程、偏微分方程、差分方程)描述系统模型。
1.1 连续系统模型描述连续系统仿真中的数学模型有很多种,但基本上可分为三类:连续时间模型、离散时间模型及连续-离散混合模型。
本节将对它们的线性定常形式作一介绍,1.2节将介绍几种模型结构变换的方法。
1.1.1 连续时间模型如果一个系统的输入量u(t),输出量y(t),系统的内部状态变量x(t)都是时间的连续函数,那么我们可以用连续时间模型来描述它。
系统的连续时间模型通常可以有以下几种表示方式:常微分方程,传递函数,权函数,状态空间描述.本节仅对其一般描述形式作一简要介绍,偏微分方程将在第8章讨论。
1.常微分方程常微分方程可用(1.1)式表示:u c dt ud c dt u d c y a dt dy a dt y d a dt y d n n n n n n n n n nn +++=++++------- 1221111111(1.1) 其中n 为系统的阶次,a i n i (,,,,)=012 为系统的结构参数,),,2,1(n j c j =为输入函数的结构参数,它们均为实常数。
2.传递函数若系统的初始条件为零,即系统在 t=0时已处于一个稳定状态,那么对(1.1)式两边取拉氏变换后可得:)()()()()()()(2211111s U c s U sc s U sc s Y a s sY a s Y s a s Y s n n n n n n n +++=++++----稍加整理,并记:jn j jn n j jjn s a s cs U s Y s G ∑∑=--=-==10)()()( (1.2)(1.2)式称为系统的传递函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一经典 的连续系统仿真建模方法
一 实验目的:
1 了解和掌握利用仿真技术对控制系统进行分析的原理和步骤。
2 掌握机理分析建模方法。
3 深入理解阶常微分方程组数值积分解法的原理和程序结构,学习用Matlab编写
数值积分法仿真程序。
4 掌握和理解四阶Runge-Kutta法,加深理解仿真步长与算法稳定性的关系。
二 实验原理:
1非线性模型仿真
221122112111HH
Adt
dH
HQuk
Adt
dH
du
duQ
u
AA
k
H
H
ARAR
AR
H
00
1
11
0
1
2
1
212
12
三 实验内容:
1. 编写四阶 Runge_Kutta 公式的计算程序,对非线性模型(3)式进行仿真。
(1) 将阀位u 增大10%和减小10%,观察响应曲线的形状;
(2) 研究仿真步长对稳定性的影响,仿真步长取多大时RK4 算法变得不稳定?
(3) 利用 MATLAB 中的ode45()函数进行求解,比较与(1)中的仿真结果有何区别。
2. 编写四阶 Runge_Kutta 公式的计算程序,对线性状态方程(18)式进行仿真
(1) 将阀位增大10%和减小10%,观察响应曲线的形状;
(2) 研究仿真步长对稳定性的影响,仿真步长取多大时RK4 算法变得不稳定?
(4) 阀位增大10%和减小10%,利用MATLAB 中的ode45()函数进行求解阶跃响
应,比较与(1)中的仿真结果有何区别。
四 程序代码:
龙格库塔:
%RK4文件
clc
close
H=[1.2,1.4]';u=0.55; h=1;
TT=[];
XX=[];
for i=1:h:200
k1=f(H,u);
k2=f(H+h*k1/2,u);
k3=f(H+h*k2/2,u);
k4=f(H+h*k3,u);
H=H+h*(k1+2*k2+2*k3+k4)/6;
TT=[TT i];
XX=[XX H];
end;
hold on
plot(TT,XX(1,:),'--',TT,XX(2,:));
xlabel('time')
ylabel('H')
gtext('H1')
gtext('H2')
hold on
水箱模型:
function dH=f(H,u)
k=0.2;
u=0.5;
Qd=0.15;
A=2;
a1=0.20412;
a2=0.21129;
dH=zeros(2,1);
dH(1)=1/A*(k*u+Qd-a1*sqrt(H(1)));
dH(2)=1/A*(a1*sqrt(H(1))-a2*sqrt(H(2)));
三 实验结果:
2编写四阶 Runge_Kutta 公式的计算程序,对线性状态方程(18)
式进行仿真:
1 阀值u对仿真结果的影响
U=0.45;h=1; U=0.5;h=1;
U=0.55;h=1;
2 步长h对仿真结果的影响:
U=0.5;h=5; U=0.5;h=20;
U=0.5;h=39 U=0.5;h=50
由以上结果知,仿真步长越大,仿真结果越不稳定。
采用ode45算法程序如下:
function dH=liu(t,H)
k=0.2;
u=0.45;
Qd=0.15;
A=2;
a1=0.20412;
a2=0.21129;
dH=zeros(2,1);
dH(1)=1/A*(k*u+Qd-a1*sqrt(H(1)));
dH(2)=1/A*(a1*sqrt(H(1))-a2*sqrt(H(2)));
在命令窗口运行以下程序:
[t,H]=ode45('liu',[1 200],[1.2 1.1]);
plot(t,H(:,1),['r','+'],t,H(:,2),['g','*'])
u=0.45 u=0.5
u=0.55
用ode45与用龙格库塔法仿真结果基本一致。
2编写四阶 Runge_Kutta 公式的计算程序,对线性状态方程(18)
式进行仿真:
%RK4文件
clc
clear
close
x=[1.2,1.4]';u=0.5; h=5;
TT=[];
XX=[];
for i=1:h:200
k1=f2(x,u);
k2=f2(x+h*k1/2,u);
k3=f2(x+h*k2/2,u);
k4=f2(x+h*k3,u);
x=x+h*(k1+2*k2+2*k3+k4)/6;
TT=[TT i];
XX=[XX x];
end;
hold on
plot(TT,XX(1,:),'--',TT,XX(2,:));
xlabel('time')
ylabel('x')
gtext('x1')
gtext('x2')
hold on
线性函数:
function dx=f2(x,u)%线性
Qd=0.1;
a1=0.20412;a2=0.21129;
A=2;k=0.2;
dx=zeros(2,1);
dx(1)=1/A*(k*u-x(1)/(2*sqrt(1.5)/a1)+Qd);
dx(2)=1/A*(x(1)/(2*sqrt(1.5)/a1)-x(2)/(2*sqrt(1.4)/a2));
1 阀值u对仿真结果的影响:
U=0.45;h=1; U=0.5;h=1;
U=0.55;h=1;
2 步长h对仿真结果的影响:
U=0.5;h=5; U=0.5;h=20;
U=0.5;h=35; U=0.5;h=50;
当步长为50时仿真结果开始不稳定,仿真步长越大,仿真结果越不稳定。
采用ode45算法程序如下:
function dx=liu2(t,x)%ÏßÐÔ
Qd=0.1;
u=0.45;
a1=0.20412;a2=0.21129;
A=2;k=0.2;
dx=zeros(2,1);
dx(1)=1/A*(k*u-x(1)/(2*sqrt(1.5)/a1)+Qd);
dx(2)=1/A*(x(1)/(2*sqrt(1.5)/a1)-x(2)/(2*sqrt(1.4)/a2));
在命令窗口运行以下程序:
>> [t,x]=ode45('liu2',[1 200],[1.2 1.4]);
>> plot(t,x(:,1),['r','+'],t,x(:,2),['g','*'])
U=0.45; u=0.5;
U=0.55
用ode45与用龙格库塔法仿真结果基本一致。
五 思考讨论:
1 仿真步长越短,仿真结果越稳定,越精确。
2 通过改变u来改变阀的开度,线性系统和非线性系统方法一样。
3
4
5
6 (注:可编辑下载,若有不当之处,请指正,谢谢!)
7
8
9
10
11
12