How to set the Simulink runtime and time steps from the workspace

24 visualizaciones (últimos 30 días)
I'm trying to perform sensitivity analysis on a model I developed in Simulink.
I establish all the constants in an m-file and use a for loop to call the Simulink model to run. Upon completion of each run, the results (time and variables) are stored in an array. I'm using the ode45 solver and the variable time step option.
The problem is that for each Simulink run the time-steps, and therefore the number of data points, are different. This presents a dimension mismatch in the array I'm saving all the values to.
An easy fix would be to chose a fixed-step option. However, when I do this, I run into a singularity issue with a few of my integrations.
Is there a way to use the time output from my initial Simulink run as the basis for all other subsequent runs? That would mean, saving the time output from the initial run in the workspace and then feeding it back to Simulink.
Alternatively, is there a way to set my time so that the data collected from Simulink model (even though it is running at variable time-step) matches the time steps I choose? For example, if I set my time from t = 0:1:50, I'll get 51 data points corresponding to those time steps.

Respuesta aceptada

Arnaud Miege
Arnaud Miege el 2 de Jun. de 2011
I would advise you to set the output options (Simulation -> Configuration parameters, Data import/export tab) to "produce specified output only". That allows you to have data logged with a fixed time step even though you are still using a variable-step solver.
HTH,
Arnaud
  2 comentarios
Robson Ferreira de Arruda
Robson Ferreira de Arruda el 11 de Oct. de 2019
Sorry but it don't work .
The interval that you need to avoid is not erased .
Can you help with another way to do this ?
Thanks !

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by