数值计算project——ODE求解器
一、介绍
这篇文章介绍一个ODE solver的实现思路,可用于一阶线性系统的求解。
- 首先,找到一组ODE方程,可以从网上找算例,或者从comsol等软件中导出。
- 其次,用matlab来求解,看计算结果。
- 最后,自己实现一个ODE solver,并将结果与matlab的结果进行对比。
二、ODE方程
如何获得一组ODE系统方程?
方法1:
在comsol中建模,尝试导出原始系数矩阵,发现需要借助matlab,还可能涉及矩阵组装。用的matlab函数有mphmatrix(获取模型系统矩阵)。
具体可以参考COMSOL安装目录的doc文件夹下的案例D:\COMSOL\COMSOL60\Multiphysics\doc\pdf\LiveLink_for_MATLAB。
方法2:
从头开始,通过有限元方法,获得一个系统矩阵,详见我的另一篇blog: A First course in FEM —— matlab代码实现求解传热问题(瞬态)。
三、求解ODE方程
也可以对ODE的系数矩阵做模型降阶,然后求解。
新型的一些方法如指数积分方法,可以参考我的另一篇blog:指数积分方法(Exponential Integration)求解ODE/DAE问题