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

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?

 채택된 답변

madhan ravi
madhan ravi 2019년 1월 4일
편집: madhan ravi 2019년 1월 4일
perhaps:
fitB(~ismember(fitB,outliers))

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Get Started with Curve Fitting Toolbox에 대해 자세히 알아보기

태그

질문:

JJH
2019년 1월 4일

편집:

2019년 1월 4일

Community Treasure Hunt

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

Start Hunting!

Translated by