实验四 求微分方程的解
一、问题背景与实验目的
实际应用问题通过数学建模所归纳而得到的方程,绝大多数都是微分方程 ,
真正能得到代数方程的机会很少.另一方面,能够求解的微分方程也是十分有
限的,特别是高阶方程和偏微分方程(组).这就要求我们必须研究微分方程
(组)的解法,既要研究微分方程(组)的解析解法(精确解),更要研究微
分方程(组)的数值解法(近似解).
对微分方程(组)的解析解法(精确解),Matlab 有专门的函数可以用,本实
验将作一定的介绍.
本实验将主要研究微分方程(组)的数值解法(近似解),重点介绍 Euler 折
线法.
二、相关函数(命令)及简介
1.dsolve('equ1','equ2',…):Matlab 求微分方程的解析解.equ1、equ2、…为
方程(或条件).写方程(或条件)时用 Dy 表示 y 关于自变量的一阶导数,
用用 D2y 表示 y 关于自变量的二阶导数,依此类推.
2.simplify(s):对表达式 s 使用 maple 的化简规则进行化简.
例如:
syms x
simplify(sin(x)^2 + cos(x)^2)
ans=1
3.[r,how]=simple(s):由于 Matlab 提供了多种化简规则,simple 命令就是
对表达式 s 用各种规则进行化简,然后用 r 返回最简形式,how 返回形成这种
形式所用的规则.
例如:
syms x
[r,how]=simple(cos(x)^2-sin(x)^2)
r = cos(2*x)
how = combine
4.[T,Y] = solver(odefun,tspan,y0) 求微分方程的数值解.
说明:
(1) 其 中 的 solver 为 命 令
ode45、ode23、ode113、ode15s、ode23s、ode23t、ode23tb 之一.
(2) odefun 是显式常微分方程:
(3) 在积分区间 tspan= 上,从 到 ,用初始条件 求解.
(4) 要 获 得 问 题 在 其 他 指 定 时 间 点 上 的 解 , 则 令 tspan=
(要求是单调的).