Extract certain values in .mat file

3 views (last 30 days)
Sleiman Ghorayeb
Sleiman Ghorayeb on 24 Apr 2024
Edited: VBBV on 24 Apr 2024
Hi,
I have a mat file with 1250x1 data and I want to extract specific values from the 1250. For example I want to extract every 2nd or every 5th values.
As an example, the mat file contains the following values:
-0.13793 -0.114746 -0.204773 -0.224304 -0.181274 -0.192566 -0.159912 -0.174866 -0.134888 -0.148926
For every 2nd I want to read: -0.114746 -0.224304 -0.192566 -0.174866 -0.148926
For every 5th I want to read: -0.181274 -0.148926
What is the best command to do this? Thank you.
  1 Comment
VBBV
VBBV on 24 Apr 2024
@Sleiman Ghorayeb To extract you need to first load the mat file into workspace and access the data variable

Sign in to comment.

Answers (1)

VBBV
VBBV on 24 Apr 2024
data= [-0.13793 -0.114746 -0.204773 -0.224304 -0.181274 -0.192566 -0.159912 -0.174866 -0.134888 -0.148926]
data = 1x10
-0.1379 -0.1147 -0.2048 -0.2243 -0.1813 -0.1926 -0.1599 -0.1749 -0.1349 -0.1489
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
data(2:2:end)
ans = 1x5
-0.1147 -0.2243 -0.1926 -0.1749 -0.1489
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
data(5:5:end)
ans = 1x2
-0.1813 -0.1489
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
  2 Comments
Sleiman Ghorayeb
Sleiman Ghorayeb on 24 Apr 2024
Thank you for your response. Very helpful.
However, I read the original data file by using the "load" command.
Can I do this:
data=[hb]; %hb is the array containing all 1250 data points
data(2:2:end);
or
data(5:5:end);
VBBV
VBBV on 24 Apr 2024
Edited: VBBV on 24 Apr 2024
@Sleiman Ghorayeb yes, you can if the datatype of hb is not a structure. It its a structure, then you need to use . (dot) operator to access data from structure. can you attach data file ?

Sign in to comment.

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!