public static float[][] getSecondCenter(float[][] X, int min, int max) {
		int i = max - min + 1;
		float tempX[][] = new float[i][X[0].length];
		float tempY[][] = new float[i][X[0].length];
		// float temp = 0;
		for (int t = 0; t < i; t++) {
			for (int k = 0; k < X.length; k++) {
				// decide whether the point belong to a cluster
				if ((min + t) == X[k][0]) {
					tempX[t][0] = min + t;
					for (int j = 1; j < X[0].length; j++) {
						tempX[t][j] = X[k][j] + tempX[t][j];
						tempY[t][j] = tempY[t][j] + 1;
					}
				}
			}
		}
		// calculate virtual centroid in a cluster
		for (int k = 0; k < tempX.length; k++) {
			for (int j = 1; j < tempX[0].length; j++) {
				tempX[k][j] = tempX[k][j] / (tempY[k][j]);
			}
		}
		return tempX;
	}