How do I smooth out a surface distribution plot?

Looks like my data has some outliers that should be removed.
Instead of doing that manually, is there a way I can let Matlab do it? Thanks!
In case you need, below is the code to plot the map:
[X, Y] = meshgrid(linspace(min(lon),max(lon),100),linspace(min(lat),max(lat),100));
Z = griddata (lon, lat, V, X, Y);
[C1, h1] = contourf (X, Y, Z, [0:0.1:4], 'LineStyle', 'none' );

 Réponse acceptée

Bruno Pop-Stefanov
Bruno Pop-Stefanov le 10 Oct 2014

1 vote

There is no off-the-shelf functionality in MATLAB that allows you to detect outliers in data. Techniques exist but it is still an active field of research.
You'll find a couple of File Exchange submission to remove outliers from data. For example:
Otherwise, you could maybe try to filter your data with a smoothing filter. Take a look at the filter function:
This will reduce the magnitude of peaks in your data.

1 commentaire

Leon
Leon le 11 Oct 2014
Thank you very much for the answer! This is helpful.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Contour Plots dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by