public double[] RealizarLaOperacionMatematica(double[,] matriz1) { double[] matrizDiagonal; var laValidacion = new Validaciones.ValidacionesDeLasMatrices(); if (laValidacion.LaMatrizEstaVacia(matriz1)) { throw new ArgumentNullException("La matriz no contiene ningún elemento"); } else if ((matriz1.GetUpperBound(0) / matriz1.GetUpperBound(1)) == 1) { matrizDiagonal = new double[matriz1.GetLength(0)]; //Tamaño de filas for (int i = 0; i < matriz1.GetLength(0); i++) { matrizDiagonal[i] = matriz1[i, i]; } } else { throw new ArgumentException("La matriz debe de tener la misma cantidad de filas y columnas"); } return(matrizDiagonal); }
public double[,] RealizarLaOperacionMatematica(double[,] matriz1, double[,] matriz2) { double[,] matrizTotalSuma; var laValidacion = new Validaciones.ValidacionesDeLasMatrices(); if (laValidacion.LaMatrizEstaVacia(matriz1)) { throw new ArgumentNullException("La primera matriz no contiene ningún elemento"); } else if (laValidacion.LaMatrizEstaVacia(matriz2)) { throw new ArgumentNullException("La segunda matriz no contiene ningún elemento"); } else if (laValidacion.dosMatricesConIgualCantidadFilasYColumnas(matriz1, matriz2)) { matrizTotalSuma = new double[matriz1.GetLength(0), matriz1.GetLength(1)]; //Ejecucion de la suma entre matriz 1 y matriz1 for (int i = 0; i < matrizTotalSuma.GetLength(0); i++) { for (int j = 0; j < matrizTotalSuma.GetLength(1); j++) { matrizTotalSuma[i, j] = matriz1[i, j] + matriz2[i, j]; } } } else { throw new ArgumentOutOfRangeException("Ambas matrices deben tener la misma cantidad de filas y columnas."); } return(matrizTotalSuma); }
public bool RealizarLaOperacionMatematica(double[,] matriz1) { var laValidacion = new Validaciones.ValidacionesDeLasMatrices(); if (laValidacion.LaMatrizEstaVacia(matriz1)) { throw new ArgumentNullException("La matriz no contiene ningún elemento"); } else if ((matriz1.GetUpperBound(0) / matriz1.GetUpperBound(1)) == 1) { for (int i = 1; i < matriz1.GetLength(0); i++) { for (int j = 0; j < i; j++) { if (matriz1[i, j] != 0) { return(false); } } } } else { throw new ArgumentException("La matriz debe de tener la misma cantidad de filas y columnas"); } return(true); }
public bool RealizarLaOperacionMatematica(double[,] matriz1) { int sum = 0; //variable que sumara todos los elementos var laValidacion = new Validaciones.ValidacionesDeLasMatrices(); if (laValidacion.LaMatrizEstaVacia(matriz1)) { throw new ArgumentNullException("La matriz no contiene ningún elemento"); } else { for (int i = 0; i < matriz1.GetLength(0); i++) { //Tamaño de filas for (int j = 0; j < matriz1.GetLength(1); j++) { //Tamaño de columnas sum += Convert.ToInt32(matriz1[i, j]); } } if (sum == 0) { return(true); } else { return(false); } } }
public double[,] RealizarLaOperacionMatematica(double[,] matriz1, double[,] matriz2) { double totalMultiplicacion, totalSuma; double[,] matrizTotalMultiplicacion; var laValidacion = new Validaciones.ValidacionesDeLasMatrices(); if (laValidacion.LaMatrizEstaVacia(matriz1)) { throw new ArgumentNullException("La primera matriz no contiene ningún elemento"); } else if (laValidacion.LaMatrizEstaVacia(matriz2)) { throw new ArgumentNullException("La segunda matriz no contiene ningún elemento"); } else if (laValidacion.columnasDePrimeraMatrizIgualAFilasDeSegundaMatriz(matriz1, matriz2)) { totalSuma = 0; totalMultiplicacion = 0; matrizTotalMultiplicacion = new double[matriz1.GetLength(0), matriz2.GetLength(1)]; //Ejecucion de la multiplicacion entre matriz 1 y matriz 2 for (int i = 0; i < matriz2.GetLength(1); i++) { for (int j = 0; j < matriz1.GetLength(0); j++) { for (int c = 0; c < matriz1.GetLength(1); c++) { totalMultiplicacion = matriz1[j, c] * matriz2[c, i]; Convert.ToInt32(totalMultiplicacion); totalSuma += totalMultiplicacion; } matrizTotalMultiplicacion[j, i] = totalSuma; totalMultiplicacion = 0; totalSuma = 0; } } } else { throw new InvalidOperationException("La cantidad de columnas de la primera matriz debe ser igual a la cantidad de filas de la segunda matriz."); } return(matrizTotalMultiplicacion); }
public bool RealizarLaOperacionMatematica(double[,] matriz1) { bool resultado = false; double[,] matrizTranspuesta; var laValidacion = new Validaciones.ValidacionesDeLasMatrices(); if (laValidacion.LaMatrizEstaVacia(matriz1)) { throw new ArgumentNullException("La matriz no contiene ningún elemento"); } else if ((matriz1.GetUpperBound(0) / matriz1.GetUpperBound(1)) == 1) { Especificaciones.HagaLaTranspuesta laEspecificacion = new Especificaciones.HagaLaTranspuesta(); matrizTranspuesta = laEspecificacion.RealizarLaOperacionMatematica(matriz1); for (int i = 0; i < matriz1.GetLength(0); i++) { for (int j = 0; j < matriz1.GetLength(1); j++) { if (matrizTranspuesta[j, i] == matriz1[i, j]) { resultado = true; } else { resultado = false; return(resultado); } } } } else { throw new ArgumentException("La matriz debe de tener la misma cantidad de filas y columnas"); } return(resultado); }
public double[,] RealizarLaOperacionMatematica(double[,] matriz1) { double[,] matrizTranspuesta; var laValidacion = new Validaciones.ValidacionesDeLasMatrices(); if (laValidacion.LaMatrizEstaVacia(matriz1)) { throw new ArgumentNullException("La matriz no tiene ningún elemento"); } else { matrizTranspuesta = new double[matriz1.GetLength(1), matriz1.GetLength(0)]; for (int i = 0; i < matriz1.GetLength(0); i++) { for (int j = 0; j < matriz1.GetLength(1); j++) { matrizTranspuesta[j, i] = matriz1[i, j]; } } } return(matrizTranspuesta); }