连续系统数字仿真数值积分法
离散化原理及要求和常用的几种数值积分法
精品文档
30
① r=1,此时c1=0,a1=0,k1=f(t,y),则 y (t h ) y (t) h 1 f( b t,y )
取b1=1,即得一阶龙格-库塔法 ② r=2 kk12ff((tt,y)c2h,y(t)a1k1h)
将 f(tc2h ,y(t)a 1 k1 h )在点(t,y)展开泰勒级数
如果: uˆ(tk)u(tk) yˆ(tk)y(tk)
即: eu(tk)u ˆ(tk) u (tk)0两模型等价。
ey(tk)y ˆ(tk)y(tk)0
精品文档
5
u(t) 原连续模型yf(y,u,t) y(t)
ey(tk ) 0
-
+
h uˆ(tk )
仿真模型 yˆf(yˆ,uˆ,tk)
yˆ(tk )
数值解yn 1 0.9 0.819 0.7519 0.6594 0.647 … 0.4628
误差在10-2数量级
精品文档
23
(2)改进的欧拉法(梯形法)
又称二阶龙格-库塔法 曲边梯形的面积
f(t) 误差 f
S 1ttn n 1f(t,y)d ty(tn 1)y(tn)
直边梯形的面积
S 2 1 2 h f ( t n ,y n ) f ( t n 1 ,y n 1 )0 tn
其中:
kij(i 1,2,...n,; j 1,2,3,4)是微分方程组中 第i个方程的j个第RK系数, n为系统系数 即一阶微分方程, 的m个 为数 递推下标。
精品文档
34
龙格-库塔法的特点
在计算yn+1时只用到yn,而不直接用yn-1,yn-2等 项;
步长h在整个计算中并不要求固定; 精度取决于步长h的大小及方法的阶次 一阶龙格-库塔公式——欧拉公式
制造业生产流水线仿真与优化
内容摘要本文提出的基于Flexsim的生产线仿真与优化,是根据我国现行制造业生产流水的发展需求,通过仿真软件模拟得出具体的应用数据。
参考已有的各种生产线优化技术,通过分析模拟得出数据,对生产线进行优化。
本文重点针对仿真技术在生产线上的应用,从生产线问题研究、仿真技术研究和生产线的优化三大块内容入手;通过分析生产线、收集生产线数据和生产产品的步骤,为仿真建模做好准备。
仿真技术的研究,制定出仿真的方法和步骤,通过收集的数据,建模仿真得出仿真的结果;再针对仿真所得的结果,采用现有的优化方法对生产线进行优化;最后,通过对瓶装生产流水线实例的flexsim仿真和优化,对以上三大块内容进行分析与实践,得出有效的结论。
关键词:生产线、仿真、优化、flexsimABSTRACTThis paper put forward by Flexsim based on simulation and optimization of the production line, according to existing manufacturing production lines in China's development needs, through the simulation of the simulation software that specific application data. And refer to a variety of existing technologies to optimize production line, through the analysis of simulated data to optimize production lines. This chapter focusing on technology in the production line, from the production line of study, simulation technology research and production lines to optimize,start with these three big parts. Analysis production lines to prepare for simulation modeling, data collection and production of production line products step. According to existing simulation technology, work out the steps of the simulation, through the modeling and simulation data simulation results obtained. Based on the simulation results obtained ,using the existing optimization methods to optimize production lines. Finally,through the case about simulation and optimization of production bottle line, the above analysis of three large pieces of content and practice, to draw valid conclusions.KEYWORDS:Production Line,Simulation, Optimization, FlexsimII目录第一章引言 (1)第一节研究的背景与现状 (1)第二节选题的意义 (1)第二章生产线问题研究 (2)第一节生产线的概念 (2)第二节生产线的生产能力指标 (2)第三节生产线的生产能力的计算与确定 (3)一、单台设备及流水线生产能力的计算和确定 (3)二、设备组生产能力的计算 (3)三、工段(车间)生产能力的计算和确定 (3)第三章离散事件仿真研究 (4)第一节离散事件的概念及要素 (4)第二节离散事件的仿真步骤 (5)第三节 F LEXSIM仿真软件介绍 (7)一、flexsim简介 (7)二、flexsim的功能特点 (8)第四章生产线平衡优化研究 (9)第一节生产线平衡优化的相关概念 (9)第二节生产线平义衡优化的意义 (10)第三节生产线平衡优化的方法 (11)第五章基于FLEXSIM的瓶装生产流水线仿真与优化 (13)第一节基于FLEXSIM对生产线仿真优化的步骤 (13)第二节瓶装生产流水线仿真优化 (14)一、瓶装生产线仿真问题描述 (14)二、瓶装生产线资料的收集与分析 (14)三、瓶装生产线仿真模型的建立 (15)四、装生产线仿真模型的运行与数据分析 (16)五、瓶装生产线仿真模型的优化与再运行 (18)六、瓶装生产线优化后仿真结果分析 (20)第六章结论 (22)中国最大的论文知识平台参考文献 (23)致谢............................... 错误!未定义书签。
实验一面向微分方程的数值积分法仿真
实验一面向微分方程的数值积分法仿真一、实验目的1•掌握数值积分法的基本概念、原理及应用;2•用龙格-库塔法解算微分方程,增加编写仿真程序的能力;3•分析数值积分算法的计算步长与计算精度、速度、稳定性的关系; 4.对数值算法中的“病态问题”进行研究。
二、实验内容1、已知系统微分方程及初值条件y =t y, y(0) =1取步长h .0.1 ,试分别用欧拉方程法和RK4法求t =2h时的y值,y(t) =2& -t -1比较(将三个解绘于同一坐标中,且用数值进行比较因。
(①编程完成;②选用MATLAB ode函数完成。
)程序代码如下:t0=0;tf=2;h=0.1;y1=1;y2=1;y3=1;t1=0;t2=0;t3=0n=rou nd(tf-t0)/h;for i=1: ny1(i+1)=y1(i)+h*(2*h+y1(i)); t1=[t1,t1(i)+h];endfor i=1: nk1=y2(i)+t2(i);k2=y2(i)+h*k1/2+t2(i)+h/2;k3=y2(i)+h*k2/2+t2(i)+h/2; k4=y2(i)+h*k3+t2(i)+h;y2(i+1)=y2(i)+h*(k1+2*k2+2*k3+k4)/6;t2=[t2,t2(i)+h];endfor i=1: ny3(i+1)=2*exp(t3(i))-t3(i)-1;t3=[t3,t3(i)+h];endplot(t1,y1, 'r' ,t2,y2, 'g' ,t3,y3, 'k')实验结果如下;并将求得的值与解析解),说明造成差异的原1210「 ' -8 ■ / . -6 - / -4「-2 - -0 1 1 1 10 0.5 1 1.5 2 2.5分析:红线为用欧拉法得到的结果,绿线为用四阶龙格一库塔法得到的结果,蓝线为根据解析方程得到的结果。
其差异原因主要有两个:1、二者的方法不同,欧拉法是根据一阶微分方程计算得到的,龙格一库塔法是根据四阶微分方程得到的;2、由于步长取为0.1,所以得到的图像与解析解之间存在差异,若将步长取小,则得到的解将更靠近解析解。
物流系统仿真学习要点
第1章概论了解:系统仿真的发展史、特点、应用、相关技术;系统仿真是建立在系统理论、控制理论、相似理论、数理统计、信息技术和计算机技术等理论基础之上,以计算机和其他专用物理效应设备为工具,利用系统模型对真实或假想的系统进行实验,并借助于专家经验知识、统计数据和系统资料对实验结果进行分析研究,做出决策的一门综合性和实验性的学科。
现代仿真技术的特点可归纳为以下几点:(1)系统仿真技术是一门通用的支撑性技术。
(2)系统仿真技术学科的发展具有相对的独立性,同时又与光、机、电、声,特别是信息等众多专业技术领域的发展互为促进。
(3)系统仿真技术的发展与应用紧密相关。
(4)系统仿真技术应用正向全系统、系统全生命周期、系统全方位管理发展,这些都基于仿真技术的发展。
仿真本质上是一种知识处理的过程,典型的系统仿真过程包括系统模型建立、仿真模型建立、仿真程序设计、仿真实验和数据分析处理等用系统仿真方法研究物流系统可以分为以下几类:(1)物流过程的仿真研究。
(2)物流管理的仿真研究。
(3)物流成本的仿真研究。
相关技术:1.建模与仿真方法学;2.仿真算法3.仿真软件;4.仿真计算机/仿真器5.虚拟现实技术;6.分布仿真技术理解:系统仿真技术定义、主要分类。
系统仿真技术是模型(物理的、数学的或非数学的)的建立、验证和实验运行技术连续系统仿真、离散事件系统仿真、物理仿真、数学仿真第2章系统仿真的基本知识理解:连续系统仿真与离散事件系统仿真的区别;排队系统的基本概念;离散事件系统仿真的基本步骤。
比较离散事件系统与连续系统可以看出两者存在如下几方面的区别:(1)时间基。
连续系统的时间基是一个确定的值。
离散事件系统的时间基则是可变的,而且随着时间基的变化,仿真结果也各不相同。
(2)输入变量和输出变量。
连续系统的输入变量通常是一个确定性变量;而离散事件系统的变量往往带有随机性,因此离散事件系统的模型也被称为随机模型。
输出变量与输入变量情况相同。
计算机仿真-仿真技术1~5章
u ( s)
x
1 s
a
x
y( s)
ax u x 由积分器输入、输出关系得到 y x 由以上得到:由系统模拟图到状态变量图并导出状态
空间表达式的步骤如下: 1、根据系统的传递函数,画出系统模拟图,n阶系统有n 个积分器; 2、把积分器输出定为状态变量x,积分器输入处定为a,
物理仿真系统,其主要功能是按照操作者输入的数据 高精确、高速度的画出实验结果的波形及李萨如图形。数 据输入是随机的,系统会根据坐标画出不同的图形。
(2)、数字仿真是应用性能相似、环境相似的原理,按 照真实系统的数学关系,构造系统的数学模型,并在数学模 (4)人在回路仿真,是操作人员。飞行员等在系统回 型基础上进行试验。其特点是经济、参数修改方便、周期短, 路中进行操纵的仿真实验。要求有模拟生成人的感觉环境 但形式抽象 的各种设备,如视觉听觉等,而且必须实时运行。 (3( )、半实物仿真,又称物理 -数学仿真,硬件(实物) 5)软件在回路仿真,又称嵌入式仿真,软件指实 在回路仿真。可以避免建模的困难,能进一步检查数学建模 物上的专用软件。用于计算机与计算机通过接口对接进行 的准确性和仿真结果的准确性,是航空航天,武器系统仿真 试验, 软件在回路中仿真一般情况下 要求实时运行。
时多种状态空间表达式将对应同一个外部模型。也就
是说对于一个确定的外部模型只对应一个 确定的系统。
•2.2 模型转化-实现问题
因为状态方程是一阶微分方程组,非常适宜用数字 计算机求解,如果一个系统是用状态空间表达式描述的, 便可直接编程求解。然后对于一些复杂的控制系统,其
数学模型往往是通过实验得到的数据,经过辨识确定,
目录
第一章 绪论
• 第一部分 数学建模
计算机仿真技术基础第4章连续系统模型的离散化处理方法
1 S2
Z 1 TZ
Z • Z 12
T Y(Z) Z 1 U(Z)
Z反变换得差分方程:
y(n 1) y(n) Tu(n)
2)选用一阶保持器
Gh ( S )
T 1 TS 1
e TS S
2
离散化传递函数 G(Z ) Gh(S )G(S )
T
1
TS
1
e TS S
2
1
S
Y CX DU
t
状态方程的解 X (t) (t)X (0) (t )Bu( )d
采用零阶保持器对状态空间表达0式进行离散化处
理
u(t )
u(k )
零阶 保持器
u~(k )
x Ax Bu
x
~x
对e A于T X连(K续T解)
eX A( t()K1)T( tX) X(0(0))
t
根据Z变换理论,S域到Z域的最基本的
映射关系是:
Z
eTs
或
s 1 ln Z T
其中T是采样周期
若直接将这个映射关系代入G(S)得到G(Z)将 会很复杂,不便于计算,实际应用中是利用Z变 换理论的基本映射关系进行简化处理,得到近似 的离散模型。
4.1.1 简单替换法
由幂级数展开式:
eTx 1 Tx (Tx)2 (Tx)n
y(n 1) y(n) T [u(n 1) u(n)] 2
4.2 离散相似法
4.2.1 离散相似法的概念
离散相似法将连续系统模型处理成与之等效 的离散模型的一种方法。设计一个离散系统模型, 使其中的信息流与给定的连续系统中的信息流相 似。或者是根据给定的连续系统数学模型,通过 具体的离散化方法,构造一个离散化模型,使之 与连续系统等效。
2013 第3章 数值积分算法
3.1.2 龙格-库塔法
3. 计算所有变量的第三个RK系数向量
k3
k4
x h k 0 1 1 0.1 0.1 0.0975 k k 3 13 A 10 12 k23 x20 2 k22 2 0.5 0 2 1.95 1.96125
3.1.2 龙格-库塔法
t0 0, x0 1
2 k1 f (0, x0 ) x0 1
h h h 2 k 2 f ( , x0 k1 ) ( x0 ) 0.9025 2 2 2 h h h 2 k3 f ( , x0 k 2 ) ( x0 0.9025 ) 0.9118 2 2 2
h t2 0.2 , x2 x1 (k1 2k2 2k3 k4 ) 0.8333 6
h t10 1 , x10 x9 (k1 2k 2 2k3 k 4 ) 0.5000 6
3.1.2 龙格-库塔法
四、矩阵分析法(RK4解状态方程)
二阶、单步、显式
3.1.2 龙格-库塔法
一、龙格-库塔(Runge-Kutta)积分算法思路 间接利用泰勒展开式。用在若干个点上函数值
f(t,y) 的线性组合来代替高阶导数项,既可以避免计
算高阶导数,又可以提高数值计算精度。
3.1.2 龙格-库塔法
二、二阶Runge-Kutta法
xn 1 xn hk2 k1 f (tn , xn ) h h k2 f (tn , xn k1 ) 2 2
显式算法:计算 xn+1 时,没有用到 tn 时刻以后的状态或输入。
计算机与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 ,
建模与仿真及其医学应用
建模与仿真及其医学应用》实验讲义天津医科大学生物医学工程系2004 年实验一 系统建模的MATLAB 实现一、 实验目的:1 学习MATLA 基本知识。
2. 掌握数学模型的MATLA 实现:时域模型、状态空间模型和零极点 模型。
3. 学习用MATLA 实现系统外部模型到内部模型的转换。
4. 学习用MATLA 实现系统模型的连接:串联、并联、反馈连接。
5. 了解模型降阶的MATLA 实现。
二、 实验内容1. 系统的实现、外部模型到内部模型的转换2 (1)给定连续系统的传递函数G(s) (s 8)(s 22S 5),利用 (2 s 3)(3s 4s 13) MATLA 建立传递函数模型,微分方程,并转换为状态空间模型(2)已知某系统的状态方程的系数矩阵为:利用MATLA 建立状态空间模型,并将其转换为传递函数模型和零极 点模型MATLA 转换为传递函数模型和状态空间模型。
2. 系统的离散、连接、降阶2(1)给定连续系统的传递函数G(s) (s 8)(s 22s 5),将该连 (2s 3)(3s 2 4s 13) 续系统的传递函数用零阶重构器和一阶重构器转换为离散型传递函 数,抽样时间T=1秒。
⑶已知系统的零极点传递函数为G(s)(s 2豐31)(s 4),利用(2)该系统与系统H(s) 丁」分别①串联②并联③负反馈连s26s 5接,求出组成的新系统的传递函数模型。
(3)将串联组成的新系统进行降阶处理,求出降阶后系统的模型,并用plot图形比较降阶前后系统的阶跃响应。
要求:将以上过程用MATLABS程(M文件)实现,运行输出结果。
三、实验说明一关于系统建模的主要MATLA函数1 •建立传递函数模型:tf函数:格式:sys=tf(num,den)num=[b m,b m-i, ...... ,b]分子多项式系数den=[ai,a n-1, ......... ,a o]分母多项式系数2 •建立状态空间模型:ss函数:格式:sys=ss(a,b,c,d) %a,b,c,d为状态方程系数矩阵sys=ss(a,b,c,d,T)沪生离散时间状态空间模型3•建立零极点模型的函数:zpk格式:sys=zpk(z,p,k)4 •模型转换函数:tf2ss tf2zp ss2tf ss2zp zp2tf zp2ss%2为to的意思格式:[a,b,c,d]=tf2ss(num,den)[z,p,k]=tf2zp( nu m,de n)[n um,de n]=ss2tf(a,b,c,d,iu) %iu 指定是哪个输入[z,p,k]=ss2zp(a,b,c,d,iu)][num,den]=zp2tf(z,p,k)[a,b,c,d]=zp2ss(z,p,k)5.模型的连接串联:sys=series(sys1,sys2)并联:sys=parallel(sys1,sys2)反馈连接:sys=feedback(sys1,sys2,sign)%负反馈时sign可忽略;正反馈时为1 。
哈工大 计算机仿真技术实验报告 实验3 利用数值积分算法的仿真实验
模型的稳定性:当步距 h=5.0e-5 时,前向欧拉法和后向欧拉法明显失真, 随着步距的减小, 二阶显式 Adams 法, 梯形法和显式四阶 Runge-Kutta 法的波形 变化不大,而前向欧拉法和后向欧拉法的波形得到明显改善。所以显式四阶 Runge-Kutta 法,二阶显式 Adams 法和梯形法的稳定性较好,前向欧拉法和后向 欧拉法的稳定性较差。 模型的精度和离散时间间隔:步距为 h=5.0e-6 时,显式四阶 Runge-Kutta 法 精度最高,其次是二阶显式 Adams 法和梯形法。步距为 h=5.0e-7 时,前向欧拉 法和后向欧拉法仿真精度才达到要求。所以,显式四阶 Runge-Kutta 法,二阶显 式 Adams 法和梯形法模型的精度较高,离散时间间隔要求低,其中,显式四阶 Runge-Kutta 法模型的精度最高,其次是二阶显式 Adams 法,由于是二次函数较 复杂,函数曲线与真实曲线较为接近;再次精确的是梯形法,取梯形面积,误差 也较小;前向欧拉法和后向欧拉法模型的精度较低,由于取的是矩形面积,离散 时间间隔要求高。
实验 3 利用数值积分算法的仿真实验
(
一、 实验目的
1) 熟悉 MATLAB 的工作环境;
2) 掌握 MATLAB 的 .M 文件编写规则,并在命令窗口调试和运行程序; 3) 掌握利用欧拉法、梯形法、二阶显式 Adams 法及四阶龙格库塔法构建系 统仿真模型的方法,并对仿真结果进行分析。
二、实验内容
上对应的标题。
四、实验原理
在连续系统的数字仿真算法中,较常用的有欧拉法、 梯形法、 二阶显式 Adams 法及显式四阶 Runge-Kutta 法等。欧拉法、梯形法和二阶显式 Adams 法是利用离 散相似原理构造的仿真算法,而显式四阶 Runge-Kutta 法是利用 Taylor 级数匹配 原理构造的仿真算法。 对于线性系统,其状态方程表达式为:
实验:控制系统数字仿真之数值积分法
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
0 50 100 150 200 250 300 350 400 450 500
0
50
100
150
200
250
300
350
400
450
500
1.4
1.2
ts=199, Mp=18.2175, FAI=0.93537, tr=73, tp=106, ys=1.0003 ts=147, Mp=16.7351, FAI=0.94362, tr=74, tp=107, ys=1.0003 ts=147, Mp=16.7505, FAI=0.94355, tr=74, tp=107, ys=1.0003
ts=147.2, Mp=16.8911, FAI=0.94279, tr=73.9, tp=107, ys=1.0003
1
0.8
0.6
0.4
0.2
0
0
50
100
150
200
250
300
350
400
450
500
用梯形法得出系统响应曲线:
若采用欧拉法,误差为红色曲线围成的面积,而如果用梯形法,误差减少为 蓝色曲线围成的面积。同时,要求出蓝色曲线围成的面积,就要先出下一个点的 值。因此增加了计算量。 算法: 先用欧拉法求出下一个点的值, 用下一个点的值求这个点的斜率, 接着就能 求出梯形的面积。用新的面积(代表斜率)求出下一个点的值。 实验程序代码(与之前相同的部分没有复制):
实验:控制系统数字 仿真之数值积分法
实验目的:
哈尔滨工业大学《系统建模与仿真》系统建模与仿真-第三章-连续系统仿真方法
本章目次
3.1离散化原理及要求
3.4纯延迟环节仿真模型
3.2连续系统仿真算法
3.5采样控制系统仿真方法 3.6间断特性仿真方法
3.3连续系统实时仿真算法 3.7 病态系统仿真方法
3.1 离散化原理及要求
在计算机上仿真面临的问题:数字计算机的数值及时间均具有 离散性,而被仿真系统的数值及时间均具有连续性。后者如何用 前者来实现?
t
x(t) exp( A t)x(0) exp( A (t ))Bu( )d 0
x(n1)T (T ) x(nT ) u m(T ) (nT )
其中:(T ) exp( A T ),
T
m(T ) exp( A (T ))Bd 0
(2)步长 h 在整个计算中并不要求固定,可以根据精度要求改变,
但是在一步中算若干个系数 Ki (俗称龙格—库塔系数),则必须
用同一个步长 h。
3.2 连续系统仿真算法
3.2.2 非线性连续系统仿真算法—龙格库塔法
龙格库塔法特点
(3)龙格—库塔法的精度取决于步长 h 的大小及方法的阶次。许 多计算实例表明:为达到相同的精度,四阶方法的 h 可以比二 阶方法的h 大10倍,而四阶方法的每步计算量仅比二阶方法大1
令(t) L1 (sI A)1 ,则
其中:
x(s) L (t) x(0) L (t) Bu(s)
t
x(t) (t) x(0) (t )Bu( )d 0
(t) exp( At)为状态转移矩阵,则得线性状态方程的解析解:
数字计算机:从根本意义上讲,所进行的计算仅仅是“数字”计 算,它表示数值的精度受限于字长,这将引入舍入误差;另一方 面,这种计算是按指令一步一步进行的,因而,还必须将时间离 散化,这样就只能得到离散时间点上系统的(离散数值)状态 (性能)。
仿真技术实验程序及思考题解答(仅供参考)
实验一 连续系统的数字仿真一、实验目的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.试说明四阶龙格-库塔法与计算步长关系,它与欧拉法有何区别。
自动控制系统计算机仿真教案(30学时
《自动控制系统仿真》教案
教案
2015 -2016 学年第 2 学期
课程名称:自动控制系统仿真
课程编号: 074100264 学院、专业、年级:自动141、142
任课教师:梁芬
教师所在单位:电气工程系
中原工学院信息商务学院
课程简介
本课程通过讲授控制系统仿真的基本原理、方法和特点,以及仿真软件MATLAB(含Simulink)的典型仿真程序,使学生了解控制系统仿真技术的基本原理,掌握将控制系统理论、计算方法与计算机技术相结合的知识和技能,具备运用控制系统仿真技术对控制系统进行分析、辅助设计与仿真的能力。
本课程授课对象主要为自动化专业的本科生,学生通过学习为日后从事相关领域的工程技术工作、科学研究以及开拓新技术领域,打下坚实的基础。
教案(首页)
教案(分教案)
教案(分教案)
教案(分教案)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
main() { float x11,x21,x31,x41,x10,x20,x30,x40,R; int i; x10=0;x20=0;x30=0;x40=0; outputy[0][0]=0; ST=15;DT=0.005; LP=ST/DT;VN=1; R=10;
(4-7)
简记为: X(k+1)= X(k)+Te(k) (4-8) 式(4-8)被称为欧拉公式。欧拉公式可以从 图4.2的几何图形中得到解释。 有了式(4-8),就很容易求出系统式(4-1)、 式(4-2)的差分方程 X(k+1)= (I+AT)X(k)+TBU(k) (4-9) Y(k+1)= CX(k+1)+DU(k+1) (4-10)
0 0 1 1 1 A 0 0.5 0.5 1 1 0 0.1 0.1 1 B 0 0
X(k+1)= (I+AT)*X(k)+T*B*R(k)
x1(k 1) x1(k ) T * x3(k ) T * R (k ) T T x 2(k 1) x1(k ) (1 ) x 2( k ) 0 .5 0.5 T T x3(k 1) x 2(k ) (1 ) x3(k ) 0.1 0 .1 y (k 1) x3(k 1)
main() { float x11,x21,x31,x10,x20,x30,R; int i; x10=0;x20=0;x30=0;outputy[0][0]=0; ST=10;DT=0.005; LP=ST/DT;VN=1;R=20; for (i=1;i<=LP;i++) { x11=x10-DT*x30+DT*R; x21=DT/0.5*x10+(1-DT/0.5)*x20; x31=DT/0.1*x20+(1-DT/0.1)*x30; outputy[0][i]=x31; x10=x11;x20=x21;x30=x31; } dispcurve(); } 程序为llx56.c
例1: 某控制系统如图所示,输入为R=10阶跃函数, 初始条件为0,试用欧拉法求输出仿真曲线。
e1 R x 4 1 4 1 x x1 e1 10 10 1 4 4 1 x x1 x4 R 10 10 10 2 e 2 x1 e1 x 2 x1 x 4 R x 1 1 3 x x3 x2 0 .5 0 .5 1 1 4 x x4 x3 0 .1 0 .1 y x4
例题:某控制系统如图所示,输入为 U=10的阶跃函数,初始条件为0,试用四阶龙 格-库塔法求输出仿真曲线。
e U x3 1 e x 1 U x3 x 1 1 2 x x2 x1 0.5 0.5 1 1 3 x x3 x2 0.1 0.1 y x3
#include <stdio.h> /* 头文件声明*/ #include <stdlib.h> #include <math.h> #include <string.h> #include <graphics.h> const VN=2; float outputy[2][500],ST,DT; int LP,i,j; float x11,x21,x10,x20,e10,e20,e11,e21,y1,y2; float u1,u2; void dispcurve(); /* 画图子程序*/
1 10 1 A 0 0 4 10 1 B 0 0
0 0 1 0. 5 0
0 0 1 0 .5 1 0 .1
4 10 1 0 1 0 .1
X(k+1)= (I+AT)*X(k)+T*B*R(k)
0.1 T DT 0.002 0.01 0.005 50 10 ST (5 20) * 0.5 2.5 10 10
仿真程序清单如下: #include <stdio.h> /*函数头文件声明 */ #include <stdlib.h> #include <math.h> #include <string.h> #include <graphics.h> float outputy[1][5501],ST,DT; int LP,VN; void dispcurve();
for (i=1;i<=LP;i++) { x11=(1-DT/10)*x10-4*DT/10*x40+4/10*DT*R; x21=DT*x10+x20-DT*x40+DT*R; x31=DT/0.5*x20+(1-DT/0.5)*x30; x41=DT/0.1*x30+(1-DT/0.1)*x40; outputy[0][i]=x41; x10=x11;x20=x21;x30=x31;x40=x41; } dispcurve();
(4-20)
式(4-30)是四阶龙格-库塔公式在输入为阶跃或斜坡函 数时的总体表示。仿真前,先求出方程的系数,仿真时就只 有简单的代数运算了,这样仿真的速度要比用分离公式的速 度快。
非常有趣的是式(4-30)与式(3-51)完全相同。由此说明, 当系统的输入为阶跃或斜坡函数时,四阶龙格-库塔公式即 是把离散-再现环节加在系统的入口处,使用三角保持器, 取eAt的定义式到t的4次项所得到的差分方程。由此可见,使 用三角保持器比使用四阶龙格-库塔公式要精确。同理也可 证明,取eAt的定义式到t的2次项,所得到的差分方程即是梯 形公式,取eAt的定义式到t的1次项,所得到的差分方程即是 欧拉公式。
Байду номын сангаас
}
当DT<0.2时,系统输出曲线稳定。
当DT>=0.2时,系统输出曲线振荡发散。
程序为llx57.c
例题2:某控制系统如图所示,输入为R=20阶跃函数, 初始条件为0,试用欧拉法求输出仿真曲线。
e R x3 1 e x 1 R x3 x 1 1 2 x x2 x1 0.5 0.5 1 1 3 x x3 x2 0.1 0.1 y x3
main() { x10=0;x20=0; outputy[0][0]=0; outputy[1][0]=0; u1=1;u2=1; y1=1;y2=1; DT=0.5; ST=100; LP=ST/DT;
for (i=1;i<=LP;i++) { e10 =-0.12771*x10+0.04233*x20+12.771*u1-0.04235*u2; e20 =0.01262*x10-0.08533*x20-1.262*u1+0.08534*u2; e11=-0.12771*(x10+DT*e10)+0.04233*(x20+DT*e20); e11=e11+12.771*u1-0.04235*u2; e21=0.01262*(x10+DT*e10)-0.08533*(x20+DT*e20); e21=e21-1.262*u1+0.08534*u2; x11=x10+DT*e10/2.0+DT*e11/2.0; x21=x20+DT*e20/2.0+DT*e21/2.0; y1=0.01*x11; y2=x21; outputy[0][i]=y1; outputy[1][i]=y2; x10=x11;x20=x21; } dispcurve(); }
第4章 连续系统的数 字仿真-数值积分法
第3章从仿真原理方面讨论了连续系统的仿真方 法。本章将从构造积分器的角度再对仿真方法做进 一步的讨论。 4.1 欧拉法 数值积分法是把微分方程化成积分运算,再进 一步化成代数运算的过程,主要解决如何构造一个 积分器,然后求出积分器的差分方程的问题。有了 积分器就能很容易地对系统进行仿真。 数值积分法最初是从数值计算的角度得到的。 但是为了和第3章所讨论的方法统一起来,我们用插 入离散-再现环节的方法,以状态空间描述为基础, 推出线性系统数值积分法的仿真模型。
4.2 梯形法 为了提高仿真精度,离散-再现环节采取图4.3 的形式。 (4-11)
X (k 1) X (k )
T [e(k ) e(k 1)] 2
(4-12)
式(4-12)称为梯形公式,其几何解释如图4.4所示。
[例4.1] 已知一多变量系统的结构框图如图4.5所示,请 用梯形公式对此系统进行仿真,并输出y1、y2的仿真结果。
0 0 1 0 0 1 1 1 A 0 2 2 0 0.5 0.5 0 10 10 1 1 0 0.1 0.1 1 B 0 0
T X (k 1) X (k ) (e1 2e2 2e3 e4 ) 6 e1 AX (k ) BU (k ) T 1 e2 A[ X (k ) e1] BU (k ) 2 2 T 1 e3 A[ X (k ) e2] BU (k ) 2 2 e4 A[ X (k ) Te3] BU (k 1)