哈工大 计算机仿真技术实验报告 实验3 利用数值积分算法的仿真实验
计算机仿真实验报告-实验三
一、实验内容:实验三 利用欧拉法、梯形数法和二阶显式Adams 法对RLC 串联电路的仿真1前向欧拉法状态方程:Du CX y Bu AX X m +=+=+•1 然后根据前向欧拉法(其中h 为步长)•++=m m m hX X X 1即可得到系统的差分方程2后向欧拉法根据前向欧拉法得到的系统状态方程,结合后向欧拉法(其中h 为步长)•+++=11m m m hX X X 即可得到系统的差分方程3梯形法由前面的系统状态方程,结合梯形法)(211+••+++=m m m m X X h X X 即可得到系统的差分方程4二阶显式Adams 方法由前面的状态方程,结合二阶显式Adams 方法)51623(12211--++-+=m m m m m F F F h X X 即可得到系统的差分方程但是二阶显式Adams 法不能自起步,要使方程起步,需要知道开始的三个值,但是我们只知道第一个值。
经过分析后,二阶显式Adams 方法精度是二阶的,而梯形法精度也是二阶的,因此我们可以先借助梯形法得到输出的前三个值,以达到起步的目的,然后借助上面得到的差分方程对其进行求解。
二、实验波形:下图为前向欧拉法、后向欧拉法、梯形法、二阶显式Adams 方法的系统差分方程得到相应的输出波形:图1 h=410 时四种方法的输出波形图2 h=56-⨯时四种方法的输出波形10图3 h=510-时四种方法的输出波形图4 h=610-时四种方法的输出波形三、实验分析:由输出波形可以看到各种方法的特点(在图中蓝色线均表示连续系统模型的实际输出波形,红色线表示在对应方法下系统的输出波形。
):1前向欧拉法和二阶显式Adams方法对步长的要求很强。
步长太大,最后的到的结果不是绝对收敛,而是发散。
在小步长下才显得收敛,这也从另一方面验证,步长越小,截断误差越小;2步长不能太小,太小的步长相应的舍入误差和累积误差也会增大;3前向欧拉法也可称为显式欧拉法,后向欧拉法也可称为隐式欧拉法,可以看到,后向欧拉法的稳定域要比前向欧拉法大,计算精度也要高一些。
数值计算方法实验报告
数值计算方法实验报告一、实验介绍本次实验是关于数值计算方法的实验,旨在通过计算机模拟的方法,实现对于数值计算方法的掌握。
本次实验主要涉及到的内容包括数值微积分、线性方程组的求解、插值与拟合、常微分方程的数值解等。
二、实验内容1. 数值微积分数值微积分是通过计算机模拟的方法,实现对于微积分中的积分运算的近似求解。
本次实验中,我们将会使用梯形公式和辛普森公式对于一定区间上的函数进行积分求解,并比较不同公式的计算误差。
2. 线性方程组的求解线性方程组求解是数值计算领域中的重要内容。
本次实验中,我们将会使用高斯消元法、LU分解法等方法对于给定的线性方程组进行求解,并通过比较不同方法的计算效率和精度,进一步了解不同方法的优缺点。
3. 插值与拟合插值与拟合是数值计算中的另一个重要内容。
本次实验中,我们将会使用拉格朗日插值法和牛顿插值法对于给定的数据进行插值求解,并使用最小二乘法对于给定的函数进行拟合求解。
4. 常微分方程的数值解常微分方程的数值解是数值计算中的难点之一。
本次实验中,我们将会使用欧拉法和龙格-库塔法等方法对于给定的常微分方程进行数值解的求解,并比较不同方法的计算精度和效率。
三、实验结果通过本次实验,我们进一步加深了对于数值计算方法的理解和掌握。
在数值微积分方面,我们发现梯形公式和辛普森公式都能够有效地求解积分,但是辛普森公式的计算精度更高。
在线性方程组求解方面,我们发现LU分解法相对于高斯消元法具有更高的计算效率和更好的数值精度。
在插值与拟合方面,我们发现拉格朗日插值法和牛顿插值法都能够有效地进行插值求解,而最小二乘法则可以更好地进行函数拟合求解。
在常微分方程的数值解方面,我们发现欧拉法和龙格-库塔法都能够有效地进行数值解的求解,但是龙格-库塔法的数值精度更高。
四、实验总结本次实验通过对于数值计算方法的模拟实现,进一步加深了我们对于数值计算方法的理解和掌握。
在实验过程中,我们了解了数值微积分、线性方程组的求解、插值与拟合、常微分方程的数值解等多个方面的内容,在实践中进一步明确了不同方法的特点和优缺点,并可以通过比较不同方法的计算效率和数值精度来选择合适的数值计算方法。
计 算 机 仿 真 技 术第三章 数值积分法在系统仿真中的应用
式时,在计算 yn1中,需要知道 fn1 ,
而 fn1 f tn1, yn1 又依赖于yn1 本身。因此,要首
先利用欧拉法计算每一个预估的ynp1 ,以此值代
入原方程(3.1.1)式计算
fp n1
,最后利用(3.1.9)
式求修正后的
yc n1
。
所以改进的欧拉法可描述为
预测
ytn
h
ytn
hf
tn ,
yn
h h2 2!
f
tn ,
yn
将(3.1.4)式在
Rn
1 2!
h2
f
tn
,
yn
以后截断,即
得(3.1.3)式的欧拉公式,Rn称为局部截断误差,
它与 h2成正比,即 Rn O h2
(3.1.5)
另外,解以t 0开始继续到t tn ,所积累的误
1 h2 2!
fy f ft
1 h3 3!
f yy
f
2
f
2 y
f
2
f yt
f
f y ft ftt
又设原问题的数值解公式为
r
yn1 yn Wi Ki
i 1
Ki
hf tn
cih, yn
i 1 j 1
aij
Ki
ytn h ytn hf
(3.1.15)
由(3.1.14)式可得
yn1 yn W1K1 yn W1hf tn , yn (3.1.16)
比较(3.1.15)式和(3.1.16)式得 塔公式为
哈工大系统建模与仿真基础实验手册
《系统建模与仿真基础》实验手册目录实验一基于M 文件的建模与仿真 (1)一、实验目的 (1)二、实验原理 (1)三、实验内容 (4)四、实验步骤 (6)五、实验报告 (6)实验二基于Simulink 文件的建模与仿真 (7)一、实验目的 (7)二、实验原理 (7)三、实验内容 (8)四、实验步骤 (10)五、实验报告 (10)实验一基于M 文件的建模与仿真一、实验目的熟悉以下内容:1) 矩阵及其相关运算2) 控制语句及其应用3) 二维绘图函数及其应用4) 插值函数及其应用5) 数值积分程序及其应用6) 基于m 文件进行系统建模与仿真分析二、实验原理1、矩阵及其相关运算如果一个矩阵A 有n 行、m 列元素,则称A 矩阵为n ⨯ m 矩阵;若n = m ,则矩阵A 又称为方阵。
MATLAB 语言中定义了下面各种矩阵的基本代数运算:1) 矩阵转置A'2) 加减法运算假设在MATLAB 工作环境下有两个矩阵A 和B,则可以由C=A + B 和C=A - B 命令执行矩阵加减法。
若A 和B 矩阵的维数相同,它会自动地将A 和B 矩阵的相应元素相加减,从而得出正确的结果,并赋给C 变量。
若二者之一为标量,则应该将其遍加(减) 于另一个矩阵。
3) 矩阵乘法假设有两个矩阵A 和S,其中A 的列数与S 矩阵的行数相等,或其一为标量,则称B 矩阵是可乘的,或称A 和B 矩阵的维数是相容的。
MATLAB 语言中两个矩阵的乘法由C=A*B 直接求出,且这里并不需要指定A 和B 矩阵的维数。
如果A 和B 矩阵的维数相容,则可以准确无误地获得乘积矩阵C;如果二者的维数不相容,则将给出错误信息,通知用户两个矩阵是不可乘的。
4) 矩阵行列式det(A)5) 矩阵特征根eig(A)6) 矩阵的左除MATLAB 中用“\”运算符号表示两个矩阵的左除,A\B 为方程AX=B 的解X,若A 为非奇异方阵,则X =A-1B,如果A 矩阵不是方阵,也可以求出X =A\B,这时将使用最小二乘解法来求取AX=B 中的X 矩阵。
哈工大 计算机仿真技术实验报告 实验3 利用数值积分算法的仿真实验
实验3 利用数值积分算法的仿真实验(一、实验目的1) 熟悉MATLAB 的工作环境;2) 掌握MATLAB 的 .M 文件编写规则,并在命令窗口调试和运行程序; 3) 掌握利用欧拉法、梯形法、二阶显式Adams 法及四阶龙格库塔法构建系统仿真模型的方法,并对仿真结果进行分析。
二、实验内容系统电路如图2.1所示。
电路元件参数:直流电压源,电阻,电感,电容。
电路元件初始值:电感电流,电容电压。
系统输出量为电容电压。
连续系统输出响应的解析解为:))/sin (cos 1()(ωωωa t t e U t u at s c ⨯+⨯-=-(2-1)其中,LRa 2= ,221⎪⎭⎫⎝⎛-=L R LC ω 。
)(t u c 图2.1 RLC 串联电路三、实验要求1)利用欧拉法、梯形法、二阶显式Adams 法及显式四阶Runge-Kutta法构建系统仿真模型,并求出离散系统的输出量响应曲线;2)对比分析利用欧拉法、梯形法、二阶显式Adams 法及显式四阶Runge-Kutta 法构建系统仿真模型的仿真精度与模型运行的稳定性问题;3)分别编写欧拉法、梯形法、二阶显式Adams 法及显式四阶Runge-Kutta 法的.m 函数文件,并存入磁盘中。
.m 函数文件要求输入参数为系统状态方程的系数矩阵、仿真时间及仿真步长。
编写.m 命令文件,在该命令文件中调用已经编写完成的上述.m 函数文件,完成仿真实验;4)利用subplot 和plot 函数将输出结果画在同一个窗口中,每个子图加上对应的标题。
四、实验原理在连续系统的数字仿真算法中,较常用的有欧拉法、梯形法、二阶显式Adams 法及显式四阶Runge-Kutta 法等。
欧拉法、梯形法和二阶显式Adams 法是利用离散相似原理构造的仿真算法,而显式四阶Runge-Kutta 法是利用Taylor 级数匹配原理构造的仿真算法。
对于线性系统,其状态方程表达式为:()()()()()()t t t t t t ⎧=+⎨=+⎩xAx Bu y Cx Du 00)(x x =t (4-1) 式(4-1)中,[]Tn t x t x t x )()()(21 =x 是系统的n 维状态向量,[]Tm t u t u t u t )()()()(21 =u 是系统的m 维输入向量,[]Tr t y t y t y t )()()()(21 =y 是系统的r 维输出向量。
《计算机仿真技术》报告
《计算机仿真技术》实验报告实验一 数字仿真方法验证一、实验目的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. 实验目的掌握计算机仿真技术的基本原理和方法,通过实际操作了解模型建立、参数设置和结果分析等相关内容。
3. 实验过程3.1 模型建立选择一个适合的仿真软件,如Arena、Simulink等,并根据实际需要,在软件中建立相应的仿真模型。
模型的建立包括确定系统的输入、输出、变量和参数,并定义其关系和约束条件。
3.2 参数设置为了保证仿真结果的准确性和可靠性,需要对模型中的参数进行设置。
根据实际情况,选择合适的参数值,并考虑不同参数对仿真结果的影响。
3.3 仿真运行设置好参数后,可以运行仿真程序,观察系统在不同条件下的运行情况。
可以通过改变输入、输出、变量和参数等相关参数,来模拟不同的系统行为。
3.4 结果分析根据仿真运行的结果,进行相应的数据分析和结果评估。
可以通过绘制柱状图、折线图、散点图等,直观地展示系统的性能和行为。
4. 实验结果与讨论根据实际情况,展示实验的结果,并进行相应的讨论。
可以比较不同参数下的仿真结果,分析其差异和影响因素。
在讨论时,可以考虑系统的稳定性、效率、安全性等方面。
5. 实验结论通过本次实验,我们深入了解了计算机仿真技术的基本原理和方法,并通过实际操作,掌握了模型建立、参数设置和结果分析等相关技能。
计算机仿真技术具有广泛的应用领域,包括交通运输、物流管理、生产调度、风险评估等,可以帮助我们理解和优化现实系统的运行和性能。
6. 参考文献[1] Robert, J. (2007). Simulation Modeling and Analysis. Boston: McGraw-Hill.[2] Banks, J., Carson, J., Nelson, B. L., & Nicol, D. M. (2000). Discrete-Event System Simulation. New Jersey: Prentice Hall.7. 致谢感谢实验指导教师对本次实验的支持和指导,也感谢实验中的所有参与人员的付出和帮助。
计算机仿真实验报告
计算机仿真实验报告计算机仿真实验报告引言:计算机仿真是一种利用计算机模拟实际系统行为的方法。
它通过建立数学模型,运用计算机算法和技术,模拟和分析系统的运行过程,以便更好地理解和预测系统的行为。
本文将探讨计算机仿真实验的概念、目的、方法和应用。
一、概念与目的计算机仿真实验是指利用计算机技术对实际系统进行模拟和分析,以研究系统的行为、性能和优化方法的一种实验方法。
其目的在于通过模拟实验,提供对实际系统的理解和预测,以便进行决策和改进。
二、方法与技术1. 建立数学模型:计算机仿真实验的第一步是建立数学模型,即将实际系统抽象为数学表达式或算法。
这需要对系统的结构、行为和性能进行深入分析和理解。
2. 数据采集与预处理:收集实际系统的数据,并对数据进行预处理,以便在计算机中进行仿真实验。
这包括数据清洗、数据转换和数据校正等步骤。
3. 编程与算法设计:根据建立的数学模型,使用计算机编程语言编写仿真程序,并设计相应的算法。
这需要熟悉计算机编程和算法设计的基本原理和方法。
4. 参数设置与验证:根据实际系统的特点和需求,设置仿真实验的参数,并进行验证。
这需要对实际系统的数据进行分析和比对,以确保仿真实验的准确性和可靠性。
5. 仿真运行与结果分析:运行仿真程序,观察和分析仿真结果。
这包括对系统行为、性能和优化方法的分析,以及对仿真结果的可视化和统计。
三、应用与案例计算机仿真实验在各个领域都有广泛的应用。
以下是一些典型的案例:1. 交通仿真:通过模拟城市交通流量和交通信号灯的运行,优化交通信号配时方案,提高交通效率和减少拥堵。
2. 生物仿真:通过模拟生物系统的行为和进化过程,研究生物多样性、环境适应性和生物进化机制。
3. 金融仿真:通过模拟金融市场的价格波动和交易行为,预测市场趋势和风险,辅助投资决策和风险管理。
4. 工程仿真:通过模拟工程系统的设计和运行过程,优化工程结构和工艺参数,提高工程效率和质量。
5. 医学仿真:通过模拟人体器官的结构和功能,研究疾病的发生机制和治疗方法,辅助医学研究和临床决策。
计算机仿真实验报告
计算机仿真实验报告《计算机仿真实验报告》摘要:本实验利用计算机仿真技术对某一特定系统进行了模拟实验,通过对系统的运行状态、性能参数等进行观测和分析,得出了一系列有意义的结论。
本报告将详细介绍实验的背景、目的、方法、结果和结论,以及对实验过程中遇到的问题和解决方法进行总结。
1. 背景随着计算机技术的不断发展,计算机仿真技术已经成为了科学研究和工程实践中不可或缺的一部分。
通过对实际系统的建模和仿真,可以更好地理解系统的运行规律,优化系统设计,提高系统的性能和可靠性。
2. 目的本实验旨在利用计算机仿真技术对某一特定系统进行模拟实验,通过观测和分析系统的运行状态和性能参数,得出有意义的结论,为系统的优化设计提供参考。
3. 方法本实验选取了某一特定系统作为研究对象,首先对系统进行了建模,并利用计算机软件进行了仿真实验。
在实验过程中,通过改变系统的参数和条件,观测系统的运行状态和性能参数的变化,并记录实验数据。
4. 结果通过实验观测和数据分析,得出了一系列有意义的结论:系统在不同参数和条件下的运行状态、系统的性能参数随时间的变化趋势等。
这些结论为系统的优化设计提供了重要的参考依据。
5. 结论本实验利用计算机仿真技术对某一特定系统进行了模拟实验,通过观测和分析系统的运行状态和性能参数,得出了一系列有意义的结论。
这些结论为系统的优化设计提供了重要的参考依据,具有一定的理论和实际意义。
6. 实验过程中遇到的问题和解决方法在实验过程中,我们遇到了一些问题,如系统建模的复杂性、仿真实验的参数选择等。
通过认真分析和讨论,我们采取了一些解决方法,最终顺利完成了实验。
综上所述,本实验利用计算机仿真技术对某一特定系统进行了模拟实验,通过观测和分析系统的运行状态和性能参数,得出了一系列有意义的结论,为系统的优化设计提供了重要的参考依据。
同时,我们也总结了实验过程中遇到的问题和解决方法,为今后的研究和实践提供了一定的借鉴。
实验一 数值积分算法仿真实验
实验一数值积分算法仿真实验数值积分算法是对微积分中每个基本概念的具体应用,它被广泛应用于数学、工程、物理学、计算机科学等领域。
实验一旨在通过仿真实验来理解数值积分的基本原理以及各种算法的优劣。
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我们可以通过实验数据来比较不同积分算法的优缺点。
哈工大数值分析实验报告
产生逼近解 x*的迭代数列{xk},这就是割线法的思想
.1.
数值分析实验报告
宋俊霖
拟 Newton 法以 X 0 为初始 Nhomakorabea似,利用递推关系
X k 1 X k H k F ( X k ) H k 1 ( F ( X k 1 ) F ( X k )) X k 1 X k H k 1 H k H k , k 0,1,...
其中 r 为要求的方程的根的重数,这就是改进的 Newton 法,当求解已知重数的方程的根 时,在同种条件下其收敛速度要比 Newton 法快的多。 割线法通常预先给出两个猜测初值 x0 , x1 ,然后根据迭代公式
xk 1 xk f ( xk ) ( xk xk 1 ) f ( xk ) f ( xk 1 )
产生近似于方程组 F ( X ) 0 的解 X * 的迭代序列 { X k } , 利用这个递推关系式就是拟 Newton 法, 实际计算时, 只要选择较好的初始近似 X 0 和初始矩阵 H 0 , 一般可得到较好的近似解。
1.2
Python 程序设计
二分法源程序: import math def f(x): return math.sin(x)-0.5*x**2 def binary_method(f, x0, x1, eps, maxi): delta=100 k=0 while delta > eps: x2 = (x1+x0)/2 if f(x0)*f(x2)>0: x0=x2 else : x1=x2 delta=abs(x1-x0) k+=1 print('Root is at: ', x2) print('f(x) at root is: ', f(x2)) x0=1.0 x1=2.0 binary_method(f, x0, x1, 1e-5,100)
哈工大数值分析实验报告
哈工大数值分析实验报告标题:哈工大数值分析实验报告一、实验目的:本实验的目的是探究在数值分析中使用的各种数值方法,对于解决实际问题的有效性和可靠性进行评估。
二、实验内容:本实验主要包括以下几个方面的内容:1. 熟悉数值分析中常用的数值方法,如数值积分、数值微分、迭代法等;2. 在MATLAB等数学软件平台上,编写程序实现所学的数值方法;3. 使用所编写的程序,对给定的实际问题进行求解,并分析其结果的有效性和可靠性;4. 根据实际问题的特点,评估不同数值方法的适用性,并给出相应的结论和建议。
三、实验步骤:1. 阅读相关的理论知识,熟悉数值分析中常用的数值方法;2. 编写数值分析实验的程序代码,包括数值积分、数值微分和迭代法等;3. 使用编写的程序,对所给的实际问题进行求解,记录并分析结果;4. 根据实际问题的特点,评估所使用的数值方法的可靠性和有效性;5. 根据实验结果,撰写实验报告,包括实验目的、实验内容、实验步骤和实验结果的分析等。
四、实验结果:根据实际问题的不同,实验结果也会有所差异。
在实验报告中,可以详细叙述对所给实际问题的求解过程,并对结果进行分析和解释。
同时,还可以比较不同数值方法的结果,评估其优劣和适用性。
五、实验结论:根据实验结果的分析,可以得出结论,总结不同数值方法的优缺点,并对其在实际问题中的应用进行评价。
同时,还可以给出相应的建议,为以后的数值分析工作提供参考。
六、实验总结:通过本次实验,进一步加深了对数值分析中常用数值方法的理解和掌握。
通过实际问题的求解,对于这些数值方法的应用和效果有了更深入的认识。
同时,也提高了编程和科研报告撰写的能力,为以后的学习和工作打下了坚实的基础。
以上是关于哈工大数值分析实验报告的基本内容,具体实验细节和结果请根据实际情况进行补充。
计算机仿真实验报告
目录实验一Matlab语言编程 (1)一.实验目的 (1)二.具体实验内容、步骤、要求: (1)实验二数值积分算法及函数调用练习 (3)一.实验目的 (3)二.实验实例介绍: (3)实验三控制工具箱与SIMULINK软件应用 (9)一.实验目的 (9)二.实验预习要求: (9)三.学会调出、运行已由SIMULINK建立的仿真模型。
(9)四.实验设计题目与要求: (10)实验一 Matlab 语言编程一. 实验目的熟悉Matlab 语言及其编程环境,掌握编程方法 要求认真听取实验指导老师讲解与演示二. 具体实验内容、步骤、要求:1.运行交互式学习软件,学习Matlab 语言2.在Matlab 的命令窗口下输入如下命令:INTRO,然后根据显示出来的幻灯片右面按钮进行操作,可按START —>NEXT —>NEXT 按钮,一步步运行,观察。
3.自编程序并完成上机编辑、调试、运行,存盘。
(1). 用Matlab 命令完成矩阵的各种运算,例如:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=44434241343332312423222114131211A 求出下列运算结果,并上机验证。
A(:,1),A(2,:),A(1:2,2:3),A(2:3,2:3),A(:,1:2),A(2:3), A(:),A(:,:),ones(2,2), eye(2)⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=41312111A(:,1)[]24232221:)A(2,=⎥⎦⎤⎢⎣⎡=232213123):2,2:A(1 ⎥⎦⎤⎢⎣⎡=333223223):3,2:A(2⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=42413231222112112):A(:,1[]31213):A(2=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=44342414433323134232221241312111A(:)⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=44434241343332312423222114131211:)A(:,⎥⎦⎤⎢⎣⎡=1111)2,2(ones ⎥⎦⎤⎢⎣⎡=1001)2(eye(2). 绘制数学函数图形t=0:0.1:8;y=1-2*t.*sin(t); plot(t,y)12345678-15-10-551015时间t输出y绘制数学函数图形4.理解命令文件和函数文件的区别,并自编函数文件并调用。
计算机仿真、实验报告
计算机仿真技术MATLAB实验报告实验一:实验内容:已知单位负反馈系统前向通道传递函数和其闭环传递函数分别为:2()(2)n n G s s s ωξω=+222()2nn n s s s ωξωωΦ=++1. 算法说明因为wn=1,所以分子num 为1,这里我们用bc 代表阻尼系数,再对其每隔0.1取一个数,利用循环for 语句画其每一条曲线并观察;y(:,i)表示y 中所有行,第i 列;用step 函数绘制阶跃响应曲线模型,mesh 函数用来建立三维曲线模型,此处相当于将几条阶跃响应扯出并竖过来,使其更符合观察需要,flipud 用来实现矩阵的翻转。
2.程序及运行结果在MATLAB 中键入以下程序:为了从不同的角度观察响应曲线,我们取了两个视角范围:(1)[280 20]图形如下:(2)[220 30]图形如下:两张图中范围为[0,10]的是x 轴,在这里代表阻尼比,范围[0,200]的是y 轴,范围[0,2]的是z 轴。
可以看出,两张图处于三维空间的不同视角,可以满足不同的观察需要。
实验二:实验内容:已知一个单位负反馈系统的前向通道的传递函数为:243224183()210s s G s s s s ++=++试绘制该函数的单位等加速度信号输入响应及其稳态误差响应曲线,并计算其响应的稳态误差。
1.算法说明此处使用tf 函数建立开环传递函数模型,feedback 函数建立闭环传递函数模型, 并通过dcgain 函数求出加速度误差系数,因为计算加速度误差取极限时前方要乘以s 的平方,所以要将原系数每个提升二阶,所以num 后要加两个0,再根据公式,对加速度误差系数取倒数即可得稳态误差。
对于加速度响应,由于不像阶跃响应由预置好的step 函数,所以我们要建立一个加速度输入函数u(i),再将闭环传递函数和输入函数数据交给lsim 函数画图即可。
2.程序及运行结果在MATLAB中键入以下程序:上图程序中可见,已算出稳态误差为Ka为3.33333。
计算机仿真技术实验报告
《计算机仿真技术》实验指导书实验一 状态空间模型的仿真一、实验目的通过实验,学习4阶龙格-库塔法的基本思路和计算公式,加深理解4阶龙格-库塔法的原理和稳定域。
加深理解仿真的稳定性,仿真步长对仿真精度的影响。
二、实验内容1、线性定常系统[]1112223332010002001010060000600x x x x x u y x x x x -⎡⎤⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=-+=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦⎣⎦⎣⎦&&&;)(1000)0()0()0(321t u x x x =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡2、非线性系统()()()()()()()()xt rx t ax t y t yt sx t bx t y t =-⎧⎨=-+⎩&& 其中:r=0.001, a=2⨯10-6, s=0.01, b=1⨯10-6, x(0)=12000, y(0)=600。
三、实验原理运用SIMULINK 仿真工具进行实验。
四、实验设备和仪器微型计算机、MATLAB 软件。
Sources(信号源),Sink(显示输出),Continuous(线性连续系统),Discrete(线性离散系统),Function & Table (函数与表格),Math(数学运算), Discontinuities (非线性),Demo (演示)五、实验方法运行MA TLAB ,在MA TLAB 窗口中按SimuLink 按钮,启动SimuLink 库浏览器,在浏览器窗口上选create a new modem 命令,得到一个空模型,从Library: SimuLink 窗口中找到需要的模块,将这些模块拖到空模型窗口中。
将空模型窗口中的排好,并按要求连接。
在保存好的模型窗口中,选Simulation\Paramters 命令设置各模块的参数和仿真参数。
计算机仿真实验3数值积分算法
实验三 利用数值积分算法的仿真实验学号: 姓名: 学院:一. 实验目的1) 熟悉MATLAB 的工作环境;2) 掌握在MATLAB 命令窗口调试运行程序;3) 掌握M 文件编写规则及在MATLAB 命令窗口运行程序;4) 掌握利用欧拉法、梯形法、二阶显式Adams 法及四阶龙格库塔法构建系统仿真模型的方法,并对仿真结果进行分析。
二.实验内容电路如图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 。
DCRC )(t u c +-)(t i L 图1 RLC 串联电路E三. 实验步骤1. 求连续系统传递函数根据所示电路图,我们利用电路原理建立系统的传递函数模型,根据系统的传递函数是在零初始条件下输出量的拉普拉斯变换与输入量的拉普拉斯变换之比,可得该系统的传递函数:LCLs R s LCs E s U s G C /1//1)()()(2++==2. 离散系统仿真模型在连续系统的数字仿真算法中,较常用的有欧拉法、梯形法、二阶显式Adams 法及显式四阶Runge-Kutta 法等。
欧拉法、梯形法和二阶显式Adams 法是利用离散相似原理构造的仿真算法,而显式四阶Runge-Kutta 法是利用Taylor 级数匹配原理构造的仿真算法。
对于线性系统,其状态方程表达式为:()()()()()()t t t t t t ⎧=+⎨=+⎩x Ax Bu y Cx Du 00)(x x =t 式(3-1)中,[]Tn t x t x t x )()()(21 =x 是系统的n 维状态向量,[]Tm t u t u t u t )()()()(21 =u 是系统的m 维输入向量,[]Tr t y t y t y t )()()()(21 =y 是系统的r 维输出向量。
实验一 数值积分算法仿真实验
3
计算机仿真输出图像 h=0.05
h=5.00
h=10.00
4
(3) 四阶龙—库法 数值积分算法如下: 数学模型为 设
初始值为 0;
计算机仿真程序 x1=0; x2=0; t0=0;tf=200;h=0.8; y=0; t=t0; n=round((tf-t0)/h); for i=1:n k11=x2; k21=1-x1-0.1*x2; k12=x2+h/2*k21; k22=1-(x1+h/2*k11)-0.1*(x2+h/2*k21); k13=x2+h/2*k22; k23=1-(x1+h/2*k12)-0.1*(x2+h/2*k22); k14=x2+h*k23; k24=1-(x1+h*k13)-0.1*(x2+h*k23); x1=x1+h/6*(k11+2*k12+2*k13+k14); x2=x2+h/6*(k21+2*k22+2*k23+k24); y=[y,x1]; t=[t,t(i)+h]; end [t',y'] plot(t,y) grid gtext('RK-4') gtext('h=0.8')
5
计算机仿真输出图像 h=0.80
h=5.00
h=10.00
6
实验结论
1、 2、 3、 4、 数值积分算法对仿真建模有三个基本要求:稳定性、准确性、快速性; 随着步距 h 的增大,仿真结果准确性逐渐降低,但速度也随之降低; 在三次仿真中, 四阶龙-库法精度最高, 可以看出, 计算量增加精度提高; 在不同的仿真计算中,要综合考虑要求精度及其运行速度选择合适的仿 真方法及步距,在既保证精度的情况下提高计算速度。
哈工大计算机组成技术实验三
实验三
分支及循环结构程序设计
实验目的:
⒈掌握汇编语言分支结构和循环结构的设计方法
⒉掌握分支与循环的控制方法,特别注意循环程序中初值的设置和循环次数控制
3.进一步理解目的地址与转移指令所在地址的相对距离
实验说明和注意事项
1 编制分支程序,必须掌握如何使用PSW 中的有关位
2 掌握分支与循环的控制方法, 在循环中,初值的设置、循环次数控制对程序的影响。
3 注意比较指令是分有符号和无符号
C
B A 内容(H )
偏移地址(H )内容(H )
偏移地址(H )结果(程序运行后)
初值(程序运行前)
变量
各变量偏移地址
各变量偏移地址内容
各变量偏移地址不变
内容重新排序
用U命令查找
用D命令查找
报告P9页表格填写内容及查找方法
验收说明
1、报告中DS:0008在内存的位置
“—”后面
下次实验预习:子程序设计必做:实验2
实验1和实验3任选其一
实验程序提前编写,复制在U盘上在实验课上进行调试。
哈尔滨工程大学数学上机实验
实验报告实验一:函数绘图实验1、实验目的利用数学软件绘制数学函数曲线及曲面,通过实验了解函数图形的绘制方法。
2、实验内容⑴在同一个图形中,绘制双曲线,以及的双曲线2条渐近线。
⑵在同一个图形中,绘制球面与锥面相交的曲面。
⑶自选题目:绘制一个或者多个平面图形、空间曲面图形。
3、程序设计及运行结果(1)>> x=-5:0.1:5;ezplot('x^2-y^2=1');y1=x;y2=-x;hold on;plot(xy1);hold on;plot(xy2);(2) >> x=-5:0.1:5;y=x;z=x;[xyz]=meshgrid(xyz);f1=x.^2+y.^2+z.^2-1;f2=x.^2+y.^2-z;p1=patch(isosurface(xyzf10));set(p1 'FaceColor' 'm');p2=patch(isosurface(xyzf20));set(p2 'FaceColor' 'w');(3)>> x=-5:0.1:5;y=x;z=x;[xyz]=meshgrid(xyz);f1=x.^2+y.^2+z.^2-9;f2=x.^2+y.^2-2*z;p1=patch(isosurface(xyzf10));set(p1 'FaceColor' 'm');p2=patch(isosurface(xyzf20));set(p2 'FaceColor' 'w');4、讨论与分析在本次试验中初步了解了matlab,学会了一些简单绘图,加深了对函数的理解为以后实验作个铺垫,由浅入深的了解matlab.实验二:微积分实验1、实验目的熟悉并了解使用数学软件,进行微积分问题计算的相关数学软件命令,让学生通过实验理解微积分,解决微积分计算上的问题。
实验三 积分环节、微分环节和的模拟仿真 - 复制
实验三积分环节、微分环节和的模拟仿真一、实验目的1、学习积分环节,微分环节的模拟方法。
2、学习积分环节,微分环节阶跃响应的测量方法,并学会由阶跃响应曲线计算典型环节的传递函数。
3、掌握用运放组成控制系统积分环节,微分环节的电子电路。
4、通过实验了解典型环节中参数的变化对输出动态性能的影响。
二实验设备和仪器实验采用Multisim电子仿真软件,进行典型环节的仿真三、实验线路及原理以运算放大器为核心元件,有不同的R-C输入网络和反馈环节网络组成的各种典型,如图1,图中z,2z为复数阻抗,它们都由R,C1构成。
图1运放的反向连接基于图中A点的电位为虚地,略去流入运放的电流,则由图1 得:由上式可求得由下列模拟电路组成典型环节的传递函数及其单位阶跃响应。
四 实验步骤1、在仿真软件中画出实验原理图,并进行仿真,观测计算机屏幕出现的响应曲线及数据。
2、记录波形及数据。
3、分析实验响应曲线与理论仿真曲线的区别,并分析出差异的原因。
五 实验内容(1)分别画出积分,微分和振荡环节的模拟电路图。
(2)按下列分典型环节的传递函数,调节响应的模拟电路的参数,观察并记录其单位阶跃响应波形。
1、积分环节的传递函数如下:TS S C R R S C s G 111)(11111=== 式中积分常数11C R T =。
积分环节的模拟电路如图2所示,其中1,0.01R C μ=M = 其输出响应曲线如图3所示。
图2 积分环节的模拟电路3 积分环节的输出曲线其中1,0.01R C μ=M = 2微分环节:TS S C R SC R S Ui S U S G 111)()(0)(1111====式中微分常数11C R T =。
微分环节的模拟电路如图4所示,其中1,0.01R C μ=M = 其输出响应曲线如图5所示。
0.01uFJ1Key = AV1-1 V23图4 微分环节的模拟电路图5 微分环节的输出曲线3、比例加微分环节:图6和图7分别为比例微分环节的模拟电路和输出曲线。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验3 利用数值积分算法的仿真实验(一、实验目的1) 熟悉MATLAB 的工作环境;2) 掌握MATLAB 的 .M 文件编写规则,并在命令窗口调试和运行程序; 3) 掌握利用欧拉法、梯形法、二阶显式Adams 法及四阶龙格库塔法构建系统仿真模型的方法,并对仿真结果进行分析。
二、实验内容系统电路如图2.1所示。
电路元件参数:直流电压源,电阻,电感,电容。
电路元件初始值:电感电流,电容电压。
系统输出量为电容电压。
连续系统输出响应的解析解为:))/sin (cos 1()(ωωωa t t e U t u at s c ⨯+⨯-=-(2-1)其中,LRa 2= ,221⎪⎭⎫⎝⎛-=L R LC ω 。
)(t u c 图2.1 RLC 串联电路三、实验要求1)利用欧拉法、梯形法、二阶显式Adams 法及显式四阶Runge-Kutta法构建系统仿真模型,并求出离散系统的输出量响应曲线;2)对比分析利用欧拉法、梯形法、二阶显式Adams 法及显式四阶Runge-Kutta 法构建系统仿真模型的仿真精度与模型运行的稳定性问题;3)分别编写欧拉法、梯形法、二阶显式Adams 法及显式四阶Runge-Kutta 法的.m 函数文件,并存入磁盘中。
.m 函数文件要求输入参数为系统状态方程的系数矩阵、仿真时间及仿真步长。
编写.m 命令文件,在该命令文件中调用已经编写完成的上述.m 函数文件,完成仿真实验;4)利用subplot 和plot 函数将输出结果画在同一个窗口中,每个子图加上对应的标题。
四、实验原理在连续系统的数字仿真算法中,较常用的有欧拉法、梯形法、二阶显式Adams 法及显式四阶Runge-Kutta 法等。
欧拉法、梯形法和二阶显式Adams 法是利用离散相似原理构造的仿真算法,而显式四阶Runge-Kutta 法是利用Taylor 级数匹配原理构造的仿真算法。
对于线性系统,其状态方程表达式为:()()()()()()t t t t t t ⎧=+⎨=+⎩xAx Bu y Cx Du 00)(x x =t (4-1) 式(4-1)中,[]Tn t x t x t x )()()(21 =x 是系统的n 维状态向量,[]Tm t u t u t u t )()()()(21 =u 是系统的m 维输入向量,[]Tr t y t y t y t )()()()(21 =y 是系统的r 维输出向量。
A 为n n ⨯阶参数矩阵,又称动态矩阵,B 为m n ⨯阶输入矩阵,C 为n r ⨯阶输出矩阵,D 为m r ⨯阶交联矩阵。
利用前向欧拉法构建线性系统的仿真模型为:()1111m m m m m m m m h h h ++++⎧=+=++⎪⎨=+⎪⎩x x x1A x Bu y Cx Du (4-2) 式中,h 为积分步长,1为单位矩阵。
利用后向欧拉法构建线性系统的仿真模型为:()()1111111m m m m m m m m h h h -++++++⎧=+=-+⎪⎨=+⎪⎩x x x 1A x Bu y Cx Du (4-3)利用梯形法构建线性系统的仿真模型为:()()111111112222m mm m m m m m m m m hh h h ++-+++++⎧=++⎪⎪⎪⎡⎤⎛⎫⎛⎫⎪=-+++⎨⎢⎥ ⎪ ⎪⎝⎭⎝⎭⎣⎦⎪⎪=+⎪⎪⎩x x x x x 1A 1A x B u u y Cx Du (4-4)利用二阶显式Adams 法构建线性系统的仿真模型为:1121112316512m m m m m m m m h+--+++⎧⎡⎤=+-+⎪⎣⎦⎨⎪=+⎩x x F F F yCx Du (4-5) 式中:()()()111222m m m m m m m m m ------⎧=+⎪⎪=+⎨⎪=+⎪⎩F Ax Bu F Ax Bu F Ax Bu (4-6)二阶显式Adams 法为多步计算方法,利用多步计算方法对系统进行仿真时,需要与之具有相同计算精度的单步计算方法辅助计算。
二阶显式Adams 法的计算精度为二阶,可以采用梯形法或改进的Euler 法等辅助计算。
利用改进的Euler 法构建线性系统的仿真模型为:()12111112111(,)(,)()2m m m mm m m m m m m m m f t x u f t h x h h u h+++++⎧==+⎪=++=++⎪⎪⎨=++⎪⎪⎪=+⎩k Ax B k k A x k B x x k k y Cx Du (4-7)利用显式四阶Runge-Kutta 法构建线性系统的仿真模型为:()()()12111/23221/2433111234111(,)(,)/222(,)/222(,)(22)6m m m mm m m m m m m m m m m m m m m m m f t u h hf t h u h hf t h u f t h h h u h+++++++⎧==+⎪⎪=++=++⎪⎪⎪=++=++⎪⎨⎪=++=++⎪⎪=++++⎪⎪⎪=+⎩k x Ax B k x k A x k B k x k A x k B k x k A x k B x x k k k k y Cx Du (4-8)五、实验步骤5.1连续系统模型:微分方程传递函数2()1()()1c U s G s U s LCs RCs ==++ 5.2离散系统模型:六、实验结果6.1实验截图h = 5.0e-5;h = 5.0e-6:h = 5.0e-7:七、实验结果分析在h=5e-5,h=5e-6,h=5e-7时得到的图像,可以看出,在h=5e-5时,前向欧拉法和后向欧拉法图像明显谁真,而梯形法和二阶显示Adams法图像有轻微失真,步距仍然较大。
在步距为6=时,前向欧拉法和后向欧拉法图像有部分失真,前向欧h-5*10拉法失真较严重。
而梯形法和二阶显示Adams法图像与连续型函数曲线相似度极高,仿真效果非常好。
当步距为75*10=时,所有方法仿真效果都非常好,与连续型函数曲线相h-似度都极高。
可见,步距7h-≥时,所有仿真方法都可以应用。
5*10从仿真模型实现的难易性、模型的稳定性、模型的精度及离散时间间隔等方面,对比分析上述方法构造的离散系统模型的优缺点。
难易性:通过单个模型的分别仿真,可以得出显式四阶Runge-Kutta法建模最为复杂,仿真时间也较长,对步距要求较低。
其次复杂的是二阶显式Adams 法和梯形法,仿真时间稍短,梯形法取梯形面积,误差也较小。
前向欧拉法和后向欧拉法模型的复杂程度差不多,仿真时间也差不多。
模型的稳定性:当步距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法,由于是二次函数较复杂,函数曲线与真实曲线较为接近;再次精确的是梯形法,取梯形面积,误差也较小;前向欧拉法和后向欧拉法模型的精度较低,由于取的是矩形面积,离散时间间隔要求高。
八、实验结论二阶显示Adams法精度最高,其次是梯形法。
在h = 5.0e-6已然如此,当步长在小的时候反而使运行时间延长,效果不一定好。
这就说明方法的选取与精度和复杂性,以及可行性等密切相关。
九、附录m文件源程序:1、前向欧拉法function []=RLC(R,L,C,Us,t,h)R=10;L=0.01;C=1.0e-6;Us=1;t=0.01;h = 5.0e-5;NNN = fix(t/h);AA = [-R/L -1/L;1/C 0];BB = [1/L;0];CC = [0 1];Nr = 2;for i=1:1:Nrxx(1:Nr,1) = 0;endfor k=1:NNNxx(1:Nr,k+1) = xx(1:Nr,k) + (AA* xx(1:Nr,k)+BB)*h;end2、后向欧拉法(未声明变量同上2.1)for i=1:1:Nrxxx(1:Nr,1) = 0;endEE = [1 0;0 1];AA1 = inv(EE-AA*h);for k=1:NNNxxx(1:Nr,k+1) = AA1*(xxx(1:Nr,k) + BB*h);3、梯形法(未声明变量同上2.1)for i=1:1:Nrxxxx(1:Nr,1) = 0;endEE = [1 0;0 1];AA1 = inv(EE-AA*h/2);for k=1:NNNxxxx(1:Nr,k+1) = AA1*( xxxx(1:Nr,k) + BB*h + AA*xxxx(1:Nr,k)*h/2);4、二阶显式Adams法(未声明变量同上2.1)AA1 = (EE-AA*h/2);for i=1:1:Nrxxxxx(1:Nr,1) = 0;endEE = [1 0;0 1];for k=1:2xxxxx(1:Nr,k+1) = AA1*(xxxxx(1:Nr,k) + BB*h + AA*xxxxx(1:Nr,k)*h/2);endfor k=3:NNNFk = 23*(AA*xxxxx(1:Nr,k)+ BB);Fk1 = -16*(AA*xxxxx(1:Nr,k-1)+ BB);Fk2 = 5*(AA*xxxxx(1:Nr,k-2)+ BB);xxxxx(1:Nr,k+1) = xxxxx(1:Nr,k)+(Fk+Fk1+Fk2)*h/12;End5、显式四阶Runge-Kutta法>> for i=1:1:Nrxxxxxx(1:Nr,1) = 0;endEE = [1 0;0 1];AA1 = inv(EE-AA*h/2);for k=1:NNN% xxxxxx(1:Nr,k+1) =AA1xxxxxx(1:Nr,k) + BB*h+ AA*xxxxxx(1:Nr,k)*h/2;xxxxxx(1:Nr,k+1) = AA1*( xxxxxx(1:Nr,k) + BB*h + AA*xxxxxx(1:Nr,k)*h/2);% XX0 = xxxx(1:Nr,k);endfor k=1:1:NNNk1=AA*xxxxxx(1:Nr,k+1);k2=AA*(xxxxxx(1:Nr,k+1)+h*k1/2);k3=AA*(xxxxxx(1:Nr,k+1)+h*k2/2);k4=AA*(xxxxxx(1:Nr,k+1)+h*k3);xxxxxx(1:Nr,k+1)=xxxxxx(1:Nr,k+1)+h.*(k1+2*k2+2*k3+k4)./6;end。