4阶龙格库塔1

更新时间:2023-08-10 23:32:01 阅读量: 经管营销 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验目的:

学习用数值积分方法,计算状态方程的数值解

理解数值积分法中的精度、步长等问题,了解病态系统的特性。

实验内容: 基本内容:

1. 用给定的系统模型或者自己找个系统进行仿真,要求:

1)二阶系统

2)迭代方法:定步长的4阶龙格库塔积分方法

2. 画出状态变量和输出随时间变化的曲线

选做内容:

1

1)列表给出某段时间上(如:20秒~30秒,找误差大的时间段,这样能清楚看到效果)

的迭代结果以及跟解析解之间的误差,至少10组数据,并跟4阶龙格库塔积分方法进行比较

2)对比用不同方法迭代,状态变量和输出随时间变化的曲线。

2

1) 采用几组不同步长进行迭代,列表给出某段时间上(如:10秒~20秒,找误差大的

时间段,这样能清楚看到效果)的迭代结果以及跟解析解之间的误差,至少10组数据,研究步长对迭代精度的影响,争取找到最佳步长。

2)对比不同步长时状态变量和输出随时间变化的曲线。

3.

1) 制定几种步长规则,用变步长法进行迭代,列表给出某段时间上(如:10秒~20秒,

找误差大的时间段,这样能清楚看到效果)的迭代结果以及跟解析解之间的误差,至少10组数据,研究变步长规则对迭代精度的影响

2)对比不同步长规则迭代时,状态变量和输出随时间变化的曲线。

4。研究病态系统:自己构建病态系统,或者采用给定的例子

1) 采用常规迭代方法,用不同步长迭代,争取找到使病态系统发散的步长

2) 用隐式吉尔法对病态系统进行迭代,与常规迭代方法进行比较

3) 画出状态变量和输出随时间变化的曲线

报告内容:

1。基本内容部分:

1) 给出基本内容部分采用的系统模型,给出m文件的程序框图,

2) 画出状态变量和输出随时间变化的曲线

2。选作内容部分:

1) 给出采用的系统模型,迭代算法,说明试验的内容以及得到的结果,并进行分析

2) 研究算法精度问题时,列表给出某段时间上的迭代结果,跟解析解之间的误差,

至少10组数据

3) 画出状态变量和输出随时间变化的曲线

4)试验过程中遇到的困难,如果已经解决,说明解决的方案

实验中所完成的主要内容

所遇到的问题及解决方案

尚未解决的问题

一、用给定的系统模型或者自己找个系统进行仿真,要求:

1)二阶系统

2)迭代方法:定步长的4阶龙格库塔积分方法

G(s) s 1

s 3s 2 2

(0) 1, y(0) 1, u(0) 0 y

根据上次实验一求初值计算得X0=[4 1]

程序

clc; clear all; %清空%

num=[1 1]; %n维分子系数向量%

den=[1 3 2]; %n维分母系数向量%

X0=[4 1]; %状态向量初值%

V=1; %反馈系数%

n=2; %系统阶次%

T0=0; %起始时间%

Tf=50; %终止时间%

h=0.1; %计算步长%

R=1; %阶跃输入函数的幅值%

num=num/den(1);den=den/den(1);A=den(2:n+1);%首一化处理%

A=[rot90(rot90(eye(n-1:n)));-fliplr(A)]; %形成能控标准型A阵% B=[zeros(1,n-1),1]'; %形成输入阵B%

m1=length(num); %分子系数向量维数%

C=[fliplr(num),zeros(1,n-m1)]; %形成输出阵C(n维行向量)%

Ab=A-B*C*V; %形成闭环系数阵Ab%

X=X0';y=0;t=T0; %设初值,准备开始递推运算%

N=round(Tf-T0)/h; %确定输出点数%

for i=1:N %四阶龙格——库塔法%

k1=Ab*X+B*R;

k2=Ab*(X+h*k1)+B*R;

k3=Ab*(X+h*k2/2)+B*R;

k4=Ab*(X+h*k3)+B*R; %求各次斜率K%

X=X+h*(k1+2*k2+2*k3+k4)/6; %求状态%

y=[y,C*X]; %求输出并以向量形式保存%

t=[t,t(i)+h]; %输出对应时刻以向量形式保存%

end

[t',y'] %输出数据形式结果%

plot(t,y); %输出曲线形式结果%

输出结果:

流程图:

运行结果

二、对迭代方法进行研究:阿达姆斯法、吉尔法选用一种算法进行迭代

1)列表给出某段时间上(如:20秒~30秒,找误差大的时间段,这样能清楚看到效

果)的迭代结果以及跟解析解之间的误差,至少10组数据,并跟4阶龙格库塔

积分方法进行比较

2)对比用不同方法迭代,状态变量和输出随时间变化的曲线。

阿达姆斯法

实验小结:

本次仿真实验我一开始虽然没有搞懂龙格库塔的算法,但是看到了书上95页的算法,于是我也模仿的开始做。不过的做的过程中还是遇到了不少问题,。通过实验,确实能发现许多课堂中的问题和自身理论学习的欠缺。

打印版报告提交日期:答辩的时候提交

电子版提交截止日期:2012-5-9 18点之前

电子版报告提交文件命名格式:M_2008****_中文姓名(2008****为学号)

电子版程序提交文件命名格式:M_2008****(2008****为学号),有多个程序段的,可以为M_2008****_1,M_2008****_2。。。。。。,不要打包压缩。

本文来源:https://www.bwwdw.com/article/u4ej.html

Top