Extracting data from simout MATLAB work space

66 ビュー (過去 30 日間)
R Hebi
R Hebi 2019 年 12 月 20 日
回答済み: Chaman Dewangan 2021 年 6 月 26 日
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

採用された回答

Jim Riggs
Jim Riggs 2019 年 12 月 20 日
編集済み: Jim Riggs 2019 年 12 月 20 日
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)

その他の回答 (1 件)

Chaman Dewangan
Chaman Dewangan 2021 年 6 月 26 日
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).

カテゴリ

Help Center および File ExchangeSimulink についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by