现代仿真技术与应用-第三章连续系统的数字仿真
第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)。
《车辆仿真技术》课程教学大纲

《车辆仿真技术》课程教学大纲Vehicle Simulation Technique学分:1.5 总学时:24 理论学时:24 实验/实践学时:0一、课程性质与任务《车辆仿真技术》课程是车辆工程专业的一门专业选修课,本课程共24学时,1.5学分,考查课。
《车辆仿真技术》主要介绍计算机建模和仿真技术的基本理论、方法及应用。
介绍连续系统、离散事件系统的数字仿真和具有前沿性的现代仿真技术,即面向对象的仿真技术、分布交互式仿真技术、虚拟现实技术和建模与仿真的VV&A技术;介绍目前在各领域应用越来越广泛的MATLAB和SIMULINK在计算机建模和仿真中的应用;介绍汇编语言和C语言在计算机仿真中的应用。
二、课程的基本要求学习本课程后,应达到下列基本要求:1.了解车辆计算机建模和仿真技术的基本理论、方法及应用;2.掌握面向对象的仿真技术、分布交互式仿真技术、虚拟现实技术和建模与仿真的VV&A技术。
三、先修课程先修课程:汽车构造、汽车理论。
四、主要参考教材[1] 徐宝云.《计算机建模与仿真技术》.北京:北京理工大学出版社,2007.五、课程内容(一)计算机建模和仿真的基本概念主要内容:系统与模型的概念;计算机仿真的概念;计算机仿真的组成和分类;计算机仿真的工作流程和仿真算法;计算机仿真技术的应用与仿真技术的发展趋势。
重点:计算机仿真的工作流程和仿真算法。
难点:计算机仿真技术的应用与仿真技术的发展趋势。
教学要求:介绍系统与模型的概念、计算机仿真的概念、计算机仿真的组成和分类、计算机仿真技术的应用与仿真技术的发展趋势,掌握计算机仿真的工作流程和仿真算法。
(二)系统数学模型与仿真技术主要内容:系统数学模型;连续系统的数学模型及其相互转换;离散时间系统的数学模型;数学模型在MATLAB中的实现。
重点:数学模型在MATLAB中的实现。
难点:离散时间系统的数学模型。
教学要求:了解系统数学模型、连续系统的数学模型及其相互转换、离散时间系统的数学模型,掌握数学模型在MATLAB中的实现。
第六讲 连续系统仿真概述祥解

26
今希望用直角坐标输出,故还引入两个定义变量 x y(21),y)* cos[ y(2)] y(22) y(1)* sin[ y(2)]
根据卫星的发射速度,可以建立起方程组的初始条件: y(1)0=6400km(卫星到地心的距离,即为地球之半径),
任务失败。
计算机仿真技术
6
Xb=Vb*t
Yb=100
Xf’=Vf*cosθ
Yf’=Vf*sinθ
tanθ=(100-Yf)/(Xb-Xf) 描述方程-》龙格库塔法求解位置-》求解我机角度
及位置-》判断距离时间-》end
计算机仿真技术
7
二阶系统:汽车轮子悬置系统
y’’(t)+p1y’(t)+y(t)=1.0
Y ( y1 , y2 , yn ) P ( p1, p2 , pk )
U (u1, u2 ,um )
G ( g1 , g2 , gn )
是 n 维状态向量 是 k 维参数向量 是 m 维控制向量 是n 维函数向量 计算机仿真技术
24
Y (0) [ y1 (0), y2 (0), yn (0)] 是给定的初始状态
计算机仿真技术
4
微分方程数学模型
一般形式
dny d n1 y dy d n1u d n2 u a1 n1 a n1 a n y c1 n1 c2 n1 cn u n dt dt dt dt dt
n为系统的阶次,ai为系统的结构参数,ci为输入函数的
16
连续系统数字仿真中离散化最基本的算法是数值积分 f ( y ,u ,t ) 的系统,已知系统变量 算法。对于形如 y 的初始条件 y (t 0 ) y 0 ,现在要求y随时间变化的过 程y(t)。计算过程可以这样考虑:首先求出初始点 y(t 0 ) y0 的 f (t 0 ,y0 ) ,微分方程可以写作:
连续系统的数字仿真1_08解析

