数学实验-常微分方程1/9实验六常微分方程的Matlab解法一、实验目的1.了解常微分方程的解析解
2.了解常微分方程的数值解
3.学习掌握MATLAB软件有关的命令
二、实验内容一根长l的无弹性细线,一段固定,另一端悬挂一个质量为m的小球,在重力的作用下小球处于垂直的平衡位置
若使小球偏离平衡位置一个角度,让它自由,它就会沿圆弧摆动
在不考虑空气阻力的情况下,小球会做一定周期的简谐运动
利用牛顿第二定律得到如下的微分方程0)0(',)0(,sin"0mgml问该微分方程是线性的还是非线性的
是否存在解析解
如果不存在解析解,能否求出其近似解
三、实验准备MATLAB中主要用dsolve求符号解析解,ode45,ode23,ode15s求数值解
s=dsolve(‘方程1’,‘方程2’,⋯,’初始条件1’,’初始条件2’⋯,’自变量’)用字符串方程表示,自变量缺省值为t
导数用D表示,2阶导数用D2表示,以此类推
S返回解析解
在方程组情形,s为一个符号结构
[tout,yout]=ode45(‘yprime’,[t0,tf],y0)采用变步长四阶Runge-Kutta法和五阶Runge-Kutta-Felhberg法求数值解,yprime是用以表示f(t,y)的M文件名,t0表示自变量的初始值,tf表示自变量的终值,y0表示初始向量值
输出向量tout表示节点(t0,t1,⋯,tn)T,输出矩阵yout表示数值解,每一列对应y的一个分量
若无输出参数,则自动作出图形
ode45是最常用的求解微分方程数值解的命令,对于刚性方程组不宜采用
ode23与ode45类似,只是精度低一些
ode12s用来求解刚性方程组,是用格式同ode45
可以用helpdsolve,helpode45查阅有关这些命令的详细信息
四、实验方法与步骤练习1求下列微分方程的解析解(1)bay