none
Hola alguien sabe como hacer el metodo de eliminacion de gauss jordan en c#, se los agradecería RRS feed

Respuestas

  • Hola Alexis

    Puede ser que lo que no sepas es como acceder a un número en particular de la matriz?

    Si tenes una matriz 

    double[,] matriz_coef = new double[3, 4];  // por ejemplo

    double a = matriz_coef[0, 0];   // asigna a a el elemento 1ra fila 1ra columna

    matriz_coef[2, 3] = 5.6789;     // asigna 5.6789 a la 3ra fila 4ta columna

    Ahora que ya sabes como se accede a cada elemento podes hacer los cálculos que haya que hacer.

    Nota: Si intentas acceder a una ubicación que no está en la matriz te arrojará una IndexOutOfRangeException. 

    Saludos

    Pablo


    viernes, 27 de marzo de 2020 20:56

Todas las respuestas

  • Hola Alexis

    Esto que preguntas no es de programación ni tiene nada que ver con las tecnologías de Microsoft, pero bien supusiste que alguien aquí podría saberlo.

    Te pongo un ejemplo de un sistema de ecuaciones de 3 x 3 para ilustrar el método de eliminación.

    3x + 4y - 2z = 7;

    2x - 5y + 4z = 12;

    -x + 2y - 6z = 9;

    Vamos a eliminar la primera incógnita, y nos quedará un sistema de 2 x 2, que es fácilmente resolvible. 

    Cómo? Por ejemplo, tomamos los 2 1ros coeficientes de x, y buscamos su MCM (mínimo común múltiplo). Entonces multiplicamos la primera ecuación por 2, y la segunda por 3, y le restamos lo que da la segunda a la primera.

    3x + 4y - 2z = 7;      * 2 = 6x + 8y - 4z = 14;  

    2x - 5y + 4z = 12;    * 3 = 6x - 10y + 8z = 24

    y al restar nos queda 

    0x + 18y - 12z = -10

    Ahora, hace lo mismo con la segunda y la tercera y te quedará otra ecuación con sólo 2 incógnitas, y con esta que ya tenes, fácilmente despejas x, y, y luego z.

    No es necesario pensarlo ni verlo como matriz, si lo que necesitas es resolver sistemas de ecuaciones.

    Saludos

    Pablo

    martes, 24 de marzo de 2020 14:47
  • Ahh ... en C# ... no me di cuenta de ese detalle! ... Qué interesante ejercicio en C#! ... mucho más complicado que resolver un sistema ... 
    martes, 24 de marzo de 2020 14:52
  • hola

    >>es par un trabajo de la U

    Recuerda que el objetivo del foro es ayudar, no realizar la tarea

    Que has intentado? que tipo de desarrollo esperas conseguir? digo sera una aplicacion de consola, o tendra una interfaz grafica

    demuestra que algo has probado y continuamos ayudandote a partir de alli

    Analizando la teoria

    Eliminación de Gauss-Jordan

    entiendo vas a necesitar trabajar con matrices, sabes como usarlas en c# ?

    Matrices multidimensionales (Guía de programación de C#)

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 24 de marzo de 2020 20:15
  • Hola Alexis 1913 Martinez

     

    ¿Alguna actualización sobre la consulta realizada? ¿Alguna de las respuestas proporcionadas te ayudó?

     

    Espero tu respuesta.

     

    Gracias por usar los foros de MSDN.

     

     

    Luis Diego Mora

     

    --------------------------------------------------------------------------

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    jueves, 26 de marzo de 2020 16:49
    Moderador
  • Hola, este método se usa en álgebra lineal y me lo pusieron a hacer en C#.
    viernes, 27 de marzo de 2020 0:07
  • Yo se q no es hacer la tarea, pero no he podido realizar el ejercicio por eso busqué ayuda. Se como declarar y llenar la matriz pero no se hacer la operación de gauss jordan. Se puede en consola o por windows form
    viernes, 27 de marzo de 2020 0:12
  • Gracias, entiendo, llevo muy poco acá en este foro. No ninguna respuesta me ayudó.
    viernes, 27 de marzo de 2020 0:14
  • JAJAJA es verdad
    viernes, 27 de marzo de 2020 0:14
  • >>Se como declarar y llenar la matriz pero no se hacer la operación de gauss jordan.

    Pero el problema es de programacion o de matemeticas ?
    Tiene algun ejemplo matematico donde hayas aplicado los paso de gauss y llegado su resolucion, porque si entiendo esos mismos pasos son los que debes programar

    Leiste el link del wiki? porque alli veras la explicacion de como pone los valores en una matriz y va aplicando las operaciones que deberias reproducir en codigo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 27 de marzo de 2020 0:18
  • (entiendo como se hace, pero no se como hacer en C#).

    Adjunto Parte del código, me falta lo mas importante, si alguien sabe se lo agradecería:

    class MetodoGaussJ
        {
            private double[,] Matriz_Coef;
            private double resultado;
            private int num;

            public void inicializar()
            {
                Console.WriteLine("Ingrese el numero de variables: ");
                num = int.Parse(Console.ReadLine());
                Matriz_Coef = new double[num, num + 1]; // matriz ampliada
                for (int i = 0; i < num; i++)
                {
                    Console.WriteLine();
                    for (int j = 0; j < num; j++)
                    {
                        Console.Write("Ingrese el coeficiente #'{0}' de la ecuación '{1}': ", j + 1, i + 1);
                        Matriz_Coef[i, j] = double.Parse(Console.ReadLine());
                        


                    }
                 

                    Console.Write("Ingrese el termino independiente de la ecuación '{0}': ", i + 1);

                    

                    Matriz_Coef[i, num] = double.Parse(Console.ReadLine());
                }
                Console.WriteLine();
            }

    public void MetodoGaussJordan()

    {} // No se como hacer la operacion gauss jordan

    viernes, 27 de marzo de 2020 0:22
  • Hola, gracias por responder. No, no es ningún problema. Yo se hacer Gauss Jordan, entiendo como es el proceso para hallar las incógnitas. Esto es lo que debo de llevar a  programación, pero no se hacerlo. 

    Adjunto Parte del código, me falta lo mas importante, hacer gauss jordan jaja:

    class MetodoGaussJ
        {
            private double[,] Matriz_Coef;
            private double resultado;
            private int num;

            public void inicializar()
            {
                Console.WriteLine("Ingrese el numero de variables: ");
                num = int.Parse(Console.ReadLine());
                Matriz_Coef = new double[num, num + 1]; // matriz ampliada
                for (int i = 0; i < num; i++)
                {
                    Console.WriteLine();
                    for (int j = 0; j < num; j++)
                    {
                        Console.Write("Ingrese el coeficiente #'{0}' de la ecuación '{1}': ", j + 1, i + 1);
                        Matriz_Coef[i, j] = double.Parse(Console.ReadLine());
                        


                    }
                 

                    Console.Write("Ingrese el termino independiente de la ecuación '{0}': ", i + 1);

                    

                    Matriz_Coef[i, num] = double.Parse(Console.ReadLine());
                }
                Console.WriteLine();
            }

    public void MetodoGaussJordan()

    {} // No se como hacer la operacion gauss jordan

    viernes, 27 de marzo de 2020 0:30
  • Porque creas una nueva pregunta si ya tienes una sobre este tema

    Hola alguien sabe como hacer el metodo de eliminacion de gauss jordan en c#, se los agradecería


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 27 de marzo de 2020 15:08
  • hola

    Quizas si analizas algo como esto

    Eliminación de Gauss-Jordan en C#

    Tambien podrias ver el capitulo 8 del libro

    Numerical Methods, Algorithms and Tools in C#

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 27 de marzo de 2020 15:32
  • Hola Alexis

    Puede ser que lo que no sepas es como acceder a un número en particular de la matriz?

    Si tenes una matriz 

    double[,] matriz_coef = new double[3, 4];  // por ejemplo

    double a = matriz_coef[0, 0];   // asigna a a el elemento 1ra fila 1ra columna

    matriz_coef[2, 3] = 5.6789;     // asigna 5.6789 a la 3ra fila 4ta columna

    Ahora que ya sabes como se accede a cada elemento podes hacer los cálculos que haya que hacer.

    Nota: Si intentas acceder a una ubicación que no está en la matriz te arrojará una IndexOutOfRangeException. 

    Saludos

    Pablo


    viernes, 27 de marzo de 2020 20:56
  • Gracias
    sábado, 28 de marzo de 2020 1:11
  • y que tiene?
    sábado, 28 de marzo de 2020 1:13
  • Fijate bien que yo no fui el que te dijo que por qué creas otra pregunta igual, yo fui el que te dio una respuesta (o sea somos 2 personas distintas, lee los nombres, yo soy Tigre Pablito (o Pablo)), te digo porque pareciera que leiste rápido y te confundiste, o sea, primero marcas como respuesta y decis "Gracias", luego desmarcas como respuesta y decis "Y qué tiene?" ... pareciera que te confundiste y creiste, digo quizás porque no puedo adivinar, que el que te dio la respuesta y el que te dijo que por qué creaste otra vez la misma pregunta fuimos la misma persona ...

    De hecho, no me afecta mucho tener 15 puntos más o 15 puntos menos, en efecto lo que me gratifica por lo general es enterarme que ayudé a una persona, pero tampoco quisiera que por leer rápido te quedes enojado conmigo, ... me explico?

    Saludos

    Pablo (nick name: "Tigre Pablito")

    sábado, 28 de marzo de 2020 1:41