MATLAB: Circle fitting to set of 2D data contain noise data

.

Let's say: I want to fit the circle through the set of data points (17 point with x & y coordinate- Please see attachment test1.txt file).
I use the code provided by Nikolai Chernov:
And, I get the good result as follow:
Now, I assume that I add 1 more "noise point" to the old data to make a new data as follow:
My question: How can i fit the circle through all new data points? It is obviously hope that the new fitting circle is same as old fitting circle (not consider the noise points)?

Best Answer

How do you know it's a noise point? I mean if that point was moved over so that it was still really far away but on the circle, it wouldn't be a noise point, or would it?
I suggest you try rmoutliers() to remove outliers from your x and y data.
If that doesn't work, then you can just do the fit and find the residuals and throw out any point with a huge residual.