Esempio n. 1
0
 void analizeToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         string[] arrG, arrGU;
         int[][]  arrArrI;
         int      N, N1;
         Quality.SetID(matrY, arrYMin, arrYMax, out arrG, out arrGU, out arrArrI, out N, out N1);
         int[]    arrIS, arrFreq;
         string[] arrGS;
         int[][]  arrArrIS;
         Quality.Sort(arrGU, arrArrI, out arrIS, out arrFreq, out arrGS, out arrArrIS);
         string[] arrGC;
         double[] arrP, arrP1, arrPM;
         int[]    arrGFreq;
         double   H;
         Quality.Clustering(arrGS, arrArrIS, N, N1, out arrGC, out arrGFreq, out arrP, out arrP1, out arrPM, out H);
         arrRep[9] = string.Format("Общее количество экземпляров: {0}<br>" +
                                   "Количество качественных экземпляров: {1}<br>" +
                                   "Количество бракованных экземпляров: {2}<br>", N, N - N1, N1) +
                     Quality.PieChart("Соотношение качественных и бракованных экземпляров", "pc1",
                                      new double[] { N - N1, N1 }, new string[] { "Качественные", "Брак" });
         arrRep[10] = Quality.GTable(arrGU, arrArrI);
         double[] arrF   = new double[arrYName.Length];
         string[] arrStr = new string[arrYName.Length];
         for (int i = 0; i < arrYName.Length; i++)
         {
             arrF[i]   = arrFreq[i];
             arrStr[i] = arrYName[arrIS[i]];
         }
         arrRep[11] = Quality.ITable(arrIS, arrYName, arrFreq) + "<br>" +
                      Quality.PieChart("Частота недостижения показателей качества",
                                       "pc2", arrF, arrStr);
         arrRep[12] = Quality.GTable(arrGS, arrArrIS);
         arrF       = new double[arrGS.Length];
         for (int i = 0; i < arrGS.Length; i++)
         {
             arrF[i] = arrArrIS[i].Length;
         }
         arrRep[13] = Quality.PieChart("Диаграмма состояния качества продукции", "pc3", arrF, arrGS);
         arrRep[14] = Quality.PTable(arrGC, arrGFreq, arrP, arrP1, arrPM);
         arrRep[15] = Quality.ID2dTable(arrGC, arrP) + "<br>" +
                      Quality.PieChart("Распределение дефектов", "pc4", arrP, arrGC);
         arrRep[16] = Quality.ID2dTable(arrGC, arrP1);
         arrRep[17] = Quality.ID2dTable(arrGC, arrPM) + "<br>" +
                      Quality.PieChart("Распределение дефектов\n(при условии независимости показателей качества)",
                                       "pc5", arrPM, arrGC);
         arrRep[18] = string.Format("H = {0:F3}", H);
     }
     catch
     {
         MessageBox.Show("Ошибка анализа");
     }
 }