MATLAB-ch014数值计算-常微分方程

MATLAB-ch014数值计算-常微分方程

ID:39333929

大小:284.60 KB

页数:24页

时间:2019-07-01

MATLAB-ch014数值计算-常微分方程_第1页
MATLAB-ch014数值计算-常微分方程_第2页
MATLAB-ch014数值计算-常微分方程_第3页
MATLAB-ch014数值计算-常微分方程_第4页
MATLAB-ch014数值计算-常微分方程_第5页
资源描述:

《MATLAB-ch014数值计算-常微分方程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第14讲数值计算 —常微分方程张建瓴内容提要在科学研究和工程教学中会经常遇到常微分方程。只含有一个自变量的微分方程称为常微分方程(OrdinaryDifferentialEquations,ODE)。它或者没有解析解,或者求取解析解的代价无法忍受,或者只有数值解等。在MATLAB中,时常微分方程的解法一般有两种:数值解和符号解(解析解)。常微分方程的求解问题可分为:初值问题(InitialValueProblem,IVP)和边值问题(BoundaryVauleProblem,BVP)。§14.1常微分方程的数值解一般微分方程式描述系统内部变量的变化率

2、如何受系统内部变量和外部激励,如输入的影响。当常微分方程式能够解析求解时,可用MATLAB的符号工具箱中的功能找到精确解。在微分方程难以获得解析解的情况下,可以方便地在数值上求解。微分方程数值解是数值计算的基本内容,由于微分方程的多样性,有不同的解法。MATLAB给出的7种解法分别由7个不同的函数来完成。一、刚性问题(StiffProblem)1、刚性方程对于一个常微分方程组,如果其Jacobian矩阵的特征值相差十分悬殊,那么这个方程组就称为刚性方程组。对于刚性方程组,为保持解法的稳定,步长选取根困难。有些解法不能用来解刚性方程组,而有些解法对稳定

3、性的要求不严格,可以用来解决刚性问题。二、求解微分方程初值问题的常用命令MATLAB为解常微分方程初值问题提供的命令包括:微分方程结算命令、被解算命令、调用的常微分方程文件格式命令、积分算法参数选项(Options)处理命令以及输出处理命令等。这些命令的含义特点和使用范围如表所示。求解微分方程初值问题的常用命令(1)表中单步法是指只需要前一步的解即可计算出当前的解,不需要附加初始值。在计算过程中可随便改变步长而不会增加任何附加的计算量。(2)表中多步法是指需要前几次的解来计算当前的解。三、求解常微分方程的一般步骤对于n阶微分方程初值问履,由于函数及其

4、直至(n-1)阶导数在某自变量点的值已知,所以由泰勒级数展开,可算出新的函数及导数值。在MATLAB中,具体利用其命令来解初值问题。常微分方程的步骤是:(1)根据在工程实际中各学科的规律、定理和公式列出微分方程和相应的初始条件;(2)运用变量替换,把一个高阶方程写成一阶微分方程组,初始条件也要做相应地替换;求解常微分方程的一般步骤(3)根据变换后的一阶微分方程组,编写计算导数的M文件(在MATLAB中称为ODE文件);(4)使编写好的ODE函数文件和变换后的初值供Y0微分方程解算命令调用,运行后即可得到Y(包含y及其导数)在指定的时间区耻的数值解。四

5、、求解常微分方程的命令格式MATLAB提供了多种解算常微分方程的命令(如表13-1中所列),这些命令函数的用法完全相同,以函数ode45为例,其最完整的调用格式为:[T,Y]=ode45('f',tspan,y0,options,p1,p2,…)式中:f是定义常微分方程的文件名字符串,这些函数是针对一阶常微分方程组设计的,对于高阶微分方程,必须先化为形如的一阶微分方程组。在这里要注意:定义常微分方程组的函数必须以t、x为输入参数(顺序不能变),以为输出参数,并且输出必须是列向量。参数说明tspan是一个向量,当被赋予二元向量[t0tfinal]时,指

6、定微分方程y‘=F(t,y)在初始条件y0下,从t0到tfinal进行积分;当tspan被赋予多元向量[t0,t1,…,tfinal]时,在tspan指定的时刻序列上求数值解。此时tspan中的元素必须按单调次序排列。y0是初始状态列向量。参数说明options是一些可选的算法综合参数,由函数odeset进行设置。当输入参数只有三个时,或第四个输入参数位置上用空矩阵“[]”赋值时,算法将使用options的缺省设置。p1和p2是传递给F的参数,从第5个输入参数起,以后的各输入参数都是向ODE文件传递的参数。它们的使用可避免采用参数的全局变量方式传递。

7、T是输出参数,为所求数值解的时间列向量,Y是数值解的矩阵,它的每一行对应着列向量T中的一个时间值。〖例14-1〗example14_1.m考虑描述振荡器的经典的范得波(VarderPol)微分方程的初值问题。已知初始条件为x0=1,x'0=0。[例14-2]example14_2.m解微分方程组(刚性问题):已知二阶微分方程y''=1000(1-y2)y'-y初始条件:y(0)=0,y'(0)=1,求该微分方程的解。§14.2ODE文件ODE文件是专门被微分方程解算命令(如ode45)调用的M函数文件。ODE文件的功能很多,其中计算每一步的导数是其最

8、基本、必不可少的功能。另外,还有一些常用的功能,如解算指令中options的参数设置、事件设置等。MATLA

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

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

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