protected int[] clusterIter(int iterNum) {
        Smatrix = getSimilarMatrix(oriDatas);
        int diffCount = 0;//中心点不变化的次数
        for (int i = 0; i < iterNum; i++) {
            int diffNum = 0;//在一次迭代中中心点变化的个数
//            System.out.println("正在进行第" + i + "次迭代");
            //注意，先更新R再更新A
            //TODO 更新时是否需要使用最新的数据，待斟酌
            double[][] rmatrix = calResponsibility(Smatrix, Amatrix);
            double[][] amatrix = calAvailability(Rmatrix);
            //收敛处理
            calDumping(lam, rmatrix, amatrix);
            Rmatrix = rmatrix;
            Amatrix = amatrix;
            int[] types = identifyCluster(Rmatrix, Amatrix);
            //检测簇类数是否有变化
            for (int j = 0; j < dNum; j++) {
                if (Tmatrix[j] != types[j]) {
                    diffNum++;
                }
            }
            Tmatrix = types;
            if (diffNum == 0) {
                diffCount++;
                if (diffCount > 5) {
                    break;
                }
            }
            System.out.println("第" + i + "次迭代完毕！");
        }
        return Tmatrix;
    }