本章内容
(1) 熟悉在数字计算机仿真技术中常用的几种数值积分法 ,
特别是四阶龙格-库塔法; (2) 典型环节及其系数矩阵的确定; (3) 各连接矩阵的确定; (4) 利用MATLAB在四阶龙格-库塔法的基础上,对以状 态
空间表达式和方框图描述的连续系统进行仿真; (5) 了解以增广矩阵法为基础的连续系统的快速仿真方法1 。
xk 1
xk
hxk
1 2!
h2
xk
hp p!
xk( p)
0(h p31-)5)
可以看出,提高截断误差的阶次,便可提高其精
度,但是由于计算各阶导数相当麻烦,所以直接采
用泰勒级数公式是不适用的,为了解决提高精度问
Hale Waihona Puke 题,龙格和库塔两人先后提出了间接使用泰勒级数
公式的方法,即用函数值f (t,x)的线性组合来代替f
j 1
(3-8)
c1 0, m 1,2,, v
即:
k1 f (tk , xk )
k2 f (tk c2h, xk b21k1h)
k3 f (tk c3h, xk b31k1h b32k2h) 将式(3-7)展 开成h的幂级数并与微分方程式 (3-1)精确解式(3-6)逐项比较,便可求得式
t k 1
x(tk1) x(tk ) f (t, x(t))dt
tk
通常假设离散点t0,t1,…,tn是等距离的,即tk+1tk=h, 称h为计算步长或步距。
5
当t>t0时,x(t)是未知的,因此式(3-2) 右端的积分是求不出的。为了解决这个问题, 把积分间隔取得足够小,使得在tk与tk+1之间 的 f(t,x(t)) 可 以 近 似 看 作 常 数 f(tk,x(tk)) , 这样便得到用矩形公式积分的近似公式
matlab连续时间系统的建模与仿真实例

【标题】Matlab中连续时间系统的建模与仿真实例【正文】1. 概述在工程领域中,连续时间系统的建模与仿真是非常重要的环节。
Matlab作为一款强大的工程计算软件,提供了丰富的工具和功能,可以帮助工程师们高效地完成系统建模与仿真的工作。
本文将以连续时间系统的建模与仿真为主题,通过实例的方式,从简到繁地探讨Matlab中的相关应用。
2. 相关概念解释在开始具体的实例之前,我们先来了解一下什么是连续时间系统的建模与仿真。
连续时间系统是指系统的输入和输出都是连续的,可以用连续函数来描述。
而建模与仿真则是指利用数学模型和计算机软件,对系统进行描述和分析,并用计算机模拟系统的行为。
Matlab提供了Simulink等工具,可以方便地进行连续时间系统的建模与仿真。
3. 实例展示接下来,我们将通过一个简单的实例来演示Matlab中连续时间系统的建模与仿真。
假设我们要建立一个受控物体的连续时间系统模型,并对其进行仿真。
在Matlab中,我们可以首先使用Simulink工具搭建系统模型,包括输入信号、系统传输函数等。
通过设置仿真参数和运行仿真,我们可以得到系统的输出响应,进而进行分析和评估。
4. 实例分析在实例展示中,我们可以逐步扩展系统模型的复杂度,加入更多的控制器、传感器等元素,以更贴近实际工程应用场景。
利用Matlab强大的数据处理和分析功能,可以对仿真结果进行详细的分析和评估,验证系统性能和稳定性。
5. 总结与回顾通过本文的实例演示,我们了解了Matlab中连续时间系统建模与仿真的基本流程和方法。
在工程实践中,合理使用Matlab工具,可以极大地提高系统设计与分析的效率和准确性。
值得注意的是,系统建模与仿真需要结合实际情况进行灵活应用,才能更好地发挥其作用。
6. 个人观点个人认为,Matlab提供的工程计算工具具有很高的实用性和适用性,尤其对于连续时间系统的建模与仿真来说,其优势尤为突出。
希望工程师们能够深入学习和应用Matlab工具,不断提升自己在系统设计与分析领域的能力。
第3章 连续系统数字仿真的基本算法

