2013春数学实验基础 实验报告(1)常微分方程

合集下载

实验报告——常微分方程的数值解法

实验报告——常微分方程的数值解法

实验报告实验项目名称常微分方程的数值解法实验室数学实验室所属课程名称微分方程数值解实验类型上机实验实验日期2013年3月11日班级10信息与计算科学学号2010119421姓名叶达伟成绩实验概述:【实验目的及要求】运用不同的数值解法来求解具体问题,并通过具体实例来分析比较各种常微分方程的数值解法的精度,为以后求解一般的常微分方程起到借鉴意义。

【实验原理】各种常微分方程的数值解法的原理,包括Euler法,改进Euler法,梯形法,Runge-Kutta方法,线性多步方法等。

【实验环境】(使用的软硬件)Matlab软件实验内容:【实验方案设计】我们分别运用Euler法,改进Euler法,RK方法和Adams隐式方法对同一问题进行求解,将数值解和解析解画在同一图像中,比较数值解的精度大小,得出结论。

【实验过程】(实验步骤、记录、数据、分析)我们首先来回顾一下原题:对于给定初值问题:1. 求出其解析解并用Matlab画出其图形;2. 采用Euler法取步长为0.5和0.25数值求解(2.16),并将结果画在同一幅图中,比较两者精度;3. 采用改进Euler法求解(2.16),步长取为0.5;4. 采用四级Runge-Kutta法求解(2.16),步长取为0.5;5. 采用Adams四阶隐格式计算(2.16),初值可由四级Runge-Kutta格式确定。

下面,我们分五个步骤来完成这个问题:步骤一,求出(2.16)式的解析解并用Matlab 画出其图形; ,用Matlab 做出函数在上的图像,见下图:00.51 1.52 2.53 3.54 4.550.511.522.533.5x 1015y=exp(1/3 t 3-1.2t)exact solution图一 初值问题的解析解的图像步骤二,采用Euler 法取步长为0.5和0.25数值求解(2.16),并将结果画在同一幅图中,比较两者精度;我们采用Euler 法取步长为0.5和0.25数值求解,并且将数值解与解析解在一个图中呈现,见下图:00.51 1.52 2.53 3.54 4.550.511.522.533.5x 1015Numerical solution of Euler and exact solutionexact solution h=0.5h=0.25图二 Euler 方法的计算结果与解析解的比较从图像中不难看出,采用Euler 法取步长为0.5和0.25数值求解的误差不尽相同,也就是两种方法的计算精度不同,不妨将两者的绝对误差作图,可以使两种方法的精度更加直观化,见下图:00.51 1.52 2.53 3.54 4.550.511.522.533.5x 1015Absolute error of numerical solution and exact solutionh=0.5h=0.25图三 不同步长的Euler 法的计算结果与解析解的绝对误差的比较 从图像中我们不难看出,步长为0.25的Euler 法比步长为0.5的Euler 法的精度更高。

常微分方程初值问题

常微分方程初值问题

实验报告专用纸实验项目名称常微分方程初值问题的数值解课程名称计算机数值方法教师评语及成绩:实验成绩:教师签字:(请按照实验报告的有关要求书写,一般必须包括:1、实验目的;2、实验内容;3、实验步骤与方法;4、实验数据与程序清单;5、出现的问题及解决方法;6、实验结果、结果分析与体会等内容。

)1、实验目的(1)在计算机上实现Euler法及Runge-Kutta法求解一阶常微分方程初值问题;(2)通过求常微分方程初值问题的数值解,加深对其数值方法及有关基础理论知识的理解。

2、实验内容(1)用Euler法求解常微分方程初值问题;(2)用四阶Runge-Kutta求解常微分方程初值问题。

3、实验原理(1)Euler法:(2)改进的Euler法:(3)Runge-Kutta法:4、实验步骤(1)复习相关知识,为编写程序做准备;(2)编写调式程序(3)用调式好的程序解决实际问题(4)记录相关数据(5)进行结果分析(6)根据要求撰写论文5、实验程序%Ordinary_differential.mformat long;%步长h=1/20;%右边界xf=2;%设置步长x=0:h:xf;%已知函数Func=@(x,y)(y-((2*x)/y));%Euler%初始化y数组y_E=zeros(1,length(x));y_E(1)=1;%复现公式&迭代计算for i=1:(length(x)-1)y_E(i+1)=y_E(i)+Func(x(i),y_E(i))*h; end%Improve Euler%初始化y数组y_IE=zeros(1,length(x));y_IE(1)=1;%复现公式&迭代计算for i=1:(length(x)-1)p=y_IE(i)+h*Func(x(i),y_IE(i));c=y_IE(i)+h*Func(x(i+1),p);y_IE(i+1)=(1/2)*(p+c);end%Rung Kutta%初始化y数组y_RK=zeros(1,length(x));y_RK(1)=1;%复现公式&迭代计算for i=1:(length(x)-1)k1=Func(x(i),y_RK(i));k2=Func(x(i)+0.5*h,y_RK(i)+0.5*h*k1);k3=Func((x(i)+0.5*h),(y_RK(i)+0.5*h*k2));k4=Func((x(i)+h),(y_RK(i)+k3*h));y_RK(i+1)=y_RK(i)+(1/6)*(k1+2*k2+2*k3+k4) *h;end%Exact%使用ode45计算精确函数x0=0;y0=1;yspan=[x0xf];[x_ode45,y_ode45]=ode45(Func,yspan,y0);%绘图subplot(221)plot(x_ode45,y_ode45,'-');xlabel('x');ylabel('y');legend('Exact');subplot(222)plot(x,y_E,'-');xlabel('x');ylabel('y');legend('Euler');subplot(223)plot(x,y_IE,'-');xlabel('x');ylabel('y');legend('Improve Euler');subplot(224)plot(x,y_RK,'-');xlabel('x');ylabel('y');legend('Rung Kutta');%tableres=[round(transpose(x),8),round(transpose(y_E),8), round(transpose(y_IE),8),round(transpose(y_RK),8),round(y_ode45,8)];table=array2table(res,'VariableNames',{'x','Euler','Improve Euler','Rung Kutta','Exact'});table;6、实验结果及分析(1)实验结果table=41×5tablex Euler Improve Euler Rung Kutta Exact_______________________________________________ 011110.05 1.05 1.04886905 1.04880886 1.048810180.1 1.0977381 1.09556112 1.09544514 1.095445380.15 1.14351536 1.14034459 1.14017546 1.140174580.2 1.18757368 1.18343698 1.183216 1.183216060.25 1.23011131 1.22501749 1.22474493 1.22474526 0.3 1.27129351 1.26523585 1.26491113 1.26491111 0.35 1.31126017 1.30421877 1.30384056 1.30384029 0.4 1.3501313 1.34207454 1.34164088 1.34164095 0.45 1.38801111 1.3788967 1.37840498 1.37840509 0.5 1.42499118 1.41476663 1.41421368 1.41421362 0.55 1.4611528 1.44975574 1.44913781 1.44913769 0.6 1.49656893 1.48392711 1.48323985 1.48323991 0.65 1.53130567 1.51733679 1.51657526 1.51657529 0.7 1.56542352 1.55003492 1.54919353 1.54919345 0.75 1.59897836 1.58206653 1.58113904 1.58113897 0.8 1.63202233 1.61347233 1.61245178 1.61245182 0.85 1.66460451 1.64428925 1.64316793 1.64316793 0.9 1.69677156 1.67455096 1.67332034 1.673320260.95 1.72856823 1.7042883 1.70293895 1.702938891 1.76003786 1.73352962 1.73205115 1.73205117 1.05 1.79122279 1.76230109 1.76068206 1.76068204 1.1 1.82216476 1.79062697 1.78885479 1.78885471 1.15 1.85290524 1.81852981 1.81659066 1.8165906 1.2 1.8834858 1.84603071 1.84390938 1.84390939 1.25 1.91394844 1.87314942 1.87082923 1.87082919 1.3 1.94433584 1.89990456 1.89736719 1.89736709 1.35 1.97469176 1.92631373 1.92353905 1.92353898 1.4 2.00506125 1.95239363 1.94935958 1.94935956 1.45 2.03549101 1.9781602 1.97484254 1.97484247 1.5 2.06602967 2.0036287 2.00000085 2.00000073 1.55 2.09672813 2.0288138 2.0248466 2.0248465 1.6 2.12763984 2.05372973 2.04939117 2.04939111 1.65 2.15882113 2.07839027 2.07364525 2.073645151.72.19033159 2.10280892 2.09761891 2.097618771.752.22223435 2.12699893 2.12132168 2.121321541.82.2545965 2.15097339 2.14476252 2.144762411.852.28748942 2.17474529 2.16794994 2.167949781.92.3209892 2.19832764 2.19089198 2.190891781.952.35517701 2.22173348 2.21359628 2.213596082 2.39013954 2.24497601 2.23607008 2.2360699(2)结果分析根据数据及图像可以看出。

