数值积分法在系统仿真中的应用
龙格-库塔方法基本原理3
2020/4/7
15
令 y(xi1) yi1 对应项的系数相等,得到
c1 c2 1 ,
a2c2
1 2
,
b21c2
1 2
这里有 4 个未知 数,3 个方程。
存在无穷多个解。所有满足上式的格式统称为2阶 龙格 - 库塔格式。
2020/4/7
称为P阶龙格-库塔方法。
其中ai,bij,ci为待定参数,要求上式yi+1在点(xi,yi)处作 Tailor展开,通过相同项的系数确定参数。
2020/4/7
9
Runge-Kutta方法的推导思想
对于常微分方程的初值问题
y f (x, y) a x b
y(a)
y0
的解y=y(x),在区间[xi, xi+1]上使用微分中值定理,有
hf (xi 2
,
yi
1 2
K1 )
K3 hf (xi h, yi K1 2K 2 )
2020/4/7
22
四阶(经典)龙格—库塔法
如果需要再提高精度,用类似上述的处理 方法,只需在区间[xi,xi+1]上用四个点处的斜 率加权平均作为平均斜率K*的近似值,构成一 系列四阶龙格—库塔公式。具有四阶精度,即 局部截断误差是O(h5)。
f x(xi , yi ) f (xi , yi ) f y (xi , yi ) O(h3 )
类似地,若取前P+1项作为y(xi+1)的近似值,便得到
yi1
yi
hyi
h2 2!
yi
hP P!
yi(P)
P阶泰勒方法
其中 yi f , yi f (xi , yi )x f x ff y
数值分析在计算机仿真中的应用
数值分析在计算机仿真中的应用数值分析是一门应用数学的学科,主要研究如何利用计算机进行数值计算和数值解析。
它在计算机仿真中扮演着重要的角色,能够帮助研究人员模拟和预测复杂的实际问题。
本文将介绍数值分析在计算机仿真中的应用。
一、数值方法的基础在进行计算机仿真之前,首先需要建立数学模型来描述实际问题。
然而,大部分实际问题往往是复杂的,难以直接求解。
这就需要运用数值分析的方法,通过近似和数值计算,来求解模型的数值解。
在数值分析中,常用的数值方法包括插值方法、数值积分、微分方程数值解等。
例如,插值方法可以通过已知数据点的函数值,来估计其他位置的函数值。
而数值积分则可以用于计算复杂函数的积分值。
微分方程数值解则可以帮助模拟动力系统、电路等实际问题的行为。
二、计算机仿真的优势计算机仿真是通过使用计算机模型来模拟和预测实际系统的行为。
相比于传统的实验方法,计算机仿真具有以下几个优势。
首先,计算机仿真可以在较短的时间内获得大量的数据。
通过高速计算,可以对不同的参数进行快速的变动,从而观察系统的行为。
这对于需要大量实验数据的问题尤为重要。
其次,计算机仿真可以模拟一些实验难以实现的问题。
例如,对于一些高风险或高成本的实验,计算机仿真可以提供更加安全和经济的解决方案。
最后,计算机仿真可以在设计初期就对系统进行优化。
通过不断调整参数,可以找到最优的系统配置和运行策略。
这在工程设计和产品开发中具有重要意义。
三、数值分析在计算机仿真中的应用数值分析在计算机仿真中有着广泛的应用。
以下将介绍其中几个典型的应用领域。
1. 流体力学仿真流体力学仿真是通过数值方法对流体力学问题进行模拟和分析的过程。
在航空、汽车、能源等领域,流体力学仿真被广泛运用于优化设计和性能评估。
数值方法可以对复杂的流体流动进行模拟,提供流速、温度、压力等关键参数的分布情况,有助于优化设计和改善气动性能。
2. 结构力学仿真结构力学仿真主要研究结构的应力、应变和变形等问题。
仿真学相关术语
仿真学相关术语一、仿真学基础仿真学,也称为系统仿真学,是一门基于数学、计算机技术和相关学科的综合性学科。
它通过建立模型、模拟实验和数据分析,对实际系统的行为进行预测、优化和控制。
仿真学在各个领域都有广泛的应用,如工程、生物、经济、社会等。
在仿真学中,常用的基本概念和术语包括:1.系统:由相互关联的元素组成的集合,这些元素在相互作用下实现特定的功能或目标。
2.模型:对实际系统的一种抽象表示,可以是数学模型、计算机模型或物理模型等。
3.仿真:根据实际系统的特性,建立模型并进行实验的过程。
4.仿真实验:在建立的仿真模型上进行实验,以观察系统的行为和性能。
5.仿真结果:通过仿真实验得到的数据和信息,用于分析和评估系统的性能。
二、仿真模型仿真模型是仿真的基础,可以根据实际系统的不同特性采用不同的建模方法。
常见的仿真模型包括:1.数学模型:用数学方程、不等式、函数等描述系统内部各元素之间的数学关系。
2.计算机模型:将实际系统转换成计算机程序,通过编程语言实现系统的功能和行为。
3.物理模型:根据实际系统的物理特性,建立相应的物理装置来模拟系统的行为。
根据不同需求,还可以建立其他类型的仿真模型,如社会仿真、环境仿真等。
不同的模型有其适用范围和优缺点,选择合适的建模方法对于仿真的准确性和有效性至关重要。
三、仿真方法与技术在仿真学中,根据不同的应用需求和研究对象,可以采用不同的仿真方法和相关技术。
以下是一些常见的仿真方法和技术:1.离散事件仿真:离散事件仿真是一种基于事件驱动的仿真方法,适用于描述和分析在离散时间点发生的事件的系统行为。
离散事件仿真可以模拟系统的动态过程和随机性,常用于生产制造、物流运输等领域。
2.连续系统仿真:连续系统仿真是一种基于时间连续的仿真方法,适用于描述和分析在时间连续变化下系统行为。
连续系统仿真可以采用数值积分方法求解微分方程或偏微分方程,常用于工程系统、生物系统等领域。
3.基于代理的仿真:基于代理的仿真是一种基于分布式智能体的仿真方法,适用于描述和分析大规模、分布式系统的行为。
哈工大仿真技术及应用实验指导书
仿真技术及应用实验指导书目录前言 (I)目录 (II)实验项目 (2)实验1 利用替换法构建系统仿真模型实验 (2)1.1 实验目的 (2)1.2 实验内容与要求 (2)1.5 实验报告要求 (3)实验2 利用根匹配法构建系统仿真模型实验 (4)2.1 实验目的 (4)2.2实验内容与要求 (4)2.5实验报告要求 (5)实验3 利用数值积分算法的仿真实验 (6)3.1 实验目的 (6)3.2 实验内容与要求 (6)3.5实验报告要求 (7)实验四基于Simulink控制系统仿真与综合设计 (8)4.1实验目的 (8)4.2实验内容与要求 (8)4.5 实验报告要求 (9)实验五基于Simulink三相电路仿真 (10)5.1实验目的 (10)5.2实验内容与要求 (10)5.5 实验报告要求 (12)实验六基于Simulink的直流斩波电路仿真实验 (13)6.1实验目的 (13)6.2实验内容与要求 (14)6.5 实验报告要求 (15)实验七基于Simulink的简单电力系统仿真实验 (16)7.1实验目的 (16)7.2实验内容与要求 (16)7.5 实验报告要求 (17)实验8 基于Simulink的伺服系统仿真 (17)8.1实验目的 (17)8.2实验内容与要求 (18)实验项目实验1 利用替换法构建系统仿真模型实验1.1 实验目的1) 熟悉MATLAB 的工作环境;2) 掌握MATLAB 的 .M 文件编写规则,并在命令窗口调试和运行程序;3) 掌握利用替换法构造系统离散模型的方法,并对仿真结果进行分析。
1.2 实验内容与要求1.2.1 实验内容系统电路如图 1.1所示。
电路元件参数:直流电压源V E 1=,电阻Ω=10R ,电感H L 01.0=,电容F C μ1=。
电路元件初始值:电感电流A i L 0)0(=,电容电压V u c 0)0(=。
系统输出量为电容电压)(t u c 。
系统仿真PDPSPDPS入门到精通详细教程
优化系统设计
仿真技术可以帮助工程师在设计阶段发现潜在的问 题并进行优化,提高设计的可靠性和效率。
加速产品开发周期
通过仿真技术,可以缩短产品开发周期,加 快产品上市时间,提高企业竞争力。
PDPS/PDPS概述
PDPS/PDPS简介
PDPS/PDPS是一款功能强大的系统仿真软件,广泛应用于各个领 域。它具有丰富的功能和工具,支持多种仿真方法和算法。
并行计算与分布式仿真技术
并行计算原理与实现
01
介绍并行计算的基本原理和实现方法,包括任务并行
和数据并行两种方式。
分布式仿真技术
02 详细讲解分布式仿真的原理和实现方法,包括基于消
息传递的分布式仿真和基于共享内存的分布式仿真。
PDPS中的并行计算与分布式仿真支持
03
探讨PDPS如何支持并行计算和分布式仿真,包括提
数值积分方法
03
离散事件仿真方法
利用数值积分算法对连续系统进 行仿真,如欧拉法、龙格-库塔 法等。
通过模拟离散事件的发生和处理 过程来仿真系统,适用于排队系 统、生产流程等。
系统仿真软件介绍
MATLAB/Simulink
功能强大的数学计算和仿真软件,提供丰富的工具箱和模型库,适用 于多种领域的系统仿真。
供的并行计算库、分布式仿真框架等工具和技术。
07
总结与展望
回顾本次课程重点内容
系统仿真基本概念和原理
介绍了系统仿真的定义、分类、应用 领域以及基本原理,包括建模、仿真 实验设计和结果分析等。
系统建模与仿真实验设计
深入阐述了系统建模的方法和步骤, 包括模型构建、参数设置、仿真实验 设计等,以及如何通过仿真实验验证 模型的正确性和有效性。
基于MATLAB控制系统仿真实验报告
tf 4
y0
0 1
6、求出 G1(s)
2 (s2 2s 1) 与 G2 (s)
1 (2s3
3s2
1)
的单位阶跃响应,并分别
求出状态空间模型。
解:(1) G1(s) 2 (s2 2s 1) 的状态空间模型求解如下:
function shiyan2 b1=[2];
D(z)
0.62(1 0.136z 1)(1 0.183z (1 0.045z 1)(1 0.53z 1)
1 )
分别用仿真算法得到系统在单位阶跃输入作用下的响应,系统在单位速度输
入是的输出响应。
解:(1)首先将 W1(s)转换为 W1(z),采样周期 T=0.2s,程序清单如下: function shiyan42 num=[10];den=[0.005 0.15 1 0]; ts=0.2;[nc,dc]=c2dm(num,den,ts)
INTRO(注意:intro 为一个用 MATLAB 语言编写的幻灯片程序,主要演示
常用的 MATLAB 语句运行结果。)
然后,根据现实出来的幻灯片右面按钮进行操作,可按 START——NEXT—
—NEXT 按钮一步步运行,观察。
3、自编程序并完成上机编辑,调试,运行,存盘:
(1)用 MATLAB 命令完成矩阵的各种运算,例如:
5、利用 ode23 或 ode45 求解线性时不变系统微分方程 y(t) Ay(t) ,并绘制出 y(t)
曲线,式中
A
0.5
1
1 0.5
t t0 t 如下: function xdot=fun21(t,x) A=[-0.5 1;-1 -0.5]; xdot=A*x; function fzsy22 t0=0;tf=4;tol=1e-6; x0=[0;1];trace=1; [t,x]=ode23('fun21',t0,tf,x0,tol,trace); plot(t,x) 得到的实验结果如下图所示:
控制系统仿真及MATLAB语言--第四章 连续系统的离散化方法
t2 0.2, y2 y1 1 0.1y1 0.9 0.91 0.819 t10 1.0, y10 y9 1 0.1y9 0.4628
t3 0.3, y3 y2 1 0.1y2 0.8191 0.1 0.819 0.7519
状态方程的四阶龙格-库塔公式如下:
h xk +1 xk (K 1 2K 2 2K 3 K 4 ) 6 K 1 Axk Bu (tk ) K 2 A(xk h K 1 ) Bu (tk h ) 2 2 K A (x h K ) Bu (t h ) k 2 k 3 2 2 K A(x hK ) Bu (t h) k 3 k 4 y k +1 Cxk +1
41常微分方程的数值解法数值求解的基本概念设微分方程为则求解方程中函数xt问题的常微分方程初值问题所谓数值求解就是要在时间区间ab中取若干离散点求出微分方程在这些时刻的近似值这种方法的几何意义就是把ftx在区间tk1内的曲边面积用矩形面积近似代替
第四章 连续系统的离散化方法
4.1
常微分方程的数值解法
h xk 1 xk h f k ( ftk ' f xk ' f k ) 2!
f 'tk f 'xk 等各阶导数不易计算,用下式中 ki的线性组合代替
xk 1 xk h ai ki
i 1
r
线性组合
r为精度阶次,ai为待定系数,由精度确定;ki用下 式表示 i 1
ki f (tk b1h, xk hb2 k j ) , i 2,3
将 f tk b1h,xk hb2k1 在点 tk , xk 展成Taylor级数
modelica的simple算法
一、简介Modelica是一种面向物理建模和工程仿真的开放式建模语言,它的简单算法(simple algorithm)是其中的一种常用算法。
本文将介绍simple算法的基本原理、应用场景和优缺点。
二、简单算法的基本原理简单算法是一种基本的隐式数值积分方法,它通过迭代求解微分方程的数值解。
简单算法的基本原理如下:1. 对微分方程进行离散化处理,将微分方程转化为差分方程;2. 利用初始条件,采用迭代方法求解差分方程的数值解;3. 判断数值解的精度是否满足要求,如果不满足则继续迭代,直到满足要求为止。
简单算法的求解过程相对直观,易于理解和实现,因此在一些工程仿真软件中被广泛应用。
三、简单算法的应用场景简单算法适用于一些简单的动态系统仿真,特别是对于非刚性系统和非线性系统的仿真。
由于简单算法的迭代过程较为稳定,因此对于一些求解较为复杂的微分方程而言,简单算法可以提供较为可靠的数值解。
简单算法在电力系统、控制系统和热力系统等领域有着广泛的应用。
在这些系统中,通常涉及到复杂的微分方程,而简单算法可以提供较为准确的数值解,为工程设计和分析提供重要的支持。
四、简单算法的优缺点简单算法作为一种常用的数值积分方法,具有以下优缺点:1. 优点:(1)易于实现:简单算法的迭代过程相对简单,易于理解和实现;(2)稳定性较好:简单算法的迭代过程相对稳定,适用于一些复杂的微分方程的求解。
2. 缺点:(1)收敛速度较慢:简单算法的迭代过程需要较多的迭代次数,收敛速度较慢;(2)对刚性系统和高阶系统的适应性较差:简单算法在处理一些刚性系统和高阶系统时,可能会出现数值不稳定的情况。
简单算法作为一种常用的数值积分方法,适用于一些简单的动态系统仿真,具有易于实现、稳定性较好的特点,但在收敛速度和对复杂系统的适应性上存在一定的局限性。
五、结语简单算法作为Modelica建模语言的一种常用算法,在工程仿真和系统分析中有着重要的应用价值。
通过深入理解简单算法的基本原理和应用场景,可以更好地利用该算法进行系统建模和仿真,为工程设计和分析提供可靠的数值支持。
《计算机仿真技术》报告
《计算机仿真技术》实验报告实验一 数字仿真方法验证一、实验目的1.掌握基于数值积分法的系统仿真、了解各仿真参数的影响; 2.掌握基于离散相似法的系统仿真、了解各仿真参数的影响; 3.掌握SIMULINK 动态仿真;4.熟悉MATLAB 语言及应用环境。
二、实验环境网络计算机系统,MATLAB 语言环境三、实验内容、要求(一)试将示例1的问题改为调用ode45函数求解,并比较结果。
示例1:设方程如下,取步长 h =0.1。
上机用如下程序可求出数值解。
调用ode45函数求解: 1)建立一阶微分方程组 du=u-2*t/u2)建立描述微分方程组的函数m 文件 function du=sy11vdp(t,u) du=u-2*t/u3)调用解题器指令ode45求解y[t,u]=ode45('sy11vdp',[0 1],1) plot(t,u,'r-'); xlabel('t'); ylabel('u'); 结果对比:euler 法:t=1,u=1.7848; RK 法:t=1,u=1.7321; ode45求解:t=1,u=1.7321;[]1,01)0(2∈⎪⎩⎪⎨⎧=-=t u u t u dt duode45求解t-u 图:00.10.20.30.40.50.60.70.80.9111.11.21.31.41.51.61.71.8tu(二)试用四阶RK 法编程求解下列微分方程初值问题。
仿真时间2s ,取步长h=0.1。
⎪⎩⎪⎨⎧=-=1)0(2y t y dt dy 四阶RK 法程序:clear t=2; h=0.1; n=t/h; t0=0; y0=1;y(1)=y0; t(1)=t0;for i=0:n-1 k1=y0-t0^2;k2=(y0+h*k1/2)-(t0+h/2)^2; k3=(y0+h*k2/2)-(t0+h/2)^2 k4=(y0+h*k3)-(t0+h)^2;y1=y0+h*(k1+2*k2+2*k3+k4)/6; t1=t0+h; y0=y1; t0=t1;y(i+2)=y1; t(i+2)=t1;end y tplot(t,y,'r'); 结果:t=2,y=2.61090.511.522.511.21.41.61.822.22.42.62.83:(三)试求示例3分别在周期为5s 的方波信号和脉冲信号下的响应,仿真时间20s ,采样周期Ts=0.1。
多体系统动力学建模与仿真分析
多体系统动力学建模与仿真分析概述多体系统动力学建模与仿真分析是解决实际工程问题和科学研究中的重要技术手段。
本文将从理论介绍、实际应用和发展前景等几个方面,探讨多体系统动力学建模与仿真分析的相关内容。
一、多体系统动力学建模的理论基础多体系统动力学建模是研究多体系统运动规律的基础工作。
其理论基础主要包括牛顿运动定律、欧拉-拉格朗日动力学原理等。
1. 牛顿运动定律牛顿运动定律是多体系统动力学建模的基础。
根据牛顿第二定律,物体的加速度与作用在物体上的合外力成正比,与物体的质量成反比。
在多体系统中,通过对所有物体的运动状态和相互作用力进行分析,可以建立多体系统的动力学模型。
2. 欧拉-拉格朗日动力学原理欧拉-拉格朗日动力学原理是一种更为普适的多体系统动力学建模方法。
该理论通过定义系统的广义坐标和广义速度,以及系统的势能和拉格朗日函数,通过求解拉格朗日方程,得到系统的运动方程。
相比于牛顿运动定律,欧拉-拉格朗日动力学原理具有更广泛的适用性和更简洁的表达形式。
二、多体系统动力学建模的实际应用多体系统动力学建模在工程和科学领域中有着广泛的应用。
以下以机械系统和生物系统为例,简要介绍多体系统动力学建模的实际应用。
1. 机械系统在机械工程中,多体系统动力学建模是设计和优化机械系统的关键步骤。
以汽车悬挂系统为例,通过建立汽车车体、轮胎、悬挂弹簧和减震器等部件的动力学模型,可以分析车辆在不同工况下的悬挂性能,进而指导悬挂系统的设计和优化。
2. 生物系统在生物医学工程和生物力学研究中,多体系统动力学建模对于理解和模拟生物系统的运动特性具有重要意义。
例如,通过建立人体关节和肌肉的动力学模型,可以分析人体的运动机制,评估关节健康状况,提供康复治疗方案等。
三、多体系统动力学仿真分析的方法与技术多体系统动力学仿真分析是通过计算机模拟多体系统的运动过程,从而得到系统的运动学和动力学特性。
常用的方法与技术包括数值积分方法、刚体碰撞检测与处理、非线性约束求解等。
建模与仿真及其医学应用
建模与仿真及其医学应用》实验讲义天津医科大学生物医学工程系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 。
实验一 数值积分算法仿真实验
实验一数值积分算法仿真实验数值积分算法是对微积分中每个基本概念的具体应用,它被广泛应用于数学、工程、物理学、计算机科学等领域。
实验一旨在通过仿真实验来理解数值积分的基本原理以及各种算法的优劣。
1. 实验目的通过本实验,我们将探索数值积分算法的基本原理,以及了解求解积分的各种算法的使用方法和适用范围。
具体而言,本实验的目的包括:1. 理解数值积分的基本原理和方法。
2. 掌握数值积分算法的使用方法和步骤。
3. 比较不同积分算法的优缺点,了解它们适用的范围。
2. 实验内容本实验的具体内容包括:1. Simpson 积分算法的仿真实验3. 辛普森—三分积分算法的仿真实验4. 实验结果的分析与比较3. 实验原理在本次实验中,我们将介绍三种数值积分算法,分别是 Simpson 积分算法、梯形积分算法和辛普森-三分积分算法。
Simpson 积分算法也称为复化 Simpson 公式,是一种求解一定区间内函数积分值的数值计算方法。
这种方法的基本思路是将区间内的几何图形近似为二次函数,从而完成积分的近似计算。
具体而言,这种方法是通过将区间内的函数曲线分成若干个小区间,计算每一个小区间内的积分值,最后将这些积分值加起来得到整个区间内的积分值。
Simpson 积分公式如下所示:$I=\frac{h}{3}(f(x_0)+4f(x_1)+2f(x_2)+4f(x_3)+2f(x_4)+...+4f(x_{n-1})+f(x_n))$其中,$n$ 表示小区间的数目,$h$ 表示每个小区间的长度,$f(x_i)$ 表示区间内的函数值。
3.2 梯形积分算法辛普森-三分积分公式如下所示:$I=\frac{2b-a}{6n}(f(a)+f(b)+2\sum_{j=1}^{n/2}f(x_{2j})+4\sum_{j=1}^{n/2-1}f(x _{2j + 1}))$```% Simpson 积分算法function result = simpson(a,b,f,n)h = (b-a)/n;x = a:h:b;y = f(x);result = h/3*(y(1) + 4*sum(y(2:2:n)) + 2*sum(y(3:2:n-1)) + y(n+1));end我们可以通过实验数据来比较不同积分算法的优缺点。
面向工程应用的数值积分法仿真实验
LI J i e
( D e p a r t m e n t o f T h e r ma l E n g i n e e r i n g , C h e n g d e P e t r o l e u m C o l l e g e , C h e n g d e 0 6 7 0 0 0 , H e b e i ,C h i n a )
关键词 : Ma t l a b ; 龙 格 一库 塔 法 ; 仿真 ; 状 态空间
中图分类号 : T P 3 9 1 . 9
文献标识码 : B
文章 编 号 : 1 0 0 8 — 9 4 4 6 ( 2 0 1 3 ) 0 2 - 0 0 3 9 - 0 5
Nu me r i c I n t e g r a t i o n Al g o r i t hm Em ul a t i o n Ex pe r i me n t
r u n g e — k u t t a me t h o d s i mu l a t i o n p r o g r a m ,g i v e s s t a t e s pa c e s y s t e m mo d e l s i mul a t i o n,a n d f u r t h e r i m— p r o v e s t he s i mu l a t i o n s p e e d a n d a c c u r a c y,a nd in f d s o u t t h e b e s t s i mu l a t i o n s t e p,i n o r d e r n o t t o i n - f i ni t e l y r e d u c e s t e p c o n d i t i o n s t o a c h i e v e h i g h e r p r e c i s i o n,a n d o b t a i n a mo r e r e l i a b l e s i mu l a t i o n t i me
6 SIMULINK仿真基础之数值积分法仿真
(t k ) hk 1 /(|
m
0
y
k
| 1)
则有 hk 1 ( 0(| y
( 0 / ek )
1
k|1) / (t k ))
1
m
m m { 0(| y |1)hk /[ek (| y |1)]} k k
1
m
h
k
3)若ek> ε0,本步失败,但仍采用上式,重新进行积分。
(2)初始化程序:完成各类初始数据的准备工作,如设 置工作单元、给定变量初值和系统仿真参数等。
若 ek 0
k
m
ek (t k ) hk /(|
m
y
k
| 1)
则表示本步积分成功,可以用ek来确定下一步的最大步长hk+1 了。
2)假定hk+1足够小,即认为 (t k hk 1) (t k ) m 得 ek 1 (t k 1) hk 1 /(| y | 1)
6.1 数值积分法
6.1.1 概述
数字仿真模型、算法及仿真工具
控制系统的数字仿真是利用数字计算机作为仿真工具,采用数学上的各 种数值算法求解控制系统运动的微分方程,得到被控物理量的运动规律。 通常,计算机模拟被控对象是用一定的仿真算法来实现被控对象的运动规 律,这是基于被控对象的数学模型来完成的。
6.3 面向微分方程的仿真程序设计
6.3.1 通用仿真程序的一般结构及工作原理 1. 通用仿真程序的基本结构 以数字计算机作为仿真工具,使用适当的算法语言来 编制通用的仿真程序,可以针对不同的系统进行相应的仿真 处理。按常规组成结构,通用仿真程序可分为3个层次,即 主程序块、功能程序块、基本子程序块。 各模块功分析能如下: (1)主程序:完成仿真逻辑控制,实现各功能模块的 调用、模型的转换、系统运行、输入输出的控制等。
仿真3数值积分法
•
• 描述各类系统最基本的模型用微分方程或 状态空间表达式,二次建模就是要求出适合用数 字计算机求解的模型,就需要把微分运算转化成 算术运算在用计算机求解。
连续系统数值积分法:就是利用数值积分 方法对常微分方程建立离散化形式的数学模型( 差分方程)并求出数值解。
最常用的数值解法有:
欧拉法、梯形法、Adams、Runge—Kutta法 。
• 实际在逐步递推过程中,计算 yn+1 时已经获
得一系列的近似值:
以及
。
• 如果能利用多步计算信息(历史时刻值), 则可能既加快仿真速度又获得较高的仿真精度, 这就是构造多步法的出发点。
• 多步法中以 Adams 法最具代表性,应用最为 普遍。
•
• 一、Adams算法
• 对一阶连续系统
:
•连续解为:
•此时,RK4公式的4个 k 值:
•
例:系统方程
•解
•取步长 h=0.1,试用RK4法求t=0.1,0.2时的解 •将原系统方程化为状态方程形式
::
•
•
•见仿真结 果
•作业:P149 3.2
•
•
• 第三节 数值积分法的多步算法
• 单步法的特点:计算 n+1 时刻的值 yn+1 时, 只用到第 n 时刻的 yn 和 fn 。
•
(1)
• 之间的误差为:
• 局部截断误差与hp+1是同阶无穷小量,记为 •O(以hp上+1)公式(1)就称为p阶的Taylor展开法递推公
式
•
欧拉法的Taylor级数展开
•只取一次项,其余忽略
•写成差分方程 为 •这就是解微分方程初值问题的欧拉算法。
电力系统仿真技术介绍
电力系统实时仿真器主要有:ADPSS、ARENE、DDRTS、 HYPERSIM、RTDS、RT-LAB、dSPACE。 RTDS 全称为实时数字仿真仪,由加拿大曼尼托巴 RTDS 公司开发制造,是最早设计用于研究电力系统中电 磁暂态现象的装置。加拿大魁北克水电研究所的 TEQSIM 公司开发了电力系统实时仿真系统( HYPERSIM ),主要 用于电力系统电磁暂态仿真,其核心软件是 EMTP 程序。 法国电力公司( EDF )开发的 ANENE 实时仿真系统,其核 心软件也是 EMTP 。由殷图科技发展有限公司、东北电力 调度通信中心和清华大学联合研制、开发的数字动态实 时仿真系统(简称DDRTS),是国内自主研发的实时数字 仿真系统。中国电力科学研究院开发了世界上首套可模 拟大规模电力系统(1000台机、10000个节点)的全数字 实时仿真装置ADPSS,大规模电力系统的实时数字仿真也 得以实现。
不同软件仿真的适用范围并无严格定义,通常情况下同样的问题可以选用多种不同的软件进 行分析研究, 但选取适合的软件工具能够减少不必要的工作量。红色标注了使用频率高的软件。
4.1 机电暂态仿真软件
机电暂态过程的仿真,主要研究电力系统受到大扰动后的暂态稳定和 受到小扰动后的静态稳定性能。其中暂态稳定分析是研究电力系统受到诸 如短路故障,切除线路、发电机、负荷,发电机失去励磁或者冲击性负荷 等大扰动作用下,电力系统的动态行为和保持同步稳定运行的能力。 电力系统机电暂态仿真的算法是联立求解电力系统微分方程组和代数 方程组,以获得物理量的时域解。微分方程组的求解方法主要有隐式梯形 积分法、改进尤拉法、龙格-库塔法等,其中隐式梯形积分法由于数值稳定 性好而得到越来越多的应用。代数方程组的求解方法主要采用适于求解非 线性代数方程组的牛顿法。按照微分方程和代数方程的求解顺序可分为交 替解法和联立解法。 目前,国内常用的机电暂态仿真程序是电力系统综合程序(PSASP)和中 国版BPA电力系统分析程序。国际上常用的有美国PTI公司的PSS/E、美国 EPRI的ETMSP、ABB的SIMPOW程序、德国西门子的NETOMAC、德国 Powerfactory的DIgSILENT。
实验:控制系统数字仿真之数值积分法
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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4阶龙格-库塔法式使用较多的一种方法,其公式如下
y n 1 y n h ( k1 2 k 2 2 k 3 k 4 ) 6
k1 f ( y n , t n )
k2 f ( yn h h k1 , t n ) 2 2
(3-11)
k3 f ( yn
h h k2 , tn ) 2 2
当k 3时, (3 28)式的系数vi 为
1 1 v2 s(s 1)ds 5 2! 0 12
(3-29)
第三章 数值积分法在系统仿真中的应用
故可得三阶亚当斯公式
y(tn1 ) y(tn ) hfn 1 hf n 5 h2 f n 2 12
本章小结……………………………………………….
第三章 数值积分法在系统仿真中的应用
3.1 连续系统仿真中常用的数值积分法
1. 数值积分法
如果已知某一系统的一阶向量微分方程为
f ( y, t ), y(t0 ) y0 y
对式子(3.1),数值积分可写成统一的公式
(3-1)
yn1 ai yni h i f ni
i 0 i 1
m
m
(3-2)
第三章 数值积分法在系统仿真中的应用
几种常用的积分法
欧拉法
欧拉法的几何意义 改进的欧拉法
龙格-库塔法 亚当斯法(显式) 亚当斯法(隐式)
第三章 数值积分法在系统仿算精度较低,实际中很少采用,
f (t )
误差
但器推倒简单,能说明旧够数值解法一般计算公 式的基本思想。
t0
t1 t 2
t
称为欧拉折线法。 条折线,
图3.2 欧拉折线
第三章 数值积分法在系统仿真中的应用
改进的欧拉法
在推导时用图中的阴影面积来近似
f (t )
式(3.3)时,由于梯形公式中隐含有待求 量,通常可用欧拉法启动初值,算出近 似值,然后带如微分方程,最后利用梯 形公式求出修正。为提高精度,简化计 算,只迭代一次。这样可得改进的欧拉 公式:
第三章 数值积分法在系统仿真中的应用
龙格-库塔法
将式(3.3)在tn点展开 泰勒级数
h2 (t n ) (t n ) o(h 3 ) y (t n h) y (t n ) hy y 2
龙格-库塔(RK)法的一般形式为
r
(3-9)
yn1 yn h wi ki
对式(3.1)两端由to到t1进行积分 , 得到
y(t1 ) y0 f ( y, t )dt
t1
0
t0
t1
t0
(3-3)
t
图3.1 矩形近似及其误差
第三章 数值积分法在系统仿真中的应用
欧拉法的几何意义
欧拉法的几何意义 十分清楚。
y
y0
y1
y2
图3.2通过 ( t 0 , y 0 )点作为积分曲线的切线 ,其 斜率为f ( y 0 , t 0 ),此切线与 t1处平行于y轴直 线的交点即为 y1,再过 ( t1 , y1 )点作积分曲线 的切线, 它与过t 2平行于y轴直线的交点为 y 2。 这样过 ( t 0 , y 0 ), ( t1 , y1 ), ( t 2 , y 2 ), ,得到一
第三章 数值积分法在系统仿真中的应用
第三章 数值积分法在系统仿真中的应 用
3.1 连续系统仿真中常用的数值积分法……………. 3.2 刚性系统的特点及算法…………………………. 3.3 实时仿真法………………………………………. 3.4 分布参数系统的数字仿真……………………….
3.5 面向微分方程的仿真程序设计………………….
f n f n f n 1 2 f n ( f n 2 f n 1 ) f n 2 k f n k 1 f n k 1 f n 1 0 fn fn
(3-26)
第三章 数值积分法在系统仿真中的应用
k 4 f ( yn hk3 , t n h)
第三章 数值积分法在系统仿真中的应用
亚当斯法(显式)
在解决积分问题时,采用亚当斯-贝喜霍斯显示多步法,简称亚当斯法。 根据牛顿后插公式
Pi , j (t ) fn
(t t n )( t t n 1 ) (t t n 1 k ) k (3-25) (t tn) fn fn k h h k!
0
(k=1时可得欧拉公式)
1
第三章 数值积分法在系统仿真中的应用
当k=2时,得到亚当斯多步法的计算公式,(3-28)式各系数为
v0 1
v1 f n ds 1 0 2
1
将v0 , v1代入(3 27)式得
y(tn1 ) y(tn ) 1 h(3 f n f n1 ) 2
亚当斯多步法的计算公式是
y(tn1 ) y(tn ) h vi i f n
i 0
k 1
(3-27)
其中
v0 1
1 1 v1 s ( s 1) ( s i 1)ds i 1 it 0
(3-28)
y(tn1 ) y(tn ) h f n ds y(tn ) hfn
i 1
(3-10)
式中
k1 f ( y n , t n )
k i f ( y n h ij k j , t n i h)
j 1 i 1
(i 2, 3, r )
第三章 数值积分法在系统仿真中的应用
而
i ij
j 1
i 1
ai , ij , wi为待定系数, r为使用k的个数(即阶数)。在给定r值后,通 过把式(3.10)展开成h的幂级数,然后和台劳 展开式的系数进行对比 , 以确定 ij , wi的值。
p yn 1 yn h f ( yn , t n ) (3-8) p p h y y [ f ( y , t ) f ( y n n n 1 , t n 1 )] n 1 n 2
0
t0
t1
t
第一式称为预估公式, 第二式称为校正公式。
图3.3 梯形近似及其误差