(2.18)
h y k 1 y k (k1 3k3 ) 4 k1 f (t k , y k ) h h k 2 f (t k , y k k1 ) 3 3 k3 f (t k 2 h, y k 2 hk2 ) 3 3
上一页
下一页
返回
表2.1 f 的计算次数与算法精度阶数的关系
每步计算f 的次 数 算法精度阶数 2 3 4 4 5 6 r-2
2
3
4
5
6
7
r≥8
由此可见,RK4法有其优越性。
上一页
下一页
返回
3.1.4 微分方程数值积分的矩阵分析
对于一阶向量微分方程及初值问题
y f (t , y) y( t0 ) y0
(2.16)
W1 W2 1 1 W2 c2 2 1 W2 a21 2
取c2=1,有
(2.17)
W1 W2
上一页
1 2
a21 1
下一页 返回
从而,有RK2法
h y k 1 y k 2 (k1 k 2 ) k1 f (t k , y k ) k 2 f (t k h, y k hk1 )
第3章 连续系统数字仿真的基 本算法
2.1 数值积分算法 2.2 数值积分算法的基本分析 2.3 连续系统仿真的离散相似算法 2.4 常用快速数字仿真算法 2.5 实时数字仿真算法 小结
3.1 数值积分算法
3.1.1 3.1.2 3.1.3 3.1.4 数值积分算法的基本原理 欧拉法 龙格-库塔法 微分方程数值积分的矩阵分析
上一页 下一页 返回
控制系统数字仿真

