How to outline a curve
11 views (last 30 days)
Show older comments
Hello.
If I'm trying to plot variables x and y, and the y values vary so much that the curve looks like the following: http://i.stack.imgur.com/4uiNT.png
The only difference is that mine is a single curve of data with a lot of noise. Is there a way I could just plot the upper and the lower curves so I could just look at the boundaries? Do I have to use the findpeak command?
Thank you for your time!
2 Comments
Accepted Answer
Mohammad Abouali
on 12 Oct 2014
Edited: Mohammad Abouali
on 12 Oct 2014
3 Comments
Mohammad Abouali
on 12 Oct 2014
Edited: Mohammad Abouali
on 12 Oct 2014
There is no two sets of data. In this graph there is only 1 set, i.e. the blue line. Once you run the HANTS algorithm you have three options, Lo (which gives you the red line) Hi (which gives you the black line), or none which gives you the green line.
You might need to play a bit with the sampling and frequency numbers to get a proper fit.
This function is generally for smoothing the data set and also removing outliers. Of course it gives the main frequency in your data set and you can use it for harmonic analysis.
More Answers (1)
John D'Errico
on 12 Oct 2014
I suppose you could use my SLM tools . It has an option to fit an envelope curve, so you could first fit the infimum curve, then the supremum curve to get lower and upper bounds from a pair of calls.
You might want other options in the total prescription, but a start might be...
LBcurve = slmengine(x,y,'envelope','inf');
UBcurve = slmengine(x,y,'envelope','sup');
See Also
Categories
Find more on Interpolation 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!