How to set different threshold's for each data?

6 次查看(过去 30 天)
I am plotting a graph of acceleration(y axis) Vs time(x axis) for 1000 points(secs). I want that particular point at which value is greater than threshold. But if its for single data I can use this code :
firstIndex = find(Acceleration > 43 ,1, 'first');
AccelerationAtThresh = Acceleration(firstIndex);
timeAtThresh = time(firstIndex);
I have many data's and for each data there is different threshold to be set.
Say,for the 1st data (which I have attached) it should show 43
How can I proceed?
Can this be used in real time information gathering as well?
I have attached the flow chart for reference

回答(1 个)

Image Analyst
Image Analyst 2022-9-13
First I'd ask why you need a different threshold for each one. Is there drift in your measurement that can possibly be avoided, thus allowing you to use a fixed threshold, which is usually preferable?
Otherwise you'll need an automatic thresholding algorithm. You didn't post the plots (why not?) and I didn't bother to download the spreadsheet and write a MATLAB program to plot all your curves, so I don't know what to suggest (make it easy for us to help you, not hard). Perhaps findchangepts or my attached triangle threshold might work.
  4 个评论
Image Analyst
Image Analyst 2022-9-14
OK, but what is there in that fairly noisy signal that tells you 43 should be the time chosen to be a threshold?
And what do you want to do with that time threshold? Extract data after that? Extract data before that?

请先登录,再进行评论。

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by