资源描述:
《重庆大学-数学实验-微分方程.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、重庆大学学生实验报告实验课程名称数学实验开课实验室DS1402学院年级专业班学生姓名学号开课时间2014至2015学年第二学期总成绩教师签名数学与统计学院制开课学院、实验室:实验时间:年月日课程名称数学实验实验项目名称微分方程求解实验项目类型验证演示综合设计其他指导教师龚劬成绩实验目的[1]归纳和学习求解常微分方程(组)的基本原理和方法;[2]掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析;[3]熟悉MATLAB软件关于微分方程求解的各种命令;[4]通过范例学习建立微分方程方面的数学模型以及求解全过程;通过该实验的学习,使
2、学生掌握微分方程(组)求解方法(解析法、欧拉法、梯度法、改进欧拉法等),对常微分方程的数值解法有一个初步了解,同时学会使用MATLAB软件求解微分方程的基本命令,学会建立微分方程方面的数学模型。这对于学生深入理解微分、积分的数学概念,掌握数学的分析思维方法,熟悉处理大量的工程计算问题的方法是十分必要的。基础实验1.微分方程及方程组的解析求解法;2.微分方程及方程组的数值求解法——欧拉、欧拉改进算法;3.直接使用MATLAB命令对微分方程(组)进行求解(包括解析解、数值解);4.利用图形对解的特征作定性分析;5.建立微分方程方面的数学模型,
3、并了解建立数学模型的全过程。实验过程1.求微分方程的解析解,并画出它们的图形,(1)y’=y+2x,y(0)=1,04、进的欧拉公式求方程y’=y-2x/y,y(0)=1(0≤x≤1,h=0.1)的数值解,要求编写程序,并比较两种方法的计算结果,说明了什么问题?解:向前欧拉公式的M文件:x(1)=0;y(1)=1;h=0.1;fori=1:10x(i+1)=x(i)+h;y(i+1)=y(i)+h*(y(i)-2*x(i)/y(i));double(y(i+1));disp(y(i+1))end运行结果:1.10001.19181.27741.35821.43511.50901.58031.64981.71781.7848改进欧拉公式的M文件:x(1)=0
5、;y(1)=1;h=0.1;fori=1:10x(i+1)=x(i)+h;k1=y(i)-2*x(i)/y(i);k2=y(i)+h*k1-2*x(i+1)/(y(i)+h*k1);y(i+1)=y(i)+0.5*h*(k1+k2);double(y(i+1));disp(y(i+1))end运行结果:1.10001.19181.27741.35821.43511.50901.58031.64981.71781.78481.09591.18411.26621.34341.41641.48601.55251.61651.67821.7379
6、解析求解:k=dsolve('Dy=y-2*x/y','y(0)=1','x')ezplot(k,[0,1])运行结果:k=(2*x+1)^(1/2)当x=1时,y=1.7320;通过比较结果,说明改进型的欧拉方法比向前欧拉方法的结果精确。3.Rossler微分方程组:当固定参数b=2,c=4时,试讨论随参数a由小到大变化(如a∈(0,0.65))而方程解的变化情况,并且画出空间曲线图形,观察空间曲线是否形成混沌状?首先建立如下M文件:functionxdot=fish(t,x)b=2;c=4;globala;xdot=[-x(2)-x(
7、3);x(1)+a*x(2);b+x(3)*(x(1)-c)];end再建立M文件:x0=[0,0,0];globala;fora=0:0.65/3:0.65[t,x]=ode45('fish',[0,200],x0);x1=x(:,1);x2=x(:,2);x3=x(:,3);subplot(1,2,1),plot(t,x1,'r-',t,x2,'b:',t,x3,'m--')title('x(红色),y(蓝色),z(紫色)随t的变化情况');xlabel('t');pause(1)subplot(1,2,2),plot3(x1,x2,
8、x3);grid;title('相图');xlabel('x');ylabel('y');zlabel('z');pause(20)end运行结果(下面4图分别为a=0,0.13,0.26,0