How does "smoothdata" function using "gaussian" method define the standard deviation for different window size?
37 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have a row vector of data and want to smooth it using "smoothdata" as shown below:
>> g = [0.27 -0.13 0.3 -0.1 -0.12 -0.01 -0.21 -0.13 -0.11 -0.05 -0.26 0.04];
>> g_smooth = smoothdata(g, 'gaussian', 5)
g_smooth =
0.1330 0.0861 0.0728 -0.0039 -0.0703 -0.0971 -0.1313 -0.1338 -0.1139 -0.1154 -0.1196 -0.0715
I would like to know how "smoothdata" with "gaussian" method defines standard deviation for different window size. And also how "smoothdata" fills the data before the 1st data points and after the last data points when calculating the "gaussian-weighted average" for the 1st and last data points.
0 Commenti
Risposta accettata
Chris Turnes
il 25 Giu 2018
Modificato: Chris Turnes
il 25 Giu 2018
The standard deviation of the Gaussian for smoothdata is fixed to be 1/5th of the total window width, so there is a direct linear scaling of the standard deviation with respect to the window width. There is currently no option to change this scaling, so the Gaussian shape is "fixed" (that is, you can think of increasing the window length as just increasing the sampling rate of the underlying filter).
It's also important to note that the Gaussian filter that is used is normalized so that it sums to 1.
With regards to how the endpoints are handled, they are treated the same way as NaN values are treated; namely, if a window has fewer valid points (either because it has reached the end or because there are NaN values being omitted) than specified by the window size, the window will be re-scaled so that the contributing coefficients sum to 1. This gives smoother behavior of the output at the endpoints and when there is missing data.
0 Commenti
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!