How can i find two certain points of data set?

1 回表示 (過去 30 日間)
Georg Gamauf
Georg Gamauf 2016 年 6 月 10 日
コメント済み: Georg Gamauf 2016 年 6 月 10 日
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

採用された回答

Image Analyst
Image Analyst 2016 年 6 月 10 日
Try this:
threshold = initialForce + 100;
firstIndex = find(chB > threshold, 1, 'first');
lastIndex = find(chB > threshold, 1, 'last');
firstTime = timeMsT(firstIndex);
lastTime = timeMsT(lastIndex);
  1 件のコメント
Georg Gamauf
Georg Gamauf 2016 年 6 月 10 日
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

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by