-
1 学习目标
-
2 教学要求
-
3 学习指南
-
4 知识结构
-
5 重点难点
-
6 知识内容
-
7 案例
-
8 练习
-
9
微分方程是描述动态系统最常用的数学工具,也是很多科学与工程领域数学建模的基础。线性微分方程和低阶特殊微分方程往往可以通过解析解的方法求解,但一般的非线性微分方程是没有解析解的,故需要用数值解的方式求解。
本章知识点及学习目标:
1. 研究微分方程的解析解算法,介绍在MATLAB环境中如何使用微分方程求解函数直接得出线性微分方程组的解析解,并对一阶简单的非线性微分方程的解析解求解进行探讨,从而得出结论,一般非线性微分方程是没有解析解的。
2. 引入了数值解的概念,并以最简单的一阶微分方程的Euler算法为例,介绍了一般数值解法的思路并介绍了变步长求解的概念,还介绍了MATLAB下微分方程是实用数值求解函数,通过例子演示该函数在一般一阶显式常微分方程初值函数能直接求解的方程是一阶显式微分方程组,若给出的方程不是这类函数,则需要首先将其变换成一阶显式微分方程组,然后使用常规方法对其求解。
前面介绍了微分方程的解析解方法,同时也指出很多非线性微分方程是不存在解析解法的,需要使用数值解法对之进行研究。从本节开始着重讨论基于MATLAB/Simulink语言的各类微分方程的数值解方法。
3. 介绍了状态变量的选择方法,以及各种不同微分方程转换成一阶显式微分方程组的一般性方法,以便用给定的求解函数直接求解。
由前面介绍的微分方程求解函数和微分防方程标准型可见,如果常微分方程由一个或多个高阶常微分方程给出,要得出该方程的数值解,则应该先将该方程变成一阶常微分方程组。
4. 介绍其他各类型常微分方程数值求解的方法及MATLAB实现,包括刚性微分方程、微分代数方程组、隐式微分方程组、延迟微分方程组、切换微分方程以及随机微分方程的数值求解方法。
一般微分方程组均可以转换成一阶显式常微分方程组,然后通过给定的算法及MATLAB求解函数,如ode45()函数有时失效,所以应该引入一类方程,即刚性微分方程的专门求解函数来解决这样的问题。另外,微分代数方程、隐式微分方程及延迟微分方程也是需要引入的微分方程类型,它们的求解将弥补ode45()函数本身的不足,本节将着重介绍这些方程的求解
5. 前面的微分方程数值解中侧重研究初值问题,即已知
对其他时刻状态变量值进行求解的方法。在实际应用中,经常会遇到这样的问题,已知部分状态在
时刻的值,还知道部分状态在
时刻的值,这类问题即所谓的边值问题。边值问题也是ode45()类函数无法直接求解的一类问题。本节将讨论边值问题的计算机求解方法。
二阶微分方程边值问题的数学描述为 ![]()
假设想在区间[a,b]上研究该方程的解,且已知在这两个边界点上满足 ![]()
上面的方程称为边界条件。
显然,利用前面的边值问题算法是不能直接使用的,因为并不能直接获得在初始时刻的各个变量的值。讨论各种边界问题的数值解法。
6. MATLAB可以求解一般的偏微分方程,也可以用偏微分方程工具箱中给出的相应函数求解一些偏微分方程。本节将首先介绍一般偏微分方程的数值解法,然后介绍利用偏微分方程工具箱求解几类典型偏微分方程的方法。
7. 简介Simulink仿真环境,并将介绍如何在Simulink环境下建立微分方程的数学模型,还将介绍通过仿真求解微分方程的一般步骤及方法,用这样的方法理论上可以求解任意复杂的常微分方程组初值问题数值解












