File Exchange

image thumbnail

Quick & easy smoothing

version 1.2.0.0 (7.51 KB) by Damien Garcia
Z = SMOOTH1Q(Y) smoothes data Y using a DCT- or FFT-based spline smoothing method

5 Downloads

Updated 27 Feb 2014

View License

Z = SMOOTH1Q(Y,S) smoothes the data Y using a DCT- or FFT-based spline smoothing method. Non finite data (NaN or Inf) are treated as missing values.

S is the smoothing parameter. It must be a real positive scalar. The larger S is, the smoother the output will be. If S is empty (i.e. S = []), it is automatically determined by minimizing the generalized cross-validation (GCV) score.

Z = SMOOTH1Q(...,'robust') carries out a robust smoothing that minimizes the influence of outlying data.

Z = SMOOTH1Q(...,'periodic') assumes that the data to be smoothed must be periodic.

[Z,S] = SMOOTH1Q(...) also returns the calculated value for the smoothness parameter S so that you can fine-tune the smoothing subsequently if required.

SMOOTH1Q is a simplified and quick version of SMOOTHN for 1-D data. If you want to smooth N-D arrays use SMOOTHN.

References
----------
1) Garcia D, Robust smoothing of gridded data in one and higher dimensions with missing values. Computational Statistics & Data Analysis, 2010.
2) Buckley MJ, Fast computation of a discretized thin-plate smoothing spline for image data. Biometrika, 1994.

Comments and Ratings (3)

% 1) SMOOTH1Q works with regularly spaced data only. Use SMOOTH1 for non
% regularly spaced data.

How can I find the function "SMOOTH1"?

robber john

Very simple and effective method to smooth over high frequency noise in my geological topographic transect data.

Updates

1.2.0.0

Changes in the "bisquare" subfunction

1.1.0.0

New syntax

MATLAB Release Compatibility
Created with R2010b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired by: smoothn