MATLAB解微分方程(III)

MATLAB解微分方程(III)

ID:39334752

大小:1.36 MB

页数:65页

时间:2019-07-01

MATLAB解微分方程(III)_第1页
MATLAB解微分方程(III)_第2页
MATLAB解微分方程(III)_第3页
MATLAB解微分方程(III)_第4页
MATLAB解微分方程(III)_第5页
资源描述:

《MATLAB解微分方程(III)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1MATLABODE初值问题的数值解PDE问题的数值解2问题提出倒葫芦形状容器壁上的刻度问题.对于如图所示圆柱形状容器壁上的容积刻度,可以利用圆柱体体积公式其中直径D为常数.对于几何形状不是规则的容器,比如倒葫芦形状容器壁上如何标出刻度呢?下表是经过测量得到部分容器高度与直径的关系.3x1o根据上表的数据,可以拟合出倒葫芦形状容器的图,建立如图所示的坐标轴,问题为如何根据任意高度x标出容器体积V的刻度,由微元思想分析可知H00.20.40.60.81.0D0.040.110.260.561.041.17其中x表示高度,直径D

2、是高度x的函数,记为D(x).x1o4只要求解上述方程,就可求出体积V与高度x之间的函数关系,从而可标出容器壁上容积的刻度,但问题是函数D(x)无解析表达式,无法求出其解析解.因此,得到如下微分方程初值问题5包含自变量、未知函数及未知函数的导数或微分的方程称为微分方程。在微分方程中,自变量的个数只有一个,称为常微分方程。自变量的个数为两个或两个以上的微分方程叫偏微分方程。微分方程中出现的未知函数最高阶导数的阶数称为微分方程的阶数。微分方程分类6常微分方程:(1),(2)式称为初值问题.在实际应用中还经常需要求解常微分方程组:

3、(3)式称为边值问题。7但能求解析解的常微分方程是有限的,大多数的常微分方程是给不出解析解的.这个一阶微分方程就不能用初等函数及其积分来表达它的解。例例的解的值仍需插值方法来计算.89事实上,从实际问题当中抽象出来的微分方程,通常主要依靠数值解法来解决。可以证明:如果函数在带形区域R=a≤x≤b,-∞<y<∞}内连续,且关于y满足李普希兹(Lipschitz)条件,即存在常数L(它与x,y无关)使对R内任意两个都成立,则方程的解在a,b上存在且唯一。在区间a≤x≤b上的数值解法。主要讨论一阶常微分方程初值问题10微分方程

4、数值方法的基本思想对常微分方程初值问题的数值解法,就是要算出精确解y(x)在区间a,b上的一系列离散节点处的函数值相邻两个节点的间距称为步长,步长可以相等,也可以不等。假定h为定数,称为定步长,这时节点可表示为11数值解法需要把连续性的问题加以离散化,从而求出离散节点的数值解。离散化对常微分方程数值解法的基本出发点就是离散化。其数值解法的基本特点:采用“步进式”,即求解过程顺着节点排列的次序一步一步地向前推进,12描述这类算法,要求给出用已知信息计算的递推公式。建立这类递推公式的基本方法是在这些节点上用数值积分、数值微分

5、、泰勒展开等离散化方法,对初值问题中的导数进行不同的离散化处理。13数值解和精确解用数值方法求解初值问题,不是求出它的解析解或其近似解析式,而是给出它的解在某些离散节点上的近似值。用y(x)表示问题的准确解y(x0),y(x1),y(xN)表示解y(x)在节点x0,x1,…,xN处的准确值y0,y1,…,yN表示数值解,即问题的解y(x)在相应节点处的近似值。14单步法和多步法单步法:在计算yi+1时只利用yi多步法:在计算yi+1时不仅利用yi,还要利用yi−1,yi−2,…,k步法:在计算yi+1时要用到yi,yi−1,

6、…,yi−k+1显式格式可写成:yk+1=yk+hΦf(xk,yk;h)隐式格式:yk+1=yk+hΦf(xk,yk,yk+1;h)它每步求解yk+1需要解一个隐式方程。15欧拉(Euler)方法在x=x0处,用差商代替导数:由得16同理,在x=xn处,用差商代替导数:由得若记则上式可记为此即为求解初值问题的Euler方法,又称显式Euler方法。17例:用Euler方法求解常微分方程初值问题并将数值解和该问题的解析解比较。解:Euler方法的具体格式:18h=0.2;y(1)=0.2;x=0.2:h:3;forn=1:14

7、xn=x(n);yn=y(n);y(n+1)=yn+h*(yn/xn-2*yn*yn);endx0=0.2:h:3;y0=x0./(1+x0.^2);plot(x0,y0,x,y,x,y,'o')程序实现19xny(xn)ynyn-y(xn)0.00000.20.19230.20000.00770.40.34480.38400.03920.60.44120.51700.07580.80.48780.58240.09461.00.50000.59240.09241.20.49180.57050.07871.40.47300.5

8、3540.0624h=0.2,xn=nh,(n=0,1,2…,15),f(x,y)=y/x–2y2计算中取f(0,0)=1.计算结果如下:20xny(xn)ynyn-y(xn)1.60.44940.49720.04781.80.42450.46050.03592.00.40000.4268

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。