常微分方程实验报告

常微分方程实验报告

常微分方程实验报告《常微分方程》综合性实验实验报告实验班级05应数(3)学生姓名江晓荣学生学号200530770314指导老师方平华南农业大学理学院应用数学系实验微分方程在数学建模中的应用及数值解的求法一、实验目的1.了解常微分方程的基本概念。

2.常微分方程的解了解析解和数值解。

3.学习、掌握MA TLAB 软件有关求解常微分方程的解析解和数值解的有关命令。

4. 掌握微分方程在数学建模中的应用。

二、实验内容1.用MA TLAB 函数dsolve 符号求解常微分方程的通解和特解。

2.用MA TLAB 软件数值求解常微分方程。

三、实验准备1.用MA TLAB 求常微分方程的解析解的命令用MA TLAB 函数dsolve 求常微分方程()(,,,,,,)0n F x y y y y y ''''''= (7.1)的通解的主要调用格式如下:S=dsolve('eqn', 'var')其中输入的量eqn 是改用符号方程表示的常微分方程(,,,2,)0F x y Dy D y Dny = ,导数用D 表示,2阶导数用D2表示,以此类推。

var 表示自变量,默认的自变量为t 。

输出量S 是常微分方程的解析通解。

如果给定常微分方程(7.1)的初始条件()00010(),(),,()n n y x a y x a y x a '=== ,则求方程(7.1)的特解的主要调用格式如下:S=dsolve('eqn', 'condition1 ',…'conditonn ','var')其中输入量eqn ,var 的含义如上,condition1,…conditonn 是初始条件。

输出量S 是常微分方程的特解。

2.常微分方程的数值解法除常系数线性微分方程可用特征根法求解、少数特殊方程可用初等积分法求解外,大部分微分方程无解析解,应用中主要依靠数值解法。

常微分方程的求解与定性分析实验报告

常微分方程的求解与定性分析实验报告

常微分方程的求解与定性分析实验报告Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998常微分方程的求解与定性分析实验报告一、实验综述1、实验目的及要求●归纳和学习求解常微分方程(组)的基本原理和方法;●掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析;●熟悉MATLAB软件关于微分方程求解的各种命令;●通过范例学习建立微分方程方面的数学模型以及求解全过程;●通过该实验的学习,使学生掌握微分方程(组)求解方法(解析法、欧拉法、梯度法、改进欧拉法等),对常微分方程的数值解法有一个初步了解,同时学会使用MATLAB软件求解微分方程的基本命令,学会建立微分方程方面的数学模型。

这对于学生深入理解微分、积分的数学概念,掌握数学的分析思维方法,熟悉处理大量的工程计算问题的方法是十分必要的。

2、实验仪器、设备或软件电脑、二、实验过程(实验步骤、记录、数据、分析)实验内容:根据实验内容和步骤,完成以下实验,要求写出实验报告(实验目的→问题→数学模型→算法与编程→计算结果→分析、检验和结论)1.求微分方程的解析解,并画出它们的图形。

y '= y + 2 x, y (0) = 1, 0< x <1;m=dsolve('Dy=y+2*x','y(0)=1','x')ezplot(m,[0 1])m =3*exp(x) - 2*x – 21.求微分方程⎪⎩⎪⎨⎧====-+]100[0)0(;0)0(01.03t uu u u u 的数值解,要求编写求解程序。

