Find max values within a defined range for each column and rows of a matrix

1 view (last 30 days)
Hi!
I have a 20x305471 matrix, representing 20 variables in a time series sampled at 28.28 Hz. I have also have a time vector (1x305471) = [0, 0.0354, …. And up to 10800];
I want to extract maximum values using different time ranges. E.g. I want to find the maximum values from 0 to 40 min, 40 to 120min.. up to 160 to 180min.
Any help is very appreciated! Thanks

Accepted Answer

dpb
dpb on 15 Nov 2021
Turn into a timetable and use retime
  5 Comments
Askeladden2
Askeladden2 on 17 Nov 2021
I need to convert them back into an array because I am using the values for creating probability distributions and etc.
dpb
dpb on 17 Nov 2021
Edited: dpb on 17 Nov 2021
Just reference the desired variables directly from the table/timetable -- no need to create separate, duplicates as arrays.
See the section on the table data class on how to reference into a table for the myriad of available addressing syntaxes. To return just a variable, the "dot" notation is painless and efficient...
ttMyTT=table2timetable(readtable('myfile.ext'));
plot(ttMyTT.time,ttMyTT.VarX)
No auxiliary arrays in sight/needed...use your own variable names in the data file, of course.

Sign in to comment.

More Answers (0)

Categories

Find more on Tables in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!