Chop vectors in between a specific time range?

2 vues (au cours des 30 derniers jours)
Gautham Jayakumar
Gautham Jayakumar le 8 Août 2012
I run a simulation in Matlab/Simulink for 10 seconds and the output data is stored in the workspace.
But I need to save data between 5 to 10 seconds to the workspace.
How is this possible ?

Réponse acceptée

K E
K E le 20 Août 2012
Modifié(e) : K E le 20 Août 2012
I think you are running a Simulink model and outputting values for your entire 10-second simulation using the To Workspace block. In Matlab, you can then extract the data collected between 5-10 seconds from your saved value as follows. Let us say you rename your time variable timeSimulation and your dependant variable temperature.
temperatureExtracted = temperature(timeSimuation >= 5 & timeSimulation <= 10) ;
If this is not what you want to do, please provide more specifics as Jan suggested.

Plus de réponses (2)

Jan
Jan le 19 Août 2012
Omit the first interval before 5.
Currently the lack of details in the question does not allow a more precise suggestion.

Gautham Jayakumar
Gautham Jayakumar le 21 Août 2012
Modifié(e) : Gautham Jayakumar le 21 Août 2012
Hi KE
Thank you for the help. It works fine, anyways for others references in the future i will leave more details about my exact case.
I run a simulink model which outputs Torque with variable name Te. Simulation time is 1 second. a fault occurs at 0.30 second. Hence i need to collect the torque between 0.30 seconds to 1 second.
using KE's code: I get Te as output from the simulation, and chop the vectors between 0.30 to 1 second and save it under the name Te1.
timesimulation = 1;
ftime = 0.30;
Te1 = Te(timesimulation >= ftime & timesimulation <= 1) ;

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by