How do I exclude anomalies from a plot in a data set?

6 visualizzazioni (ultimi 30 giorni)
I want to plot a data set and exclude anomalous points. Say I have some data, e.g.
x = [0.5 0.48 0.2 0.51 0.49 0.52]
y = [1 2 3 4 5 6]
and I want to do a linear fit to the data excluding the anomalous point (x = 0.2). I can currently get matlab to find anomalous points as follows:
plot(x,y,'.','color', CM(ij,:));
fitA = polyfit(x,y,1);
fdata = polyval(fitA,x);
I = abs(fdata - y) > 1.2*std(y);
outliers = excludedata(x,y,'indices',I);
but I then want to do another fit where I exclude the outlying points. I tried
fitB = polyfit(x,y,1,'Exclude',outliers);
but this gave the error:
Error using polyfit
Too many input arguments.
How can I do this second fit correctly?

Risposta accettata

madhan ravi
madhan ravi il 4 Gen 2019
Modificato: madhan ravi il 4 Gen 2019
perhaps:
fitB(~ismember(fitB,outliers))

Più risposte (0)

Categorie

Scopri di più su Get Started with Curve Fitting Toolbox in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by