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)

Categories

Find more on Data Import and Analysis 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!