实验四 求微分方程的解一、问题背景与实验目的实际应用问题通过数学建模所归纳而得到的方程,绝大多数都是微分方程,真正能得到代数方程的机会很少.另一方面, 能够求解的微分方程也是十分有限的,特别是高阶方程和偏微分方程(组) .这就要求我们必须研究微分方程(组)的解法,既要研究微分方程 (组)的解析解法(精确解),更要研究微分方程 (组)的数值解法(近似解) .对微分方程(组)的解析解法(精确解 ),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 是显式常微分方程:00)(),(ytyytfdtdy(3) 在积分区间tspan=],[ 0ftt上,从0t 到ft ,用初始条件0y 求解.(4) 要 获 得 问 题 在 其 他 指 定 时 间 点,210,,ttt上 的 解 , 则 令tspan= ],,,[,210ftttt(要求是单调的).(5) 因为没有一种算法可以有效地解决所有的ODE 问题,为此, Matlab 提供了多种求解器Solver,对于不同的 ODE 问题,采用不同的Solver.求解器Solver ODE 类型特点说明ode45 非刚性单步算法; 4、5 阶 Runge-Kutta方程;累计截断误差达3)( x大部分场合的首选算法ode23 非刚性单步算法; 2、3 阶 Runge-Kutta方程;累计截断误差达3)( x使用于精度较低的情形ode113 非刚性多步法; Adams 算法;高低精度均可到6310~10计算时间比ode45 短ode23t 适度刚性采用梯形算法适度刚性情形ode15s 刚性多步法;...