资源描述:
《应用数值积分方法求解连续系统一阶微分方程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验一应用数值积分方法求解连续系统一阶微分方程实验一应用数值积分求解连续系统一阶微分方程一、实验目的与要求1.掌握以一阶微分方程形式描述的连续系统的数字仿真方法和步骤。2.掌握欧拉法的编写。3.掌握四阶龙格-库塔法的编写。4.了解不同的数值积分算法与仿真计算的精度、速度的关系。二、实验内容1、分别使用欧拉法和四阶龙格-库塔法,求解微分方程:dx2=−−xtxdtx()01=其中,02≤≤t。分别取仿真步长h=0.1和h=0.2,求解该方程的数值解x。nt并将数值解x与该方程组的解析解xt()=12
2、(et−−1)进行比较。n三、预习要求1复习一阶微分方程组仿真程序的原理和程序的各变量的含义,使用条件及方法。2编制各实验内容的程序,已备实验时输入、调试。四、实验报告要求1.整理各种实验条件下的数据和曲线;2.给出算法的实现代码;3.初步分析不同数值积分方法步长选择的影响,写出实验报告。020210012010300484康丹青实验一应用数值积分方法求解连续系统一阶微分方程五、实验源程序、曲线截图及结果分析(一)实验源程序1、欧拉法function[X]=Solve(h,n)x(1)=1;t(1
3、)=0;fori=1:nt(i+1)=t(i)+h;x(i+1)=x(i)+h*f(t(i),x(i));endX=x(end);function[y]=f(t,x)y=-x-t*x^2;endclfholdonplot(t,x,'bo-');a=1./(2*exp(t)-t-1);plot(t,a,'r+--');holdofflegend('Euler');xlabel('t(n)');ylabel('x(n)');end如上程序所示,定义实现函数为[X]=Solve(h,n),其中h为步长,
4、在本例中取为0.1和0.2,n为结点数,在考虑0≤t≤2的情况下分别取为20和10,X为020210012010300484康丹青实验一应用数值积分方法求解连续系统一阶微分方程最终输出的结果,是方程的根。x(1)=1;t(1)=0;分别为方程近似解和步长值的初始值;fori=1:n;i为步长数;x(i+1)=x(i)+h*f(t(i),x(i));这是欧拉法的实现方程;X=x(end);X是最终函数的解;function[y]=f(t,x)y=-x-t*x^2;end这是Solve函数下的一个字函
5、数,定义了所要求解的对象:函数y=-x-t*x^2;通过修改这一步,可以用欧拉法求解任何简单函数的近似解;程序最后是利用plot函数画出解析解a=1./(2*exp(t)-t-1)和方程近似解的曲线;2、四级四阶经典龙格-库塔法function[X]=Runge(h,n)x(1)=1;t(1)=0;fori=1:nK1=f(t(i),x(i));K2=f(t(i)+1/2*h,x(i)+1/2*h*K1);K3=f(t(i)+1/2*h,x(i)+1/2*h*K2);K4=f(t(i)+h,x(i
6、)+h*K3);t(i+1)=t(i)+h;x(i+1)=x(i)+1/6*h*(K1+2*K2+2*K3+K4);endX=x(end);function[y]=f(t,x)y=-x-t*x^2;end020210012010300484康丹青实验一应用数值积分方法求解连续系统一阶微分方程clfholdonplot(t,x,'bo-');a=1./(2*exp(t)-t-1);plot(t,a,'r+--');holdofflegend('Runge-Kutta');xlabel('t(n)')
7、;ylabel('x(n)');end如上程序所示,定义算法实现函数为function[X]=Runge(h,n),其中h为步长,在本例中取为0.1和0.2,n为结点数,在考虑0≤t≤2的情况下分别取为20和10,X为最终输出的结果,是方程的根。x(1)=1;t(1)=0;分别为方程近似解和步长值的初始值;fori=1:n;i为步长数;K1=f(t(i),x(i));K2=f(t(i)+1/2*h,x(i)+1/2*h*K1);K3=f(t(i)+1/2*h,x(i)+1/2*h*K2);K4=f
8、(t(i)+h,x(i)+h*K3);这是龙格-库塔法的实现方程;X=x(end);X是最终函数的解;function[y]=f(t,x)y=-x-t*x^2;end这是Solve函数下的一个字函数,定义了所要求解的对象:函数y=-x-t*x^2;通过修改这一步,可以用龙格-库塔法求解任何简单函数的近似解;程序最后是利用plot函数画出解析解a=1./(2*exp(t)-t-1)和方程近似解的曲线,都和欧拉法相似。020210012010300484康丹青实验一应用数值积分方法求解