文档详情

重庆大学数学模型数学实验作业四资料.doc

发布:2017-03-14约2.91千字共8页下载文档
文本预览下载声明
开课学院、实验室:数统学院 实验时间 :2015 年 10月28日 课程 名称 数学实验 名 称 种群数量的状态转移——微分方程 实验项目类型 验证 演示 综合 设计 其他 指导 教师 肖剑 实验目的 [1] 归纳和学习求解常微分方程(组)的基本原理和方法; [2] 掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析; [3] 熟悉MATLAB软件关于微分方程求解的各种命令; [4] 通过范例学习建立微分方程方面的数学模型以及求解全过程; (组)求解方法(解析法、欧拉法、梯度法、改进欧拉法等),对常微分方程的数值解法有一个初步了解,同时学会使用MATLAB软件求解微分方程的基本命令,学会建立微分方程方面的数学模型。这对于学生深入理解微分、积分的数学概念,掌握数学的分析思维方法,熟悉处理大量的工程计算问题的方法是十分必要的。 基础实验 一、问题重述 1.求微分方程的解析解, 并画出它们的图形, y’= y + 2x, y(0) = 1, 0x1; 2.用向前欧拉公式和改进的欧拉公式求方程y’= y - 2x/y, y(0) = 1 (0≤x≤1,h = 0.1) 的数值解,要求编写程序,并比较两种方法的计算结果,说明了什么问题? 3.Rossler微分方程组: 当固定参数b=2, c=4时,试讨论随参数a由小到大变化(如a∈(0,0.65))而方程解的变化情况,并且画出空间曲线图形,观察空间曲线是否形成混沌状? 4.Apollo卫星的运动轨迹的绘制 二、实验过程 1.编辑程序代码Untitle1: s=dsolve(Dy=y+2*x,y(0)=1,x) ezplot(s,[0,1]) 运行结果如下:s =3*exp(x) - 2*x – 2 图形为 2.编写程序代码Untitle2: clc y=dsolve(Dy=y-2*x/y,y(0)=1,x) ezplot(y,[0,1]) hold on x=[];x(1)=0;y1(1)=1;y2(1)=1; for n=1:10 x(n+1)=x(n)+0.1; y1(n+1)=1.1*y1(n)-0.2*x(n)/y1(n); k1=y2(n)-2*x(n)/y2(n); k2=y2(n)+0.1*k1-2*x(n)/(y2(n)+0.1*k1); y2(n+1)=y2(n)+0.05*(k1+k2); end plot(x,y1,k:,x,y2,k-.) 运行得到y =(2*x + 1)^(1/2),这是解析解图像如下 此题中向前欧拉公式更逼近解析解其实提高精度即n的取值两种方式都可以无限逼近解析解 3.首先编辑函数rossler.m: function eq=rossler(t,x) global a b c b=2;c=4; eq=[0 -1 -1;1 a 0;x(3) 0 -c]*x+[0;0;b]; 然后在命令行窗口输入全局变量,并对a赋值,当a=0.1时 global a b c a=0.1; x0=[0;0;0]; [t,x]=ode45(rossler,[0,1000],x0); plot(t,x(:,1),r,t,x(:,2),k,t,x(:,3),g) pause plot3(x(:,1),x(:,2),x(:,3)) grid on 得到的图形为: 当a=0.2,积分区间改为时 当当a=0.6,积分区间改为 由此一系列图可知此空间图线是混沌的 4. 编写函数m文件apollo.m: function ep=apollo(t,y) syms y1 y2 y3 y4 u=1/82.45;u1=1-u; r1=((y(1)+u)^2+y(3)^2)^(1/2); r2=((y(1)-u1)^2+y(3)^2)^(1/2); ep(1)=y(2); ep(2)=2*y(4)+y(1)-u1*(y(1)+u)/r1^3-u*(y(1)-u1)/r2^3; ep(3)=y(4); ep(4)=-2*y(2)+y(3)-u1*y(3)/r1^3-u*y(3)/r2^3; ep=[ep(1);ep(2);ep(3);ep(4)]; 运行Untitle4: [t,y]=ode45(apollo,[0,20],[1.2 0 0 -1); y1=y(:,1); y2=y(:,2); y3=y(:,3); y4=y(:,4); pl
显示全部
相似文档