How can i find two certain points of data set?

1 view (last 30 days)
Hello!
I want to find to certain points of a plot. The plot is attached:
The x-axis shows the time, that is the variable timeMsT; the y-axis shows the force, that is saved in the variable chB and i plotted it with:
plot(timeMsT,chB);
I need to find the rising and the falling value of the peak. I already calculated the "initial force": 1194.3592 mV. My "treshold" is about 100mV above the initial force - so ~1300 mV. I need the left and the right value of time (ms), where the force crosses this treshold value - obviously it will be about 40 and 70 ms - to calculate the duration of the impact. I already tried to use the "find"-function, but until now it didn't work.
It would be very thankful for a few ideas. :-)
Kind regards, Georg

Accepted Answer

Image Analyst
Image Analyst on 10 Jun 2016
Try this:
threshold = initialForce + 100;
firstIndex = find(chB > threshold, 1, 'first');
lastIndex = find(chB > threshold, 1, 'last');
firstTime = timeMsT(firstIndex);
lastTime = timeMsT(lastIndex);
  1 Comment
Georg Gamauf
Georg Gamauf on 10 Jun 2016
That seems to work perfectly, thank you. :-)
Can you explain to me how these two lines work:
firstIndex = find(chB > threshold, 1, 'first');
lastIndex = find(chB > threshold, 1, 'last');
Kind regards,
Georg

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!