动态系统的时候,数据一多就头大?CMDS这个基于 MATLAB 的框架,真的蛮适合你这种想省事儿又追求严谨的开发者。
动态数据的上下文管理,做得比较顺。你可以方便地管理数值数组、符号表达式这些杂七杂八的数据,还能自由切换坐标系,比如原点变化、新基底什么的——基本不用你自己手动推。
哈密顿量、运动方程的自动推导也挺省心,像你要一个多自由度系统,它能帮你直接给出动力学表达,自己写的话怕是得调半天。
我觉得比较实用的一点是,它还支持动量和速度坐标之间的转换,有时候这个细节挺容易忽视,但做建模和控制时影响蛮大的。
有个比较好理解的例子放在examples/harmonic_oscillator/run_me.m
,新手上手可以直接跑一下,有感知。
如果你在搞坐标转换或者做哈密顿系统建模,可以顺手看下下面这些链接:
如果你之前就用 MATLAB 搞动态系统建模,那这个框架值得你试试看。尤其是那种涉及多坐标变换和系统动力学的项目,用它还能省下不少体力。