Matlab之微分方程求解

1、根据数学理论常系数线性微分方程可以求解解析解

要想求解析解可以用dsolve()函数


如果有初始值,则可以在dsolve函数参数funm后边添加初始值参数!


2、其他微分方程可以求解数值解

一般求数值解可以利用ode45(),

[Tout,Yout]=ode45(fun,[t0,tfinal],x0,option);

注释:对于Tout,Yout分别是返回的时间向量和对应的数值解。

       fun是对应的微分方程要表示成标准形式(fun函数的描述有三种形式:m文件,匿名函数,inline形式(不建议使用));

      [t0,tfinal]是时间跨度;

      x0代表微分方程的初始值;

      option是可选选项,他可以用option.RelTol=1e-10(它默认是1e-3)控制误差精度;

3、如果是刚性微分方程:

  什么是刚性微分方程:一个量变化很小另一个变化却很大 。

 刚性微分方程可以用ode15s()这个函数,具体用法跟ode45利用方法一致。