function dy=vdp1000(t,y)dy=zeros(2,1);dy(1)=y(2);dy(2)=-y(1)+*y(1)^3;[T,Y]=ode15s('vdp1000',[0 10],[0 0]);plot(T,Y(:,1),'-')3.Rossler 微分方程组:当固定参数b =2,c =4时,试讨论随参数a 由小到大变化(如 a ∈(0,)而方程解的变化情况,并且画出空间曲线图形,观察空间曲线是否形成混沌状function r=rossler(t,x)global a;global b;global c;r=[-x(2)-x(3);x(1)+a*x(2);b+x(3)*(x(1)-c)];global a;global b;global c;b=2;c=4;t0=[0,200];for a=0::[t,x]=ode45('rossler',t0,[0,0,0]);subplot(1,2,1);plot(t,x(:,1),'r',t,x(:,2),'g',t,x(:,3),'b');title('x(红色),y(绿色),z(蓝色)随t 的变化情况');xlabel('t');subplot(1,2,2);plot3(x(:,1),x(:,2),x(:,3))title('相图');xlabel('x');ylabel('y');zlabel('z');pauseend结果显示:a=0:a=:a=:a=:a=:a=:结果分析:从图像可以看出,当a=0时,微分方程的解(x,y,z)收敛与(0,,);当a=时,(x,y,z)仍收敛与(0,,),只是收敛速度减慢;当a=时,(x,y,z)已发散,周期性变化;随着a的增大,(x,y,z)接近其极限环的速度加快,空间曲线成混沌状。

常微分matlab实验报告

常微分matlab实验报告

数学与信息科学系实训报告常微分方程初值问题数值解法及其MATLAB实现姓名:学号:专业:信息与计算科学年级:2010级指导教师:朱耀生完成时间:2013年11月25—2013年12月6实验目的:(1)研究满足给定方程的可微函数的数值方法(2)培养matlab编程和上机调试能力实验基本原理和内容:根据给定的初始条件,确定常微分方程惟一解的问题叫常微分方程初值问题。

大多数实际问题难以求得解析解,必须将微分问题离散化,用数值方法求其近似解。

一阶常微分方程的初值问题的提法是,求出函数,使满足条件(1)利用数值方法解问题(1)时,通常假定解存在且惟一,解函数及右端函数具有所需的光滑程度。

数值解法的基本思想是:先取自变量一系列离散点,把微分问题(1)离散化,求出离散问题的数值解,并以此作为微分问题解的近似。

例如取步长>0,以剖分区间[,],令=+,把微分方程离散化成一个差分方程。

以()表微分方程初值问题的解,以表差分问题的解,就是近似解的误差,称为全局误差。

因此,设计各种离散化模型,求出近似解,估计误差以及研究数值方法的稳定性和收敛性等构成了数值解法的基本内容1.欧拉法和后退欧拉法原理:function [x,y]=meuler(df,xspan,y0,h)%用途:改进欧拉公式解常微分方程y'=f(x,y), y(x0)=y0%格式:[xy]=meuler(df,a,b,y0,h) df为函数f(x,y), xspan为求解%区间[x0,xn], y0为初值y(x0), h为步长, [xy]返回节点和数值解矩阵x=xspan(1):h:xspan(2); y(1)=y0;for n=1:(length(x)-1)k1=feval(df,x(n),y(n));y(n+1)=y(n)+h*k1;k2=feval(df,x(n+1),y(n+1));y(n+1)=y(n)+h*(k1+k2)/2;end例题给定的初值问题y′=-y+x+2,0=<x=<1Y(0)=-1,取精确解y(x)=exp(-x)+x后退欧拉法,步长h=0.003, h=0.1求在节点k=1+0.1k (k=1,2,3……10)处的数值解若>>h=0.1;y=-1;x=1;for i=1:20k1=h*oulei_wf(x,y);k2=h*oulei_wf(x+h,y+k1);y=y+0.5*k1+0.5*k2x=x+h;z=ouleij_q(x)t=y-zendz = 4,z = 3.7000,y = -0.6150z = 1.4329, z =1.4329, t = -2.0479 z =3.7150, z =3.4435, y = -0.2571 z =1.5012, z =1.5012, t =-1.7583 z =3.4571, z = 3.2114, y =0.0763 z =1.5725, z =1.5725, t =-1.4962 z =3.2237, z = 3.0013, y =0.3876 z =1.6466, z =1.6466, t =-1.2590 z =3.0124,z =2.8112,y =0.6788z =1.7231,z =1.7231,t =-1.0444 z =2.8212,z = 2.6391,y =0.9518 z =1.8019,z =1.8019,t =-0.8501z = 2.6482,z =2.4834,y =1.2084z =1.8827,z =1.8827, t =-0.6743z =2.4916,z =2.3425, y =1.4501z =1.9653,z =1.9653, t =-0.5152实验结果的分析与研究1.对于欧拉法,步长越小,精度越高,而产生的误差越小。

2013《常微分方程课程设计》指导书 1-2

2013《常微分方程课程设计》指导书 1-2

第1章 引 言1.1 课程设计的意义高等学校的实践教学一般包括课程实验、综合性设计(课程设计)、课外科技活动、社会实践、毕业设计等,基本上可以分为三个层次:第一,紧扣课堂教学内容,以掌握和巩固课程教学内容为主的课程实验和综合性设计; 第二,以社会体验和科学研究体验为主的社会实践和课外科技活动; 第三,以综合应用专业知识和全面检验专业知识应用能力的毕业设计。

课程实践(含课程实验和课程设计)是大学教育中最重要也最基础的实践环节,直接影响后继课程的学习以及后继实践的质量。

由于课程设计是以培养学生的系统设计与分析能力为目标,通过团队式合作、研究式分析、工程化设计完成较大型系统或软件的设计题目的,因此课程设计不仅有利于学生巩固、提高和融合所学的专业课程知识,更重的是能够培养学生多方面的能力,如综合设计能力、动手能力、文献检索能力、团队合作能力、工程化能力、研究性学习能力、创新能力等。

《常微分方程课程设计》(Curriculum Design of the Ordinary Differential Equations )是一门继《数学实验》和《常微分方程》(ODE )之后开设的实验性课程,主要是指导性的讲解方程求解的数值方法和软件编程(如MATLAB ,MATHMATIC ,FORTRAN 等)并实现方程的解析解与数值解可视化分析的一个集中实践教学环节。

其宗旨在于培养学生运用计算机分析求解方程的能力,了解通过数学模型去解决实际问题的全过程,提高常微分方程课堂教学后的理解和应用效果,同时激发和提高同学们对于具有工程背景的科学研究的热情。

课程设计不仅仅是以实现相应的程序为目标,更重要的是在完成课程设计的过程中逐步培养今后遇到问题而去解决问题的能力,培养从事计算机应用开发所需要的各种能力与素质。

因此,在课程设计实施中,不仅需要完成程序并进行测试,还需要撰写相应的课程设计报告。

课程设计报告不仅是对课程设计的总结,也是对软件文档写作能力的初步训练。

微分方程数值解实验报告

微分方程数值解实验报告

微分方程数值解实验报告微分方程数值解实验报告一、引言微分方程是数学中一类重要的方程,广泛应用于各个科学领域。

在实际问题中,往往难以得到微分方程的解析解,因此需要借助数值方法来求解。

本实验旨在通过数值解法,探索微分方程的数值解及其应用。

二、数值解法介绍常用的微分方程数值解法有欧拉法、改进欧拉法、四阶龙格-库塔法等。

在本实验中,我们将采用改进欧拉法进行数值解的求取。

改进欧拉法是一种一阶的显式迭代法,其基本思想是将微分方程的导数用差商来近似表示,并通过迭代逼近真实解。

具体迭代公式如下:\[y_{n+1} = y_n + h \cdot f(x_n + \frac{h}{2}, y_n + \frac{h}{2} \cdot f(x_n, y_n))\]其中,\(y_n\)表示第n步的近似解,\(h\)表示步长,\(f(x_n, y_n)\)表示微分方程的导数。

三、实验步骤1. 确定微分方程及初始条件在本实验中,我们选择经典的一阶常微分方程:\[y' = -2xy\]并给定初始条件\(y(0) = 1\)。

2. 设置步长和迭代次数为了得到较为准确的数值解,我们需要合理选择步长和迭代次数。

在本实验中,我们将步长设置为0.1,迭代次数为10。

3. 迭代计算数值解根据改进欧拉法的迭代公式,我们可以通过编写计算程序来求解微分方程的数值解。

具体计算过程如下:- 初始化:设定初始条件\(y_0 = 1\),并给定步长\(h = 0.1\)。

- 迭代计算:使用改进欧拉法的迭代公式,通过循环计算得到\(y_1, y_2, ...,y_{10}\)。

- 输出结果:将计算得到的数值解输出,并进行可视化展示。

四、实验结果与分析通过以上步骤,我们得到了微分方程的数值解\(y_1, y_2, ..., y_{10}\)。

将这些数值解进行可视化展示,可以更直观地观察到解的变化趋势。

根据实验结果,我们可以发现随着迭代次数的增加,数值解逐渐逼近了真实解。

数学实验基础 实验报告(1)常微分方程

数学实验基础 实验报告(1)常微分方程

实验一 常微分方程1. 分别用Euler 法和ode45解下列常微分方程并与解析解比较: (1) ,(0)1,13y x y y x '=+=<<Euler 法:function [t,y]=euler(Fun,tspan,y0,h) t=tspan(1):h:tspan(2); y(1)=y0;for i=1:length(t)-1y(i+1)=y(i)+h.*feval(Fun,t(i),y(i)); end t=t'; y=y';function f=Fun(x,y) % 常微分方程的右端函数 f=x+y;>> [x,y]=euler('Fun',[0,3],1,0.1)>> [x,y] ans =0 1.0000 0.1000 1.1000 0.2000 1.2200 0.3000 1.3620 0.4000 1.5282 0.5000 1.7210 0.6000 1.9431 0.7000 2.1974 0.8000 2.4872 0.9000 2.8159 1.0000 3.1875 1.1000 3.6062 1.2000 4.0769 1.3000 4.6045 1.4000 5.1950 1.5000 5.8545 1.6000 6.5899 1.7000 7.4089 1.8000 8.3198 1.9000 9.3318 2.0000 10.4550 2.1000 11.7005 2.2000 13.0805 2.3000 14.6086 2.4000 16.2995 2.5000 18.1694 2.6000 20.2364 2.7000 22.5200 2.8000 25.0420 2.9000 27.8262 3.0000 30.8988ode45:>> [x,y]=ode45('Fun',[0,3],1) ans =0 1.0000 0.0502 1.0528 0.1005 1.1109 0.1507 1.17460.2010 1.2442 0.2760 1.3596 0.3510 1.4899 0.4260 1.63610.5010 1.7996 0.5760 1.9817 0.6510 2.1838 0.7260 2.4074实验一 常微分方程0.8010 2.6544 0.8760 2.9264 0.9510 3.2254 1.0260 3.55351.1010 3.9131 1.1760 4.3065 1.2510 4.7364 1.3260 5.20561.4010 5.7172 1.4760 6.2744 1.5510 6.8810 1.6260 7.54061.7010 8.2574 1.7760 9.0359 1.8510 9.8808 1.9260 10.79742.0010 11.7912 2.0760 12.8683 2.1510 14.0351 2.2260 15.29862.3010 16.6664 2.3760 18.1466 2.4510 19.7478 2.5260 21.47962.6010 23.3522 2.6760 25.3764 2.7510 27.5641 2.8260 29.92812.9010 32.4820 2.9257 33.3694 2.9505 34.2796 2.9752 35.21343.0000 36.1711解析解:>> y=dsolve('Dy=x+y','y(0)=1','x') y =2*exp(x) - x - 1(2) 20.01()2sin(),(0)0,(0)1,05y y y t y y t ''''-+===<< Euler 法:实验一常微分方程function f=Fun(t,y)% 常微分方程的右端函数f=[y(2);0.01*y(2)^2-2*y(1)+sin(t)];>> [t,y]=euler('Fun',[0,5],[0,1],0.2)ode45:>> [t,y]=ode45('Fun',[0,5],[0,1])t =0 0.0001 0.0001 0.0002 0.0002 0.0005 0.0007 0.0010 0.0012 0.00250.0037 0.0050 0.0062 0.0125 0.0188 0.0251 0.0313 0.0627 0.0941 0.12550.1569 0.2819 0.4069 0.5319 0.6569 0.7819 0.9069 1.0319 1.1569 1.28191.4069 1.5319 1.6569 1.7819 1.90692.0319 2.1569 2.2819 2.4069 2.53192.6569 2.7819 2.90693.0319 3.1569 3.2819 3.4069 3.5319 3.6569 3.78193.90694.0319 4.1569 4.2819 4.4069 4.5319 4.6569 4.7427 4.8285 4.91425.0000y =0 1.0000 0.0001 1.0000 0.0001 1.0000 0.0002 1.0000 0.0002 1.00000.0005 1.0000 0.0007 1.0000 0.0010 1.0000 0.0012 1.0000 0.0025 1.00000.0037 1.0000 0.0050 1.0000 0.0062 1.0000 0.0125 1.0000 0.0188 1.00000.0251 0.9999 0.0313 0.9998 0.0627 0.9987 0.0941 0.9965 0.1253 0.99340.1564 0.9893 0.2786 0.9632 0.3966 0.9220 0.5085 0.8662 0.6126 0.79670.7072 0.7146 0.7908 0.6210 0.8620 0.5176 0.9198 0.4058 0.9632 0.28760.9915 0.1647 1.0043 0.0392 1.0013 -0.0869 0.9826 -0.2117 0.9485 -0.33310.8996 -0.4490 0.8365 -0.5578 0.7605 -0.6577 0.6725 -0.7471 0.5742 -0.8246实验一 常微分方程0.4669 -0.8889 0.3525 -0.9393 0.2327 -0.9748 0.1095 -0.9950 -0.0154 -0.9996-0.1398 -0.9887 -0.2619 -0.9624 -0.3798 -0.9212 -0.4916 -0.8657 -0.5957 -0.7970-0.6904 -0.7161 -0.7742 -0.6242 -0.8460 -0.5228 -0.9046 -0.4134 -0.9491 -0.2978-0.9789 -0.1777 -0.9934 -0.0549 -0.9945 0.0300 -0.9883 0.1146 -0.9748 0.1985-0.9543 0.28092. 求一通过原点的曲线,它在(,)x y 处的切线斜率等于22,0 1.57.x y x +<<若x 上限增为1.58,1.60会发生什么?function f=Fun(x,y) % 常微分方程的右端函数 f=2*x+y.^2;>> [x,y]=ode45('Fun',[0,1.57],0) x =0 0.0393 0.0785 0.1178 0.1570 0.1963 0.2355 0.2748 0.3140 0.3533 0.3925 0.4318 0.4710 0.5103 0.5495 0.5888 0.6280 0.6673 0.7065 0.7458 0.7850 0.8243 0.8635 0.9028 0.9420 0.9813 1.0205 1.0598 1.0990 1.1383 1.1775 1.2168 1.2560 1.2953 1.3345 1.3738 1.4130 1.4248 1.4367 1.4485 1.4604 1.4722 1.4840 1.4959 1.5077 1.5140 1.5203 1.5265 1.5328 1.5376 1.5424 1.5472 1.5519 1.5543 1.5567 1.5591 1.5614 1.5631 1.5647 1.5664 1.5681 1.5685 1.5690 1.5695 1.5700 y =实验一 常微分方程0 0.0015 0.0062 0.0139 0.0247 0.0386 0.0556 0.0758 0.09920.1259 0.1559 0.1895 0.2266 0.2675 0.3124 0.3615 0.4152 0.4738 0.5378 0.6076 0.6841 0.7679 0.8601 0.9620 1.0751 1.2014 1.3434 1.5045 1.6892 1.9037 2.1557 2.4577 2.8282 3.3003 3.9056 4.7317 5.9549 6.4431 7.0116 7.6832 8.4902 9.4821 10.7170 12.3090 14.4551 15.9220 17.7080 19.9390 22.8164 25.6450 29.2282 33.9673 40.5910 44.9434 50.3088 57.1229 66.1087 74.3108 84.7123 98.4901 117.7875 124.9206 132.9699 142.1268 152.641500.20.40.60.81 1.2 1.4 1.6若x 上限增为1.58,1.60,则超出运算的范围,发生溢出。

常微分matlab实验报告

常微分matlab实验报告

数学与信息科学系实训报告常微分方程初值问题数值解法及其MATLAB实现姓名:学号:专业:信息与计算科学年级:2010级指导教师:朱耀生完成时间:2013年11月25—2013年12月6实验目的:(1)研究满足给定方程的可微函数的数值方法(2)培养matlab编程和上机调试能力实验基本原理和内容:根据给定的初始条件,确定常微分方程惟一解的问题叫常微分方程初值问题。

大多数实际问题难以求得解析解,必须将微分问题离散化,用数值方法求其近似解。

一阶常微分方程的初值问题的提法是,求出函数,使满足条件(1)利用数值方法解问题(1)时,通常假定解存在且惟一,解函数及右端函数具有所需的光滑程度。

数值解法的基本思想是:先取自变量一系列离散点,把微分问题(1)离散化,求出离散问题的数值解,并以此作为微分问题解的近似。

例如取步长>0,以剖分区间[,],令=+,把微分方程离散化成一个差分方程。

以()表微分方程初值问题的解,以表差分问题的解,就是近似解的误差,称为全局误差。

因此,设计各种离散化模型,求出近似解,估计误差以及研究数值方法的稳定性和收敛性等构成了数值解法的基本内容1.欧拉法和后退欧拉法原理:function [x,y]=meuler(df,xspan,y0,h)%用途:改进欧拉公式解常微分方程y'=f(x,y), y(x0)=y0%格式:[xy]=meuler(df,a,b,y0,h) df为函数f(x,y), xspan为求解%区间[x0,xn], y0为初值y(x0), h为步长, [xy]返回节点和数值解矩阵x=xspan(1):h:xspan(2); y(1)=y0;for n=1:(length(x)-1)k1=feval(df,x(n),y(n));y(n+1)=y(n)+h*k1;k2=feval(df,x(n+1),y(n+1));y(n+1)=y(n)+h*(k1+k2)/2;end例题给定的初值问题y′=-y+x+2,0=<x=<1Y(0)=-1,取精确解y(x)=exp(-x)+x后退欧拉法,步长h=0.003, h=0.1求在节点k=1+0.1k (k=1,2,3……10)处的数值解若>>h=0.1;y=-1;x=1;for i=1:20k1=h*oulei_wf(x,y);k2=h*oulei_wf(x+h,y+k1);y=y+0.5*k1+0.5*k2x=x+h;z=ouleij_q(x)t=y-zendz = 4,z = 3.7000,y = -0.6150z = 1.4329, z =1.4329, t = -2.0479 z =3.7150, z =3.4435, y = -0.2571 z =1.5012, z =1.5012, t =-1.7583 z =3.4571, z = 3.2114, y =0.0763 z =1.5725, z =1.5725, t =-1.4962 z =3.2237, z = 3.0013, y =0.3876 z =1.6466, z =1.6466, t =-1.2590 z =3.0124,z =2.8112,y =0.6788z =1.7231,z =1.7231,t =-1.0444 z =2.8212,z = 2.6391,y =0.9518 z =1.8019,z =1.8019,t =-0.8501z = 2.6482,z =2.4834,y =1.2084z =1.8827,z =1.8827, t =-0.6743z =2.4916,z =2.3425, y =1.4501z =1.9653,z =1.9653, t =-0.5152实验结果的分析与研究1.对于欧拉法,步长越小,精度越高,而产生的误差越小。

计算方法--常微分方程求解实验

计算方法--常微分方程求解实验

实验五 常微分方程求解实验一、 实验目的通过本实验学会对给定初值我呢他,用欧拉法、改进欧拉法、四阶龙格-库塔法求数值解和误差,并比较优缺点.对给定刚性微分方程,求其数值解,并与精确解比较,分析计算结果.二、 实验题目1. 解初值问题各种方法比较 实验题目:给定初值问题⎪⎩⎪⎨⎧=≤<+=,0)1(,21,e d d y x x xyx y x 精确解为)e -e (xx y =,按 (1) 欧拉法,步长;1.0,025.0==h h (2) 改进欧拉法,步长;01.0,05.0==h h (3) 四阶标准龙格-库塔法,步长;1.0=h求在节点)10,,2,1(1.01 =+=k k x k 处的数值解及误差,比较各方法的优缺点. 2. 刚性方程计算实验题目:给定刚性微分方程⎪⎩⎪⎨⎧=≤<-+-=-,2)0(,50,600e 8.1199600d d 1.0y x y xyx 其精确解为12e e )(-0.1x -600x-+=x y .任选取一显示方法,取不同的步长求解,并分析计算结果.三、 实验原理1.欧拉格式由数值微分的向前差商公式可以解决初值问题(6.1)()()⎩⎨⎧=≤≤=00',,,y x y b x a y x f y 中的导数的数值计算问题:()()()()(),'1h x y x y h x y h x y x y n n n n -=-+≈+由此可得()()().'1n n n x hy x y x y +≈+(6.1)实际上给出()()()()()().,','n n n x y x f x y x y x f x y =⇒=于是有()()()().,1n n n n x y x hf x y x y +≈+再由()()11,++≈≈n n n n x y y x y y 得().,1,0,,111 =+=+++n y x hf y y n n n n (6.2) 递推公式(6.2)称为欧拉格式。

常微分方程实验报告_闵安游_U201310085

常微分方程实验报告_闵安游_U201310085

⑵、3 步 4 阶 Adams 方法: ①、画图程序:
w = exp(i*linspace(0,2*pi)); z = 24*(w.^3 - w.^2)./(1 - 5*w + 19*w.^2 + 9*w.^3); plot(z)
②、绝对稳定性判断程序:
9 3 19 2 5 h (1 h ) (1 h) h 0 此时的特征方程是: 24 24 24 24
fprintf('误差为: %10.10f\n',m)
测试程序:
f = @(t,y)-2*y + 2*t + 1; F = @(t)exp(-2*t) + t; Threesteps_Adams1(0,2,f,F,0.1)
第 2 题: ⑴、2 步 3 阶 Adams 方法: ①、画图程序:
w = exp(i*linspace(0,2*pi)); z = 12*w.*(w - 1)./(5*w.*w + 8*w -1); plot(z)
t = a + i*h; y2 = y1 + h/2*(3*f1 - f0); plot(t,y2,'.'); f2 = f(t,y2); y1 = y2; f0 = f1; f1 = f2; end y = linspace(a,b); plot(y,F(y),'r'); hold off m = abs(y1-F(b)); fprintf('数值解: %10.10f\n',y1) fprintf('误差为:%10.10f\n',m)
' u2 24u1 51u2 9 cos t 1/ 3sin t

数值分析实验报告之常微分方程数值解

数值分析实验报告之常微分方程数值解

数学与计算科学学院实验报告
实验项目名称常微分方程数值解
所属课程名称数值方法B
实验类型验证
实验日期2013.11.11
班级
学号
姓名
成绩
图1 h=0.1时三个方法走势图
图2 h=0.05时三个方法走势图
图4 h=0.05时三个方法走势图
附录1:源程序
附录2:实验报告填写说明
1.实验项目名称:要求与实验教学大纲一致。

2.实验目的:目的要明确,要抓住重点,符合实验教学大纲要求。

3.实验原理:简要说明本实验项目所涉及的理论知识。

4.实验环境:实验用的软、硬件环境。

5.实验方案(思路、步骤和方法等):这是实验报告极其重要的内容。

概括整个实验过程。

对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作。

对于设计性和综合性实验,在上述内容基础上还应该画出流程图、设
计思路和设计方法,再配以相应的文字说明。

对于创新性实验,还应注明其创新点、特色。

6.实验过程(实验中涉及的记录、数据、分析):写明具体实验方案的具体实施步骤,包括实验过程中的记录、数据和相应的分析。

7.实验结论(结果):根据实验过程中得到的结果,做出结论。

8.实验小结:本次实验心得体会、思考和建议。

9.指导教师评语及成绩:指导教师依据学生的实际报告内容,给出本次实验报告的评价。

常微分方程实验报告.

常微分方程实验报告.

常微分方程课程实验报告实验名称 Matlab在常微分方程中的应用z =C2*exp(-2*t)+C3*exp(2*t)【3.1】作图(先做出x关于t,y关于t,z关于t的函数图像):hold on;for c1=0:0.1:1%C1、C2和C3都大于0for c2=0:0.1:1for c3=0:0.1:1t=0:0.1:1;x=c1.*exp(2.*t)+c3.*exp(-t);y=c1.*exp(2.*t)+c2.*exp(-t)+exp(-2.*t)*c3;z=c2.*exp(2.*t)+exp(-2.*t)*c3;subplot(1,3,1),plot(t,x),legend('t~x') %x关于t的函数图像 subplot(1,3,2),plot(t,y),legend('t~y') % y关于t的函数图像 subplot(1,3,3),plot(t,z),legend('t~z') % z关于t的函数图像endendend【3.2】作图(再做出x、y、z的三维图像):hold on;X=[];Y=[];Z=[];for c1=0:0.2:1%C1、C2和C3都大于0for c2=0:0.2:1for c3=0:0.2:1t=0:0.1:1;x=c1.*exp(2.*t)+c3.*exp(-t);y=c1.*exp(2.*t)+c2.*exp(-t)+exp(-2.*t)*c3;z=c2.*exp(2.*t)+exp(-2.*t)*c3;X=[X,x];Y=[Y,y];Z=[Z,z];endColumns 37 through 410.9753 1.0129 1.0521 1.0929 1.1353第4题:【1】编写函数M文件——cwf1.m(用于求近似解)function dy=cwf1(x,y)dy=(cos(x)-2*x*y)/(x^2-1)【2】编写脚本M文件——chang8.m[X,Y]=ode45('cwf1',[0,1],1)y1=Y’ %转置【3】则求出的近似解为(x取值为0~1):>>y1=Columns 1 through 101.0000 0.9756 0.9524 0.9303 0.9093 0.8892 0.8701 0.8520 0.8347 0.8183Columns 11 through 200.8028 0.7880 0.7742 0.7611 0.7488 0.7374 0.7269 0.7172 0.7085 0.7008Columns 21 through 300.6941 0.6886 0.6843 0.6815 0.6802 0.6809 0.6837 0.6890 0.6976 0.7102Columns 31 through 400.7277 0.7519 0.7851 0.8319 0.8964 0.9910 1.1404 NaN NaN NaNColumn 41-Inf【4】在command窗口运行以下语句,用于求精确解:>> y=dsolve('(x^2-1)*Dy+2*x*y-cos(x)=0','y(0)=1','x') %精确解。

微分方程实验报告

微分方程实验报告

微分方程实验报告实验名称:不同数值方法解常微分方程的数值精度实验目的:比较同一数值方法不同刨分数解常微分方程的数值精度,比较不同数值方法在相同刨分数下解常微分方程的数值精度,并将他们与理论数值精度相比;求出截断误差。

实验要求:1.编写程序求解微分方程000(,)()du f x u x x b dx u x u ⎧=⎪<≤⎨⎪=⎩其中f 是x 和u 的已知函数,0u 是给定初值。

2.至少用下列方法实验步骤:一. 初值问题:(),5.11,11,222≤<⎪⎩⎪⎨⎧=-='x u u xx u u 解析解:()3122334⎪⎪⎭⎫ ⎝⎛-=x x x u .二. 解:对该问题,10=u ,00=x ,mh x m =。

0125.0=h1. Euler 公式:1(,),0,1,m m m m u u hf x u m +=+=2. 梯形法公式:111[(,)(,)]/2,0,1,m m m m m m u u h f x u f x u m +++=++=3. 三阶Heun 公式:21131132(3)/4(,),(/3,/3),(2/3,2/3),0,1,m m m m m m m m u u hf k k k f x u k f x h u hk k f x h u hk m +=++==++=++=4. 四阶Runge-Kutta 公式:211234113243(22)/6(,),(/2,/2),(/2,/2),(,),0,1,m m m m m m m m m u u hf k k k k k f x u k f x h u hk k f x h u hk k f x h u hk m +=++++==++=++=++=5. 四阶Adams 外插公式:(显式)),(,4,3,24/)9375955/(3211m m m m m m m m m u x f f m f f f f h u u ==-+-+=---+6. 四阶Gear 公式:11231(4836163)/2512/25,3,4,m m m m m m u u u u u hf m +---+=-+-+=理论数值精度p=4;其中,m u 作为()m u x 的近似值(m=1,2,…)三.计算方法的数值精度 首先取步长h 进行计算,得到()u x 在b 点的近似值()h u b ,根据误差估计,得()()ph h e u b u b M h =-≈,其中p 是方法的阶。

2013春数学实验基础 实验报告(1)常微分方程汇总

2013春数学实验基础 实验报告(1)常微分方程汇总

实验一常微分方程1. 分别用Euler法和ode45解下列常微分方程并与解析解比较:(1) ,(0)1,13y x y y x'=+=<<(2) 20.01()2sin(),(0)0,(0)1,05y y y t y y t''''-+===<<(2)题实验一常微分方程2.求一通过原点的曲线,它在(,)x y处的切线斜率等于22,0 1.57.x y x+<<若x上限增为1.58,1.60会发生什么?>> t2(1.57)>> t2(1.58)>> t2(1.60)实验一常微分方程3. 求解刚性方程组:11212121100.25999.750.5,(0)1,050.999.751000.250.5,(0)1,y y y yxy y y y'=-++=⎧<<⎨'=-+=-⎩4.(温度过程)夏天把开有空调的室内一支读数为20℃的温度计放到户外,10分钟后读25.2℃, 再过10分钟后读数28.32℃。

建立一个较合理的模型来推算户外温度。

实验一常微分方程5. (广告效应)某公司生产一种耐用消费品,市场占有率为5%时开始做广告,一段时间的市场跟踪调查后,该公司发现:单位时间内购买人口百分比的相对增长率与当时还没有买的百分比成正比,且估得此比例系数为0.5。

(1) 建立该问题的数学模型,并求其数值解与模拟结果作以比较;(2) 厂家问:要做多少时间广告,可使市场购买率达到80%?6. (肿瘤生长) 肿瘤大小V生长的速率与V的a次方成正比,其中a为形状参数,0≤a≤1;而其比例系数K随时间减小,减小速率又与当时的K值成正比,比例系数为环境参数b。

设某肿瘤参数a=1, b=0.1, K的初始值为2,V的初始值为1。

问(1)此肿瘤生长不会超过多大?(2)过多长时间肿瘤大小翻一倍?(3)何时肿瘤生长速率由递增转为递减?(4)若参数a=2/3呢?实验一常微分方程实验一常微分方程实验一常微分方程故答案为(1)exp(20);(2)0.353;(3)30;(4)451,0.4,9.6选做题:1.(生态系统的振荡现象)第一次世界大战中,因为战争很少捕鱼,按理战后应能捕到更多的鱼才是。

数学建模-- 常微分方程数值解及实验

数学建模-- 常微分方程数值解及实验

注意:
1、在解n个未知函数的方程组时,x0和x均为n维向量, m-文件中的待解方程组应以x的分量形式写成. 2、使用Matlab软件求数值解时,高阶微分方程必须 等价地变换成一阶微分方程组.

d 2x dx 2 x 0 2 ( x 1) dt dt x (0 ) 2; x '(0 ) 0
实际应用时,与欧拉公式结合使用:
0 y i( 1) y i hf ( x i , y i ) h ( k 1) (k ) y i 1 y i [ f ( x i , y i ) f ( x i 1 , y i 1 )] k 0 ,1, 2 , 2
•欧拉法是一阶公式,改进的欧拉法是二阶公式。
•龙格-库塔法有二阶公式和四阶公式。 •线性多步法有四阶阿达姆斯外插公方程的数值解
[t,x]=solver(’f’,ts,x0,options)
自变 量值 函数 值
ode45 ode23 ode113 ode15s ode23s
1、建立m-文件vdp1.m如下: function dy=vdp (t,y) dy=zeros(2,1); dy(1)=y(2); dy(2)=(1-y(1)^2)*y(2)-y(1); 2、取t0=0,tf=20,输入命令: [T,Y]=ode15s('vdp1',[0 20],[2 0]); plot(T,Y(:,1),'-')
y ( x i 1 ) y ( x i )

xi 1
f ( t , y ( t )) dt
x i 1 x i 2
xi
[ f ( x i , y ( x i )) f ( x i 1 , y ( x i 1 ))]

常微分方程数值解---实验报告

常微分方程数值解---实验报告

琼州学院实验报告课程名称:__________ ___开课学期:____ ______院(部):__理工学院_________开课实验室:________ __学生姓名:__梁小叶_______ __专业班级:________ __学号:__________常微分方程数值解---实验报告一 实验目的: 1.掌握用MATLAB 求微分方程初值问题数值解的方法;2.通过实例学习微分方程模型解决简化的实际问题;3.了解欧拉方法和龙格库塔方法的基本思想。

二 实验内容:用欧拉方法和龙格库塔方法求下列微分方程初值问题的数值解,画出解的图形,对结果进行分析比较22'2,(1)(01),322;(0)1',(2)(010).(0)0(0)1x y y x x y e x y y x y x y y =+⎧≤≤=--⎨=⎩⎧=-≤≤⎨==⎩精确解或三 问题分析:怎样设计程序?流程图?变量说明?能否将某算法设计成具有形式参数的函数形式?【程序如下】:function f=f(x,y)f=y+2*x;clc;clear;a=0;b=1; %求解区间[x1,y_r]=ode45('f',[a b],1); %调用龙格库塔求解函数求解数值解;%% 以下利用Euler 方法求解y(1)=1;N=100;h=(b-a)/N;x=a:h:b;for i=1:Ny(i+1)=y(i)+h*f(x(i),y(i));endfigure(1)plot(x1,y_r,'r*',x,y,'b+',x,3*exp(x)-2*x-2,'k-');%数值解与真解图title('数值解与真解图');legend('RK4','Euler','真解');xlabel('x');ylabel('y');figure(2)plot(x1,abs(y_r-(3*exp(x1)-2*x1-2)),'k-');%龙格库塔方法的误差title('龙格库塔方法的误差')xlabel('x');ylabel('Error');figure(3)plot(x,abs(y-(3*exp(x)-2*x-2)),'r-')%Euler 方法的误差title('Euler 方法的误差')xlabel('x');ylabel('Error');【运行结果如下】:5总结体会:自己写了哦。

常微分方程实验

常微分方程实验

常微分方程实验实验4 研究如下的Lorenz 方程⎪⎩⎪⎨⎧-=--=-=bz xy z xz y rx y y x a x '')('如果你是第一次接触这个方程,相信你一定觉得它并无特别之处。

千万不要小看了这个简单的问题!Lorenz 方程具有重要的实际背景,它所揭示的现象---著名的Lorenz 吸引子,具有重大的科学价值。

本实验就将引导你进入混沌的殿堂。

吸引子实验的背景前面研究的离散动力系统,可以看成是在持续的离散时间间隔上,一个数 量值的变化关系。

如果时间的间隔可以趋于零,那么这种变化关系通常就可以 用微分方程描述。

这样,很自然地就可以把一个(时间独立的)微分方程作为一 个连续的动力系统进行研究。

这里我们最关注的是当时间趋于无穷时,对于某 个集合上的初始值,微分方程解的性态。

设 D 是 n R 中的一个区域,再设 f :Dn R 是一个光滑函数。

考虑微分方程'()()x t f x = (*) 吸引子是描述连续动力系统长期性质的重要概念。

区域 D 的一个闭子集 F 叫 做包含 F 的吸引域 V 的吸引子,如果对开集 V 中的所有初始点 x(0), 通过 x(0)的轨道 x (t)随着 t 的无限增大而接近 F 。

当然,应要求 F 是不变的, 即 如果 x(0)是 F 中的点,那么对0t < t <+∞, ()x t 都在 F 中,这就意味着 F 是一些轨道的并集。

同时我们还要求 在下面的意义下是最小的,即存在一点 (0)x , 使得 ()x t 在 F 中稠密。

具有复杂吸引子连续动力系统最简单又引人入胜的例子,就是Lorenz 方程。

该系统表面上并无任何神秘之处,但它有很强的实际背景,它是长期气象预报的 一个简化模型。

⎪⎩⎪⎨⎧-=--=-=bz xy z xz y rx y y x a x '')('在 (x,y,z) 空间中考虑我们的问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一 常微分方程
1. 分别用Euler 法和ode45解下列常微分方程并与解析解比较: (1) ,(0)1,13y x y y x '=+=<<
(2) 20.01()2sin(),(0)0,(0)1,05y y y t y y t ''''-+===<<
(2
)题
实验一 常微分方程
2. 求一通过原点的曲线,它在(,)x y 处的切线斜率等于22,0 1.57.x y x +<<若x 上限增为1.58,1.60会发生什么?
>> t2(1.57)
>> t2(1.58)
>> t2(1.60)
实验一 常微分方程
3. 求解刚性方程组:
11212
121100.25999.750.5,(0)1,050.
999.751000.250.5,(0)1,y y y y x y y y y '=-++=⎧<<⎨
'=-+=-⎩
4. (温度过程)夏天把开有空调的室内一支读数为20℃的温度计放到户外,10分钟后读2
5.2℃, 再过10分钟后读数28.32
℃。

建立一个较合理的模型来推算户外温度。

实验一常微分方程
5. (广告效应)某公司生产一种耐用消费品,市场占有率为5%时开始做广告,一段时间的市场跟踪调查后,该公司发现:单位时间内购买人口百分比的相对增长率与当时还没有买的百分比成正比,且估得此比例系数为0.5。

(1) 建立该问题的数学模型,并求其数值解与模拟结果作以比较;
(2) 厂家问:要做多少时间广告,可使市场购买率达到80%?
6. (肿瘤生长) 肿瘤大小V生长的速率与V的a次方成正比,其中a为形状参数,0≤a≤1;而其比例系数K随时间减小,减小速率又与当时的K值成正比,比例系数为环境参数b。

设某肿瘤参数a=1, b=0.1, K的初始值为2,V的初始值为1。


(1)此肿瘤生长不会超过多大?
(2)过多长时间肿瘤大小翻一倍?
(3)何时肿瘤生长速率由递增转为递减?
(4)若参数a=2/3呢?
实验一常微分方程
实验一常微分方程
实验一常微分方程
故答案为(1)exp(20);(2)0.353;(3)30;(4)451,0.4,9.6
选做题:
1.(生态系统的振荡现象)第一次世界大战中,因为战争很少捕鱼,按理战后应能捕到更多的鱼才是。

可是大战后,在地中海却捕不到鲨鱼,因而渔民大惑不解。

令x1为鱼饵的数量,x2为鲨鱼的数量,t为时间。

微分方程为
(5.20)
式中a1, a2, b1, b2都是正常数。

第一式鱼饵x1的增长速度大体上与x1成正比,即按a1x1比率增加, 而被鲨鱼吃掉的部分按b1x1x2的比率减少;第二式中鲨鱼的增长速度由于生存竞
实验一常微分方程
争的自然死亡或互相咬食按a2x2的比率减少,但又根据鱼饵的量的变化按b2x1x2的比率增加。

对a1=3, b1=2, a2=2.5, b2=1, x1(0)=x2(0)=1求解。

画出解曲线图和相轨线图,可以观察到鱼饵和鲨鱼数量的周期振荡现象。

2.编写四阶Runge-Kutta法程序。

实验小结与收获
这次关于常微分方程的实验,包括常微分方程(组)的数值求解,Euler法,刚性方程组问题和简单的建模实验。

第一题的第一问比较简单,第二问由于是二阶常微分方程,只用了ode45来算。

第二题用到了解的“爆炸”。

第三题是刚性方程,简单。

第四题是建立一个较合理的模型来推算户外温度,有点难度,结合实际很重要。

第五题关键是建立微分方程。

第六题关于肿瘤生长。

第七题,选作了一道,并没有做完,只画了解曲线。

相关文档
最新文档