How to set different threshold's for each data?
Show older comments
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
Answers (1)
Image Analyst
on 13 Sep 2022
0 votes
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 Comments
Surabhi A S
on 14 Sep 2022
Edited: Surabhi A S
on 14 Sep 2022
Image Analyst
on 14 Sep 2022
None of the Acceleration signal you showed in the Acceleration vs. Time picture show a value of 43, so how did you arrive at the 43 for the threshold?
Surabhi A S
on 14 Sep 2022
Image Analyst
on 14 Sep 2022
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?
Categories
Find more on Red 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!