Finding minimum within a set of rows below a certain point?
3 views (last 30 days)
Show older comments
I have a matrix X which has a different participant's data (Z) for each row across 10 time points (t) as the columns, I need to find the minimum amount of time and maximum amount of time where Z reaches 2 across the participants.
0 Comments
Answers (2)
CAM
on 5 Apr 2023
I suggest using the find command (with Z>=2) with row & column as outputs. Find the min and max column values and their associated row (subject). Using these row-column pairs, you can get the times.
Duncan Carlsmith
on 5 Apr 2023
Edited: Duncan Carlsmith
on 5 Apr 2023
% Make fake data, rows of random monotonically increasing values.
X=cumsum(rand(10),2)
% Make logical array for values satisfying the condition.
Y=X>2;
% Find the transition points
Z=diff(Y,1,2);
% Get the indices of the transition points.
[row,col]=find(Z==1);
%List the times of transitions.
[B,I]=sort(row);
Times=col(I)'
0 Comments
See Also
Categories
Find more on Historical Contests in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!