Plot envelope of a grassy plot
Ältere Kommentare anzeigen
Hi all, I have a graph which looks very grassy. What I want is the following (see picture). I have a grassy graphy (blue line), but I want the envelope which clearly shows the peaks of the graph (red line - this line is drawn in paint). A group of peaks may added to 1 group of peak. I have tried the following in matlab, without success: - smooth; - basic tool of curve fitting; - Hilbert transform; - polyfit; - Toolbox Ezyfit; butterworth function.
The problem is that I either get too many peaks, or the envelope does not really fit.

Any suggestions how to deal with this? Thanks in advance!
Antworten (3)
Chad Greene
am 11 Jun. 2016
0 Stimmen
Do you have the Signal Processing toolbox? If so, the envelope function makes is pretty easy to use.
1 Kommentar
André
am 11 Jun. 2016
Image Analyst
am 11 Jun. 2016
0 Stimmen
Another option is sgolayfilt(). They all give different looks and it just depends on what "look" you're looking for.
Image Analyst
am 11 Jun. 2016
0 Stimmen
Maybe you can use findpeaks(). There are lots of options for specifying which peaks you want to detect and which you want to ignore. Then, once you've found the peaks, use linspace() to draw lines in between the peaks to fill out the array so that you have a value at every index.
6 Kommentare
André
am 12 Jun. 2016
Image Analyst
am 12 Jun. 2016
Bearbeitet: Image Analyst
am 13 Jun. 2016
We can't really help you unless you supply your X and x and y values and code.
André
am 13 Jun. 2016
Image Analyst
am 13 Jun. 2016
Please supply the code you used that generated the error and I'll try it tomorrow.
André
am 13 Jun. 2016
André
am 14 Jun. 2016
Kategorien
Mehr zu Descriptive Statistics finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!