public void CaculateNextCenter() { var tempPoint = new PointModel() { X = new double[Samples[0].X.Count()], }; foreach (var i in Samples) { tempPoint.AddPoint(i); } double x = 1 / (double)Samples.Count; tempPoint.Multiply(x); EndFlag = tempPoint.IsEqual(CenterPoint); CenterPoint = tempPoint; }
/*获取两点间的欧式距离*/ public double GetDistance(PointModel y) { return(Math.Sqrt(GetDistanceSquare(y))); }
public double GetDistanceSquareToCenter(PointModel p) { return(CenterPoint.GetDistanceSquare(p)); }