想用少量数据从工程系统里找出简洁的动力学方程吗?这篇SINDy教程有完整代码和两个真实案例,比黑箱神经网络好理解得多。
SINDy(稀疏非线性动力学识别)通过对候选非线性项库进行稀疏回归,能从较小数据集中恢复可解释的控制方程,克服神经网络需大量训练数据且缺乏可解释性的局限。本教程分三部分:第一部分介绍标准SINDy算法及噪声鲁棒弱形式、集成、约束、参数化等扩展;第二部分以无人机系统识别为例;第三部分以混沌热虹吸热交换器为案例。论文旨在展示SINDy易于实现且足够灵活,适用于高级工程识别任务。
An Introduction to Sparse Identification of Nonlinear Dynamics for Engineering Applications
Many engineering problems involve phenomena whose governing equations are poorly characterized or only partially known. Surrogate modeling techniques such as neural networks can capture the behavior of these systems, but they typically demand large training datasets that are difficult to obtain in engineering contexts and yield models with limited physical interpretability. The Sparse Identification of Nonlinear Dynamics (SINDy) method addresses both limitations by performing sparse regression over libraries of candidate nonlinear terms, recovering interpretable governing equations from comparatively small datasets. Although SINDy has been demonstrated extensively on canonical benchmark systems, its application to practical engineering problems is less widely documented. This tutorial introduces the SINDy method and progressively builds toward its main extensions, from noise-robust weak-form and ensembling-based variants to constrained and parametrizable formulations. The paper and the accompanying tutorial (available at https://github.com/paullililili/SINDy4Engineers) is organized in three parts: the first introduces the standard SINDy algorithm and progressively extends it, inviting readers without prior knowledge to follow each step and adapt the methods to their own problems; the remaining two parts present detailed case studies on (1) the system identification of an unmanned aerial vehicle and (2) a chaotic thermosyphon heat exchanger. Through these examples, we aim to demonstrate that SINDy is simple to implement yet flexible enough to serve as a valuable identification tool for advanced engineering applications.