How can i find two certain points of data set?

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

 Risposta accettata

Try this:
threshold = initialForce + 100;
firstIndex = find(chB > threshold, 1, 'first');
lastIndex = find(chB > threshold, 1, 'last');
firstTime = timeMsT(firstIndex);
lastTime = timeMsT(lastIndex);

1 Commento

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

Accedi per commentare.

Più risposte (0)

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by