This repository contains Matlab code to reproduce the results of the paper:
Ensemble-SINDy: Robust sparse model discovery in the low-data, high-noise limit, with active learning and control
Urban Fasel, J. Nathan Kutz, Bingni W. Brunton, Steven L. Brunton.
https://arxiv.org/pdf/2111.10992.pdf
SINDy/main_runEnsembleSINDy_heatmap.m
- compare different ensemble SINDy methods in terms of model error (error of SINDy coefficients) and success rate (rate of identifying the correct non-zero and zero terms in the library) over a range of noise levels and data length
- plot heatmap
SINDy/main_runEnsembleSINDy_UQ.m
- for one particular noise level and data length, run Enesmble-SINDy and get plots of:
- SINDy coefficient uncertainties and inclusion probabilities
- ensemble dynamics reconstruction and forecast
- SINDy coefficient uncertainties and inclusion probabilities
- ensemble dynamics reconstruction
Here, we use the weak formulation code from Messenger and Bortz as a baseline.
PDE-FIND/main_weakEnsemblePDE.m
- run comparison (model error and success rate) between weak PDE-FIND and weak-ensemble PDE-FIND to identify five different PDEs from very noisy data
PDE-FIND/main_get_FiguresTable.m
- plot figures shown in table below
PDE-FIND/main_weakEnsemblePDE_success09.m
- compare noise levels for different PDEs where weak PDE-FIND and weak-ensemble PDE-FIND success rate drops below 0.90.
Active_and_control/Active/main_activePlot1and2.m
- plots active E-SINDy left and center figure
Active_and_control/Active/main_activePlot3.m
- plots active E-SINDy right figure
Active_and_control/MPC/main_MPC.m
- compare SINDy with E-SINDy for model predictive control