资源描述:
《10-缉私艇追走私船模型实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MathematicsLaboratory阮小娥博士ExperimentsinMathematics赵小艳数学实验办公地址:理科楼2142、了解微分方程数值解思想,掌握两种简单的微分方程数值解方法。3、学会根据实际问题建立简单微分方程数学模型。实验目的1、学会用MATLAB软件求解微分方程的初值问题.4、了解计算机数据仿真、数据模拟的基本方法。实验十二缉私艇追赶走私船模型实验用MATLAB软件求微分方程解析解、数值解理论.编程求解微分方程数值解.微分方程模型实验:缉私艇追赶走私船.实验内容1.微分方程的解一阶常微分方程的初值问题:用matlab软件求微分方
2、程的解析解dsolve(‘equation’,‘condition’)%求方程equation在初始条件condition下的解,自变量默认为tdsolve('equation')%求方程equation的通解%一阶导数用Dy表示,二阶导数用D2y表示,A=dsolve('Dy=5')B=dsolve(‘Dy=x’,‘x’)%求方程的通解,指定自变量为xC=dsolve('D2y=1+Dy')D=dsolve('D2y=1+Dy','y(0)=1','Dy(0)=0')[x,y]=dsolve('Dx=y+x','Dy=2*x','x(0)=0','y(0
3、)=1')%解微分方程组例1(1)dsolve('D2y=exp(x)','x')dsolve('D2y=exp(x)')dsolve('D2y=exp(x)','y(0)=1,Dy(0)=2','x')微分方程数值解的计算欧拉方法、欧拉两步法、改进的欧拉方法欧拉方法:是一种求解给定初值的常微分方程的一阶数值解方法。对于方程设y=y(x)是它的解,则在解y=y(x)的曲线上每一点处的切线的斜率等于f(x,y)在该点处的值。所以,过初始点A0(x0,y0),做切线与直线x=x1交点的纵坐标y1近似代替y=y(x)在x=x1处的函数值y(x1),即然后再过点A
4、1(x1,y1),以f(x1,y1)为斜率做切线,与直线x=x2交点的纵坐标y2近似代替y=y(x)在x=x2处的函数值y(x2),即A0x0x1x2A1A2这样依次类推得到上述微分方程的解在x=xn+1处函数值的近似计算公式,待求的曲线为蓝色,它的折线近似为红色A0x0x1x2x3A1A2A3A4x4特别地,如果节点之间是等分的,则这就是著名的欧拉(Euler)公式。事实上,上述公式是用函数y(x)在xn处的向前差商代替函数在这点处的导数,从而将微分方程离散化。同样,如果用函数y(x)在xn+1处的向后差商代替导数值,就得后退的欧拉公式注意:这两个公式虽
5、然具有相同的精度,但也是有区别的,前者是计算yn+1的显示公式,后者是隐式公式。A0x0x1x2x3A1A2A3A4x4将上两式算术平均即得梯形公式:梯形公式消去了欧拉公式和后退的欧拉公式误差的主要部分,因此比它们具有更高的精度。这是一个隐式公式,可采用迭代法求解。通常先用欧拉公式提供一个yn附近的初始迭代值,然后再用梯形公式做迭代。2)欧拉两步法用函数y(x)在xn处的中心差商代替微分方程中的导数,这就是欧拉两步法公式。它比欧拉公式、后退的欧拉公式具有更高的精度。3)改进的欧拉公式欧拉公式虽然简单,但是误差较大,并且随着迭代次数的增加,误差越来越大。梯形
6、公式虽然提高了精度,但因其是隐式的,所以计算麻烦,工作量较大。通常将这两种方法结合,得到改进的欧拉公式,具体如下:步骤1先由欧拉公式得到y(xn+1)的一个初始近似值,称为预测值步骤2对预测值再用梯形公式校正一次得yn+1,称为校正值整个过程(称预测-校正系统)可以表示成这就是改进的欧拉公式。当然也可以将欧拉两步法与梯形方法结合。再解释:欧拉公式用函数y(x)在区间[xn,xn+1]上的平均斜率代替了曲线在点xn的斜率。得到启发:只要对曲线在区间[xn,xn+1]上的平均斜率提供一种算法,就可以得到一种计算yn+1的公式。如果设法在区间内多预测几个点的斜率
7、值,然后将这些点处斜率值的加权平均值作为曲线在区间上的平均值,由此构造出由yn计算yn+1的精度更高的计算公式,这就是龙格-库塔方法的基本思想。欧拉两步法用区间[xn,xn+1]和区间[xn-1,xn]上的平均斜率的算术平均值代替了曲线在xn的斜率。编程计算微分方程数值解例2已知初值问题(1)用MATLAB软件求解析解,算出解析解在结点x=pi:0.1:2*pi处的纵坐标;(2)取步长0.1,用欧拉公式求数值解;(3)取步长0.1,用改进的欧拉公式求数值解;(4)比较两种数值解和解析解,并画出数值解和解析解曲线。解:(1)直接在命令窗执行命令dsolve(
8、'Dy=3/x*y+x^3*(exp(x)+cos(x))-2*x