实验二 MATLAB 数值计算:常微分方程(组)的求解 一、实验目的 在物理学和工程技术上,很多问题都可以用一个或一组常微分方程来描述,因此要解决相应的实际问题往往需要首先求解对应的微分方程
在大多数情况下这些微分方程通常是非线性的或者是超越方程(比如范德堡方程,波导本征值方程等),因此往往需要使用计算机数值求解
MATLAB 作为一种强大的科学计算语言,其在数值计算和数据的可视化方面具有无以伦比的优势
在解决常微分方程问题上,MATLAB 就提供了多种可适用于不同场合(如刚性和非刚性问题)下的求解器(Solver),例如 ode45,ode15s,ode23,ode23s 等等
本次实验将以范德堡方程的计算和地球卫星的运行轨道的仿真为例,练习使用 MATLAB 的常微分方程求解器,以期达到如下几个目的: 1
熟悉常微分方程的求解方法,了解状态方程的概念; 2
能熟练使用 dsolve 函数解析求解常微分方程; 3
能熟练运用 ode45、ode15s 求解器分别数值求解非刚性和刚性常微分方程; 4
学习用求解器来绘制相图的方法
二、实验的预备知识 1.微分方程的概念 未知的函数以及它的某些阶的导数连同自变量都由 一已 知方程联 系 在一起 的方程称 为微分方程
如果 未知函数是一元 函数,称 为常微分方程( Ordinary differential equ ations,简称 odes)
n 阶常微分方程的一般 形 式 ( 隐 式 ) 为: 0),,",',,()(nyyyytF ( 1) 其中 t 为自变量
如果 未知函数是多元 函数,成 为偏 微分方程
联 系 一些未知函数的一组微分方程组称 为微分方程组
微分方程中 出 现 的未知函数的导数的最 高 阶解数称 为微分方程的阶
若 方程中 未知函数及其各 阶导数都是一次的,称 为线性常微分方程