Samples to Export for Variable-Step Solvers - MATLAB & Simulink (original) (raw)
Output Options
Use the Output options list under > > to control how much output the simulation generates when your model uses a variable-step solver.
Refine output
(default)Produce additional output
Produce specified output only
Refine Output
The Refine output
option provides additional output points when the simulation output does not include as many points as you would like. This parameter provides an integer number of output points between time steps. For example, a refine factor of 2 provides output midway between the time steps and at the steps. The default refine factor is 1.
Suppose that a sample simulation generates output at these times:
Choosing Refine output
and specifying a refine factor of 2 generates output at these times:
0, 1.25, 2.5, 3.75, 5, 6.75, 8.5, 9.25, 10
To get smoother output more efficiently, change the refine factor instead of reducing the step size. When you change the refine factor, the solver generates additional points by evaluating a continuous extension formula at sample points. This option changes the simulation step size so that time steps coincide with the times that you specify for additional output.
The refine factor applies to variable-step solvers and is most useful when you are usingode45
. The ode45
solver can take large steps. However, when you graph simulation output, the output from this solver sometimes is not sufficiently smooth. In such cases, run the simulation again with a larger refine factor. A value of such as 4 for ode45
can provide much smoother results.
Note
This option helps the solver locate zero crossings, although it does not ensure that SimulinkĀ® detects all zero crossings (see Zero-Crossing Detection).
Produce Additional Output
Use the Produce additional output
option to specify directly those additional times at which the solver generates output. When you select this option, theData Import/Export pane displays an Output times configuration parameter. In this parameter, enter a MATLABĀ® expression that evaluates to an additional time or a vector of additional times. The solver produces hit times at the output times that you specify, in addition to the times it requires for accurate simulation.
Suppose that a sample simulation generates output at these times:
Choosing the Produce additional output
option and specifying[0:10]
generates output at these times:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
and perhaps at additional times, depending on the step size chosen by the variable-step solver.
Tips
- This option helps the solver locate zero crossings, although it does not ensure that Simulink detects all zero crossings (see Zero-Crossing Detection).
- Set the Output times configuration parameter to a value other than the default empty matrix (
[]
). - For triggered subsystems and function-call subsystems, the calling function must inherit the sampling rate.
Produce Specified Output Only
Simulink generates output at the start and stop times, in addition to the times that you specify.
Suppose that a sample simulation generates output at these times:
Choosing the Produce specified output only
option and specifying [1:9]
generates output at these times:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
This option changes the simulation step size so that time steps coincide with the times that you specify for producing output. The solver can hit other time steps to accurately simulate the model. However, the output does not include these points. This option is useful when you are comparing different simulations to check that the simulations produce output at the same times.
Tips
- This option helps the solver locate zero crossings, although it does not ensure that Simulink detects all zero crossings (see Zero-Crossing Detection).
- Set the Output times configuration parameter to a value other than the default empty matrix (
[]
). - In normal, accelerator, and rapid accelerator modes, Simulink generates output at the start and stop times, as well as at the times that you specify.
- When you simulate a model in normal mode, triggered subsystems and function-call subsystems use:
- The times that you specify
- All the time steps in between the values that you specify
- The simulation start and stop times
- For triggered subsystems and function-call subsystems, the calling function must inherit the sampling rate.