The MathWorks receives many questions relating to Simulink state ordering, state initialization, and Simulink solver performance. Many times customers are not aware of existing capabilities that are available and will solve their current issues.
There are 3 MATLAB central submissions (all separate downloads!) that have been used with multiple customers to show current capabilities.
Example 1 : Explores how Simulink defines its states and what you can do once you know that definition.
Example 2 : Explores using the Simulink Debugger to extract information
from a simulink diagram or simulation run.
Example 3 : Explores how to leverage the 'Structure with Time' Simulink data format to alleviate ordering and index issues on inputs/outputs/states.
This script file will show the following:
1) Leverage the Simulink Debugger to interrogate information on simulation execution in a batched manner (usually done interactively).
2) Use Simulink Debugger to specifically access failed step information when using variable step solvers, specifically identifying the limiting state causing the failure.
3) Parse Debugger information to replace with Simulink's state definition or user defined state definition.