Extracting data from simout MATLAB work space

71 Ansichten (letzte 30 Tage)
R Hebi
R Hebi am 20 Dez. 2019
Beantwortet: Chaman Dewangan am 26 Jun. 2021
Hi
I want to extract data based on the time
I have a sumilink Model which will generated the following data table
This will run between 0 min to 500 mins
I want to preform a specific calculation for the data that occur between 0 to 80 min

Akzeptierte Antwort

Jim Riggs
Jim Riggs am 20 Dez. 2019
Bearbeitet: Jim Riggs am 20 Dez. 2019
simout is a timeseries structure.
I like to extract separate vectors from the structure, for example:
t = timout.time(simout.time < 80);
This will give you the time vector for all times less than 80.
You can get the associated data for this time vector with:
col1 = simout.data(simout.time<80,1); % get column 1 from data where time < 80
col2 = simout.data(simout.time<80,2); % get column 2 from data where time < 80
(if your time is scaled in seconds, then obviously you want time < 80*60 seconds)

Weitere Antworten (1)

Chaman Dewangan
Chaman Dewangan am 26 Jun. 2021
to workspace block is used to send data from Simulink to workspace. In this block parameters, there is an option save format. (Array, structure with time, and time series).
I am simulating in R2019 a. I get a variable out. I have named the block as simout.
For array format, out.simout is the signal value and out.tout is the time signal.
For structure with time format, out.simout.signals.values is the signal value and out.simout.time is the time signal.
For time series format, out.simout.Data(:,1); is the signal value of 1st column and out.simout.time is the time signal. Similarly, We can do for second column out.simout.Data(:,2).

Kategorien

Mehr zu Simulink finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by