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 Particle & Nuclear Physics 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!