(基于MATLAB的控制系统计算机仿真)
参考书目
➢ 参考教材:
◆ 瞿亮等.基于MATLAB的控制系统计算机
仿真. 北京交通大学出版社.2006年 ➢ 参考书:
◆ 张聚. 基于MATLAB的控制系统仿真及应用. 电子工业出版社. 2012年.
◆ 王正林等. MATLAB/Simulink与控制系统仿 真. 电子工业出版社. 2008年.
§1-3 控制系统计算机仿真
§1-1系统、模型与仿真
一、系统(System)
1.定义 所谓“系统”,是指相互联系又相互作用着的对象的有
机组合。该组合体可以完成某项任务或实现某个预定的目标。 特点:
整体性:系统由许多要素组成,各个组成部分是不可分割的。 相关性:系统内部各要素之间相互以一定规律联系着。 层次性:系统可以分解为一系列的子系统,并存在一定的层 次结构。 目的性:系统具有某种目的,要达到既定的目的,系统必须 具有一定的功能(如控制、调节和管理的功能)。
比如,工程界:
生物、医学界:
军事界:
追击敌机问题
已知:敌机在100KM高空,以20KM/min的速度匀速直线行驶。 假设:(1)只要两机相距在10公里之内,我机就可以摧毁敌机;
(2)如果10分钟之内没有捕捉到,就认为失败。 问:我方飞机应以怎样的速度,沿着什么航线飞行,需要多长时 间可捕捉到目标。比如我机以30KM/min的速度,每1分钟改变一次 方向,能不能捕捉到?我机以40KM/min的速度,每2分钟改变一次 方向,能不能捕捉到?
ADAMS
§1-3 控制系统计算机仿真
一、控制系统的计算机辅助设计 (CSCAD-Control System Computer Aided Design)
第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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最简单的数值积分法,只计算一次f(t, y)函数值, 计算量小,但精度很低,不实用,常用来说明 基本概念。当h很小时,造成的误差是允许的。 10 该算法具有一阶精度。
现代仿真技术与应用
3.1.1 常用的积分法—梯形法(改进欧拉法)
第三章连续系统的数字仿真
对式(3-1)在[tk,tk+!]区间上积分
N
时间到?
Y
输出:t,y
预估--校正法程序框图 13
现代仿真技术与应用
回顾 数值积分法:
欧拉法 单步法、显示公式、能自启动。
第三章连续系统的数字仿真
最简单的数值积分法,只计算一次f(t, y)函数值, 计算量小,但精度很低,不实用,常用来说明 基本概念。当h很小时,造成的误差是允许的。 该算法具有一阶精度。
tk 1 tk
f (t , y ) dt
(3-3)
矩形近似及误差
当步长 h t tk 1 tk 足够小时,有
y k 1 yk hf ( yk , t k )
于是可以得到微分方程的数值解为:
(3-4)
yk 1 yk hf (tk , yk )
(3-6)
9
现代仿真技术与应用
隐式公式、不能自启动、预估—校正法。
计算两次f(t, y)函数值,计算量增加,但精度有 所提高。
12
现代仿真技术与应用
3.1.1 常用的积分法—梯形法
初值设置:y0 ,t0,h 计算导数:fn
第三章连续系统的数字仿真
计算预估值: y kp1 tk+1 = tk+h
计算 f kp 1 f ( ykp1 , t k 1 ) 计算校正值:yk+1
预估
ykp1 yk hf ( yk , t k )
y k 1
(3-8)
h y k f ( y k , t k ) f p ( y kp1 , t k 1 ) 校正 2
11
现代仿真技术与应用
改进的欧拉法
几何意义:
第三章连续系统的数字仿真
就是把f(t,y)在区间[tk,tk+1]内的曲边面 积用梯形面积近似代替。
欧拉法:
yk 1 yk hf (tk , yk )
yn1 (1 h) yn
zY ( z ) (1 h)Y ( z )
z 1 h 1
Im h
稳定 稳定 z 平面
代入测试方程有:
-2
-1
0
Re h
-1
1
22
1 yn h(3k1 4k 2 3k3 ) 6
k1 f ( y n , t n )
1 1 k2 f ( yn h 21k1 , tn 2 h) f ( yn hk1 , t n h) 2 2
k3 f ( yn h(31k1 32 k2 , tn 3h) f ( yn h(2k2 k1 ),tn h)
i 1
r
ki f ( yn h ij k j , t n i h); 2,3,....r ) (i
j 1
i 1
i ij
j 1
i 1
r=3时,取
yn 1
21 1, 31 1, 32
1 2 2, w1 w3 , w2 可得: 2 3
来代替函数的各阶导数,再与泰勒级数展开式中的各项对比确定其中的系数
y n 1 y n h wi k k
k1 f ( yn , t n )
i 1 j 1
r
i 1
(3-10)
ki f ( yn h ij k j , t n i h); 2,3,....r ) (i
3.1.1 常用的积分法--欧拉法
yk 1 yk hf (tk , yk )
tn时的yn,称之为欧拉递推公式。
第三章连续系统的数字仿真
(3-6)
取k=0,1,2,…N,从t0开始,逐点递推求解t1时的y1, t2时的y2…,直至
这种方法的几何意义:
就是把f(t,y)在区间[tk,tk+1]内的曲边面 积用矩形面积近似代替。 单步法、显示公式、能自启动。
教师:陆艳洪 联系方式:
TEL: 88493458 转921 EMAIL: yanhonglu@ 办公室:实验大楼A913
1
现代仿真技术与应用
章节安排
第一章
第二章 第三章 第四章 第六章 第七章
概述
系统的数学模型 连续系统的数字仿真 离散事件系统仿真 分布式交互仿真 可视化、多媒体、虚拟现实仿真
第三章连续系统的数字仿真
单步法
多步 法 预估—校正 法
计算yn+1需用到yn ,yn-1 , yn-2 , yn-k的值
对不能自行启动的方法,可分两步走,第一步预估, 第二步校正;因此精度高,但不适用于实时仿真。
显式公式 隐式公式
计算yn+1时所用数据均已知
计算yn+1时需用到待求量yn+1,因此不能自启动
i 1
i ij
j 1
i 1
r=4时,取
yn 1
1 1 1 1 21 , 31 0, 32 , 41 42 0, 43 1, w1 w4 , w2 w3 可得: 2 2 6 3
1 yn h(k1 2k 2 2k3 k 4 ) 6
为[t0, t]内 f 下方的阴影面积
t
t0
y (tn 1 ) y (tn )
t n1 tn
t n t n 1
f ( , y )d
分类:
单步法 多步法 预估—校正法 显式公式 隐式公式
y n1 y n Qn
7
现代仿真技术与应用
数值积分法基本概念 计算yn+1只需用到yn的值
i ij
j 1
i 1
当r=1时,y n1 y n hf ( y n , t n )
当r=2时,取
数值解与欧拉递推公式一致。
21 1, w1 w2 1, 可得:
1 y n 1 y n h(k1 k 2 ) 2 k1 f ( y n , t n )
k1 f ( y n , t n )
k2 f ( yn h 21k1 , tn 2 h) f ( yn 1 hk1 , t n 1 h)
2 2
k3 f ( yn h(31k1 32 k2 , tn 3h)
1 1 f ( yn hk 2 , t n h) 2 2
17
现代仿真技术与应用
3.1.1 常用的积分法—龙格库塔法
k1 f ( yn , t n )
第三章连续系统的数字仿真
y n 1 y n h wi k k
i 1
r
ki f ( yn h ij k j , t n i h); 2,3,....r ) (i
j 1
现代仿真技术与应用
3.1.1 常用的积分法—龙格库塔法
k1 f ( yn , t n )
第三章连续系统的数字仿真
y n 1 y n h wi k k
i 1
r
ki f ( yn h ij k j , t n i h); 2,3,....r ) (i
j 1
i 1
20
现代仿真技术与应用
3.1.3 算法误差和稳定性问题
算法误差
泰勒级数展开式
截断误差
第三章连续系统的数字仿真
截去高阶无穷小项引入的误差称为r阶精度
欧拉法
t (h )
2
梯形法
三阶龙格-库塔法 四阶龙格-库塔法
舍入误差
t (h ) 4 t (h )
3
t (h )
y k 1 y k
tk 1
tk
f (t , y ) dt
(3-3)
用梯形面积近似(3-3)的积分项,有: 梯形近似及误差 h y k 1 yk f ( yk , t k ) f ( yk 1 , t k 1 ) (3-7) 2 通过欧拉法计算出y(tk+1)的近似值:ykp1 代入原微分方程,计算fk+1 的近似值 f kp 1 f ( ykp1, tk 1 ) 改进后的欧拉公式为: ,利用梯形公式求出修正后的yk+1,得到
• 精度的阶数与计算函数值 f 的次数之间并非等量增加的关系
• 对于大量的实际问题,四阶方法已可满足精度求
每一步计算f的次数
2
3
4
5
6
7
n8
精度阶数
2
3
4
4
5
6
n-2
19
现代仿真技术与应用
第三章连续系统的数字仿真
变步长方法
误差式通常为
en
En yn 1
当 yn 较大时, en是相对误差 当 yn 较小时, en是绝对误差
k 2 f ( y n h 21 k1 , t n 2 h) f ( y n hk1 , t n h)
数值解预估-校正公式一致。
16
现代仿真技术与应用
3.1.1 常用的积分法—龙格库塔法
k1 f ( yn , t n )
第三章连续系统的数字仿真
y n 1 y n h wi k k
5
因计算机字长有限,数字不能完全精确表示而产生的误差, 与步长、数字系统、运算次序以及计算f(t, y)子程序的 精度等多种因素有关
21
现代仿真技术与应用