public void CalcG(Matriz mat, int posMed, int tam) { double gx = 0; Matriz x_med = Restar(C1, 0, 636); Matriz covC1 = new Matriz(13, 13); Matriz covC2 = new Matriz(13, 13); Matriz covC3 = new Matriz(13, 13); Matriz covC4 = new Matriz(13, 13); Matriz covC5 = new Matriz(13, 13); Matriz covC6 = new Matriz(13, 13); Matriz covC7 = new Matriz(13, 13); covC1.DatoMatriz(VariC1); covC2.DatoMatriz(VariC2); covC3.DatoMatriz(VariC3); covC4.DatoMatriz(VariC4); covC5.DatoMatriz(VariC5); covC6.DatoMatriz(VariC6); covC7.DatoMatriz(VariC7); Matriz auxx; auxx = x_med * covC1.Inversa(covC1); auxx = auxx * x_med.Transpuesta(x_med); int mult = (int)auxx.matriz[0, 0]; gx = -(0.5) * mult - ((7 / 2) * Math.Log(2 * 3.141592)) - (0.5 * Math.Log(covC1.determinante(covC1))); }
public void MatrizClases() { int clase = 0; int ctC1 = 0; int ctC2 = 0; int ctC3 = 0; int ctC4 = 0; int ctC5 = 0; int ctC6 = 0; int ctC7 = 0; for (int f = 0; f < 3891; f++) { clase = Convert.ToInt32(plano[f, 13]); switch (clase) { case 1: for (int c = 0; c < 13; c++) { aC1[ctC1, c] = plano[f, c]; } ctC1++; break; case 2: for (int c = 0; c < 13; c++) { aC2[ctC2, c] = plano[f, c]; } ctC2++; break; case 3: for (int c = 0; c < 13; c++) { aC3[ctC3, c] = plano[f, c]; } ctC3++; break; case 4: for (int c = 0; c < 13; c++) { aC4[ctC4, c] = plano[f, c]; } ctC4++; break; case 5: for (int c = 0; c < 13; c++) { aC5[ctC5, c] = plano[f, c]; } ctC5++; break; case 6: for (int c = 0; c < 13; c++) { aC6[ctC6, c] = plano[f, c]; } ctC6++; break; case 7: for (int c = 0; c < 13; c++) { aC7[ctC7, c] = plano[f, c]; } ctC7++; break; default: break; } } C1.DatoMatriz(aC1); C2.DatoMatriz(aC2); C3.DatoMatriz(aC3); C4.DatoMatriz(aC4); C5.DatoMatriz(aC5); C6.DatoMatriz(aC6); C7.DatoMatriz(aC7); }/*