写在前面

  这里是“MATLAB 力学”专栏,属于“力学”大类。它记录我用 MATLAB 把力学问题算出来的过程——重点在算法本身,而不是工具箱里哪个函数能调用。

  MATLAB 的长处是矩阵运算与数值分析,而这恰好是力学计算的内核:有限元、有限差分说到底都是在求解大规模线性或非线性方程组。可也正因为它封装得太好,很容易变成“调个函数拿到结果,却不知道中间发生了什么”。我在这个专栏里尽量避开这种写法——该自己写的循环、该自己组的矩阵,就一行一行写出来,这样才对得起“理解”两个字。

  目前收录的内容集中在三类数值方法。一类是求解梁挠度的材料力学应用题,从控制方程出发离散求解,再和解析解对照;一类是用中前(后)差分法求解波动方程,看差分格式的稳定性与精度怎么影响结果;还有一类是交通流的元胞自动机模型(NaSch 模型),用最朴素的规则去复现拥堵的形成与消散——这套建模思路很有意思,规则简单到近乎幼稚,但能涌现出真实的交通现象。

  之后会继续收录这类“从方程到代码”的完整推导。如果某段代码你看着跳跃,那是我省略了中间的推导——欢迎来信指出(联系方式见“关于作者”)。