storing points using a threshold critera

1 view (last 30 days)
i have data of time vs concentration. i want to first find the point that crosses a threshold (concentration) of 15, then find the next point which goes below the threshold. then i want to store all of the points between the first point and second point into a vector in the workspace p(1), p(2) p(3) ... i want to create a loop such that it repeats finding the first and last points from time =0 to time = end. attached is a picture the points in yellow are the data that exceeds the threshold

Answers (1)

Image Analyst
Image Analyst on 20 Aug 2014
Edited: Image Analyst on 20 Aug 2014
OK. Seems easy enough. What did you try? Did you try
indexesAboveThreshold = find(signal > 15);
signalElementsAboveThreshold = signal(indexesAboveThreshold);
??? Do you actually have a question?
If you don't care about what the indexes are you can do it in a single line:
signalElementsAboveThreshold = signal(signal > 15);
Did you try that? What happened when you did?
  2 Comments
shobhit mehrotra
shobhit mehrotra on 20 Aug 2014
my question is how do i create a program that would take the first point above the threshold then find the next point that dips below the threshold. then take all of the points in between and store it as a vector
Image Analyst
Image Analyst on 20 Aug 2014
OK - you need to know how to create programs. There's a faq answer for that: http://www.mathworks.com/matlabcentral/answers/8026-best-way-s-to-master-matlab
By the way, it seems I already did the program for you, vectorized, with a for loop. Good luck in learning MATLAB! If you write an alternate program and need help, come back here.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!