缉私艇追走私船模型实验课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《缉私艇追走私船模型实验课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 缉私艇 走私船 模型 实验 课件
- 资源描述:
-
1、2 2、了解微分方程数值解思、了解微分方程数值解思想,掌握两种简单的微分想,掌握两种简单的微分方程数值解方法。方程数值解方法。3、学会根据实际问题建立、学会根据实际问题建立简单微分方程数学模型。简单微分方程数学模型。实验目的实验目的1 1、学会用、学会用MATLABMATLAB软件求解软件求解微分方程的初值问题微分方程的初值问题. .4、了解计算机数据仿真、了解计算机数据仿真、数据模拟的基本方法。数据模拟的基本方法。 实验十二实验十二 缉私艇追赶走私船模型实验缉私艇追赶走私船模型实验1.1.用用MATLABMATLAB软件求微分方程解析解、数值解软件求微分方程解析解、数值解理论理论. . 2.
2、2.编程求解微分方程数值解编程求解微分方程数值解. . 3.3.微分方程模型实验微分方程模型实验: :缉私艇追赶走私船缉私艇追赶走私船. . 实验内容实验内容1. 1. 微分方程的解微分方程的解一阶常微分方程的初值问题一阶常微分方程的初值问题: : 4 用用matlab软件求软件求微分方程的解析解微分方程的解析解ldsolve(equation,condition) %求方程求方程equation在在初始条件初始条件condition下的解,自变量默认为下的解,自变量默认为tldsolve(equation) %求方程求方程equation的通解的通解l%一阶导数用一阶导数用Dy表示,二阶导数
3、用表示,二阶导数用D2y表示,表示, A=dsolve(Dy=5) B=dsolve(Dy=x,x) %求方程的通解,指定自变求方程的通解,指定自变 量为量为x C=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)=1) %解微分方程组解微分方程组例例1 (1)dsolve(D2y=exp(x),x)dsolve(D2y=exp(x)dsolve(D2y=exp(x),y(0)=1,Dy(0)=2,x) 微分方程数值解的计算微分方程数值解的计算 欧拉方法、欧拉两步法
4、、改进的欧拉方法欧拉方法、欧拉两步法、改进的欧拉方法1)1)欧拉方法:欧拉方法:是一种求解给定初值的常微分方是一种求解给定初值的常微分方程的一阶数值解方法。程的一阶数值解方法。对于方程对于方程设设y=y(x)是它的解,则在解是它的解,则在解y=y(x)的曲线上每一点的曲线上每一点处的切线的斜率等于处的切线的斜率等于f(x,y)在该点处的值。在该点处的值。所以,过初始点所以,过初始点A0(x0,y0),做切线做切线)(,(0000 xxyxfyy 与直线与直线x=x1x=x1交点的纵坐标交点的纵坐标y1y1近似代替近似代替y=y(x)在在x=x1x=x1处的函数值处的函数值y(x1),即,即)(
5、,()(0100011xxyxfyyxy 然后再过点然后再过点A1(x1,y1),以以f(x1,y1)为斜率做切为斜率做切线,与直线线,与直线x=x2交点的纵坐标交点的纵坐标y2y2近似代替近似代替y=y(x)在在x=x2处的函数值处的函数值y(x2),即,即A0 x0 x1x2A1A2)(,()(1211122xxyxfyyxy 这样依次类推得到上述微分方程的解在这样依次类推得到上述微分方程的解在x=xn+1x=xn+1处处函数值的近似计算公式,函数值的近似计算公式,)(,()(111nnnnnnnxxyxfyyxy 待求的曲线为蓝色,它的折线近似为红色待求的曲线为蓝色,它的折线近似为红色A
6、0 x0 x1x2x3A1A2A3A4x4特别地,如果节点之间是等分的,则特别地,如果节点之间是等分的,则),()(11nnnnnyxhfyyxy 这就是著名的这就是著名的欧拉欧拉(Euler)(Euler)公式。公式。事实上,上述公式是用函数事实上,上述公式是用函数y(x)y(x)在在xnxn处的向前差处的向前差商代替函数在这点处的导数,从而将微分方程离商代替函数在这点处的导数,从而将微分方程离散化。同样,如果用函数散化。同样,如果用函数y(x)y(x)在在xn+1xn+1处的向后差处的向后差商代替导数值,就得商代替导数值,就得后退的欧拉公式后退的欧拉公式),()(1111 nnnnnyxh
7、fyyxy 注意:这两个公式虽然具有相同的精度,但也是有区别的,注意:这两个公式虽然具有相同的精度,但也是有区别的,前者是计算前者是计算yn+1yn+1的显示公式,后者是隐式公式。的显示公式,后者是隐式公式。A0 x0 x1x2x3A1A2A3A4x4将上两式算术平均即得将上两式算术平均即得梯形公式:梯形公式:),(),(2)(1111 nnnnnnnyxfyxfhyyxy梯形公式消去了欧拉公式和后退的欧拉公式误差梯形公式消去了欧拉公式和后退的欧拉公式误差的主要部分,因此比它们具有更高的精度。的主要部分,因此比它们具有更高的精度。这是一个隐式公式,可采用迭代法求解。这是一个隐式公式,可采用迭代
8、法求解。通常先用欧拉公式提供一个通常先用欧拉公式提供一个ynyn附近的初始迭代值,附近的初始迭代值,然后再用梯形公式做迭代。然后再用梯形公式做迭代。),()0(1nnnnyxhfyy ),(),(2)(11)1(1knnnnnknyxfyxfhyy 2 2)欧拉两步法欧拉两步法用函数用函数y(x)y(x)在在xnxn处的中心差商代替微分方程中的处的中心差商代替微分方程中的导数,导数,)(,(2)()(11nnnnxyxfhxyxy 这就是这就是欧拉两步法公式。欧拉两步法公式。)(,(2)()(11nnnnxyxhfxyxy 它比欧拉公式、后退的欧拉公式具有更高的精度。它比欧拉公式、后退的欧拉公
9、式具有更高的精度。3 3)改进的欧拉公式改进的欧拉公式 欧拉公式虽然简单,但是误差较大,并且欧拉公式虽然简单,但是误差较大,并且随着迭代次数的增加,误差越来越大。梯形公随着迭代次数的增加,误差越来越大。梯形公式虽然提高了精度,但因其是隐式的,所以计式虽然提高了精度,但因其是隐式的,所以计算麻烦,工作量较大。通常将这两种方法结合,算麻烦,工作量较大。通常将这两种方法结合,得到得到改进的欧拉公式,改进的欧拉公式,具体如下:具体如下:),(1nnnnyxhfyy 步骤步骤1 1 先由欧拉公式得到先由欧拉公式得到y(xn+1)y(xn+1)的一个初始近似的一个初始近似值,称为值,称为预测值预测值步骤步
10、骤2 2 对预测值再用梯形公式校正一次得对预测值再用梯形公式校正一次得yn+1yn+1,称,称为为校正值校正值),(),(2111 nnnnnnyxfyxfhyy整个过程(称整个过程(称预测预测- -校正系统校正系统)可以表示成)可以表示成),(,(),(21nnnnnnnnyxhfyhxfyxfhyy 这就是这就是改进的欧拉公式。改进的欧拉公式。当然也可以将欧拉两步法与梯形方法结合。当然也可以将欧拉两步法与梯形方法结合。再解释:再解释:欧拉公式用函数欧拉公式用函数y(x)y(x)在区间在区间xn,xn+1xn,xn+1上的平均斜上的平均斜率代替了曲线在点率代替了曲线在点xnxn的斜率。的斜率
11、。上的平均斜率。上的平均斜率。在区间在区间为函数为函数称称,)()()(11 nnnnxxxyhxyxy得到启发:得到启发:只要对曲线在区间只要对曲线在区间xn,xn+1xn,xn+1上的平均上的平均斜率提供一种算法,就可以得到一种计算斜率提供一种算法,就可以得到一种计算yn+1yn+1的公的公式。如果设法在区间内多预测几个点的斜率值,然式。如果设法在区间内多预测几个点的斜率值,然后将这些点处后将这些点处斜率值的加权平均值斜率值的加权平均值作为曲线在区间作为曲线在区间上的平均值,由此构造出由上的平均值,由此构造出由ynyn计算计算yn+1yn+1的精度更高的精度更高的计算公式,这就是的计算公式
12、,这就是龙格龙格- -库塔方法库塔方法的基本思想。的基本思想。欧拉两步法用区间欧拉两步法用区间xn,xn+1xn,xn+1和区间和区间xn-1,xnxn-1,xn上的上的平均斜率的平均斜率的算术平均值算术平均值代替了曲线在代替了曲线在xnxn的斜率。的斜率。编程计算微分方程数值解编程计算微分方程数值解例例2 2 已知初值问题已知初值问题333(cos )2,22|()xxyyxexxxxye (1)用)用MATLAB软件求解析解,算出解析解在结软件求解析解,算出解析解在结点点x=pi:0.1:2*pi处的纵坐标;处的纵坐标;(2)取步长)取步长0.1,用欧拉公式求数值解;,用欧拉公式求数值解;
13、(3)取步长)取步长0.1,用改进的欧拉公式求数值解;,用改进的欧拉公式求数值解;(4)比较两种数值解和解析解,并画出数值解和)比较两种数值解和解析解,并画出数值解和解析解曲线。解析解曲线。解:(解:(1 1)直接在命令窗执行命令)直接在命令窗执行命令dsolve(Dy=3/x*y+x3*(exp(x)+cos(x)-2*x, y(pi)=(exp(pi)+2/pi)*pi3,x)ans= x3*exp(x)+x3*sin(x)+2*x2clc;clf;szy_eu=;y=(exp(pi)+2/pi)*pi3;for x=pi:0.1:2*piy=y+0.1*(3/x*y+x3*(exp(x)
14、+cos(x)-2*x);szy_eu=szy_eu,y;endszy_eu t=pi:0.1:2*pi;f=t.3.*exp(t)+t.3.*sin(t)+2*t.2;plot(t,f,b*-) hold onplot(t,szy_eu,r-,linewidth,2)(2) (2) 取步长取步长0.10.1,用欧拉公式求数值解,用欧拉公式求数值解x=pi:0.1:2*pi;h=0.1; y=(exp(pi)+2/pi)*pi3;szy_imeu=y; for i=1:length(x)-1 jzj=y+h*(3/x(i)*y+x(i)3*(exp(x(i)+cos(x(i)-2*x(i);
15、yy=y+h/2*(3/x(i)*y+x(i)3*(exp(x(i)+cos(x(i)- 2*x(i)+3/x(i+1)*jzj+x(i+1)3*(exp(x(i+1)+cos(x(i+1)-2*x(i+1); szy_imeu=szy_imeu,yy; y=yy; end szy_imeu plot(x,szy_imeu,r-,linewidth,2) f=x.3.*exp(x)+x.3.*sin(x)+2*x.2; hold on plot(x,f,b*-)(3) (3) 取步长取步长0.10.1,用改进的欧拉公式求数值解,用改进的欧拉公式求数值解 2. 2. 用用MATLABMATLAB
展开阅读全文