domingo, 4 de octubre de 2020

Aplicación del álgebra matricial para la solución de sistemas de ecuaciones lineales

Esta unidad trata de la resolución de sistemas de ecuaciones lineales. Coloquialmente diremos que una ecuación lineal, es aquella en la que sus incógnitas están elevadas a la potencia "1" o "0". Generalmente nos encontramos con situaciones en las que intervienen sistemas de ecuaciones con dos incógnitas, máximo tres, y estos sistemas los podemos resolver por los métodos de sustitución, reducción, igualación y gráfico; encontramos a demas que estos sistemas pueden resolverse por medio de matrices con el método de Cramer. La implementación de estos métodos es relativamente sencilla, pero, ¿que pasa cuando nuestras incógnitas son cuatro o mas?. Ahí nos encontramos con un problema mas enredado y esto con cualquiera de los métodos que hemos nombrado seria un tema laberíntico.
Para los casos en que hay mas de tres incógnitas hay un método que se llama la eliminación gaussiana o método de Gauss. Este lo que propone es que expresemos matricialmente el sistema de ecuaciones, la pregunta es: ¿y como lo haría? Antes de responder esta pregunta es bueno que desglosemos cada uno de los componentes de un sistema de ecuaciones lineal.
  • Una ecuación puede decirse que es una igualdad en la que intervienen incógnitas.
           X+Y=2
  • Incógnita, son aquellos valores desconocidos de la ecuación y que generalmente se expresan con letras, en el caso de la ecuación anterior son X y Y.
  • El termino independiente en el ejemplo de la ecuación es el 2, es decir, el que no esta multiplicando a ninguna incógnita.
  • Coeficiente es la parte real que acompaña a nuestras incógnitas.
Se le dice sistema porque son varias ecuaciones que lo conforman:
X+Y+Z=1
Z+W=0
X+2Y-W=1
X-W=1
Este sistema que acabamos de exponer, es de cuatro incógnitas (X ,Y, Z, W); vemos ademas que los sistemas que trabajamos en esta unidad son reales, es decir, que todos los componentes del sistema pertenecen al conjunto de los números reales.  
Habíamos dicho al principio de esta entrada que el sistema es lineal porque todos los exponentes de las incógnitas son "1", vale aclarar que cuando nos encontremos con un producto de incógnitas en la ecuación, esta ya no será  lineal, sino que será de un grado mayor y no podríamos tratarlo en esta unidad.
XY+Z=2, esta ecuación ya no sería lineal, porque hay un producto de las variables (incógnitas). 

Cuando nos enfrentamos a la resolución de sistemas de ecuaciones lineales, nos podemos encontrar con tres casos en la solución:
Observemos el sistema de ecuaciones de cuatro incógnitas, que antes hemos colocado de ejemplo, vamos a ponerlo de manera matricial y lo resolveremos con el método de Gauss y veremos que tipo de solución tiene.

La manera de colocar el sistema en matriz, es poniendo los coeficientes de las incógnitas en cada una de las entradas de la matriz y los términos independientes, quedaran al lado derecho de la matriz ampliando el sistema. Para representar el sistema en la matriz debemos tener en cuanta que en las ecuaciones en que no aparecen algunas incógnitas, quiere decir que el coeficiente de ellas es cero.

 

Luego de hacer la eliminación gaussiana, nuestra matriz queda de esta manera: 

Vamos a reescribir nuestro sistema:

X + Y + Z         =  1    (1)
       Y  - Z -  W =  0    (2)
              Z + W =  0    (3)
                      0 =   0

En este caso nuestro sistema tiene infinitas soluciones, vemos que en la ultima fila hay una igualdad que es congruente (0 = 0), si hubiésemos tenido un absurdo del tipo 0 = 1, diríamos que el sistema no tiene solución. Y si para cada incógnita hubiera un valor, diríamos que tiene única solución y su solución serían esos valores. 
Terminemos pues nuestro sistema y veamos cual sería la solución final. Primero que todo, nuestro sistema está definido en el conjunto de los números reales, vemos que nunca nos restringen ninguna incógnita, por lo tanto la solución será en todos los números  reales. 
Es importante tener en cuánta que el rango de nuestra matriz es de 3, a pesar de que es una matriz de cuatro filas, lo que quiere decir es que una fila es combinación lineal de las otras tres, en este caso la cuarta fila es combinación lineal de las otras tres filas. Sin mas dilación resolvamos el sistema:

Z + W = 0, entonces Z = -W. Reemplazamos Z en (2) y tenemos que: Y + W - W = 0,
entonces Y = 0  . Reemplazamos lo que tenemos en (1) y nos queda que: X - W = 1, entonces 
X = 1+ W.
La solución de nuestro sistema es:  
X = 1 + W;     Y = 0;   Z = -W   y W = W, con W perteneciente a los números reales. Observemos que la solución depende de los valores que le demos a W, y como pertenece a los reales y los reales son infinitos, por eso decimos que sus soluciones son infinitas. Este sistema podría restringirse dándole valores a W en un intervalo, este caso podría ser llevado a la vida real, donde dijéramos que que W es un tiempo, por lo tanto no podría tomar valores negativos, porque el tiempo nunca será negativo, de todas maneras las soluciones serán infinitas. 

Para resolver sistemas de ecuaciones con determinantes (regla de Cramer), solo es posible hasta sistemas de 3x3, por lo tanto el método se queda corto para asumir el resto de casos en que los sistemas son mas grandes. No obstante dejaremos expuesto el método.



Ahora nos haremos estas preguntas:
a. ¿Cual de los métodos es el más indicado para resolver un sistema de cuatro ecuaciones con cuatro incógnitas y por qué?
El método mas apropiado es el de Gauss-Jordán, porque  facilita la solución, ya que nos entrega los valores de las incógnitas directamente.
b. ¿Que ventaja tiene resolver un sistema de ecuaciones dos por dos con el método de determinantes?
Considero que como es un sistema pequeño, es una buena manera de resolverlo porque nos arroja de manera rápida y directa el valor de las incógnitas.
c. Enumere al menos tres métodos para calcular un determinante.
Teorema de Laplace, Regla de Sarrus y Formula de Leibniz.




¿Qué conceptos identifica el alumno con respecto al álgebra matricial y sus aplicaciones?

 


sábado, 3 de octubre de 2020

Identificando clases en una aplicación en C#

 ¿Qué son las clases y cual es la relación con la herencia?

La clase es un plano a partir del cual el objeto es construido. Indicamos que atributos y como funcionan los métodos que tendrá el objeto. Muchos objetos pueden ser construidos a partir de la misma clase. También podemos pensar en la clase como un tipo de datos de alto nivel o definido por el programador. 

La relación que hay entre las Clases y la Herencia es intima, de hecho la Herencia se fundamenta en las Clases, se le llama Herencia a los atributos y métodos que una Clase hereda de otra Clase. Es posible crear nuevas Clases abstrayendo los atributos y métodos de otras. 

Hay Superclases, que son las que contienen todos los atributos y comportamientos que son comunes a las clases que descienden de ella. También son llamadas clase base o clase padre.

Las subclases, son una extensión de la superclase, toma la superclase y adiciona lo propio. También son llamadas clase derivada o clase hija.

¿Qué ejemplos puede mostrar sobre clases en C#?

public class Person

{

    // Field

    public string name;

    // Constructor

    public Person()

    {

        name = "unknown";

    }


    // Method

    public void SetName(string newName)

    {

        name = newName;

    }

}

class TestPerson

{

    static void Main()

    {

        Person person1 = new Person();

        System.Console.WriteLine(person1.name);


        person1.SetName("John Smith");

        System.Console.WriteLine(person1.name);

    }

}

¿Qué son los métodos de una clase?

Son también conocidos como métodos estáticos y Los métodos de clase al igual que las variables de clase, se aplican a la clase como un todo y no a sus instancias. Se utiliza de igual manera la palabra clave static para indicar que un método es un método de clase. Los métodos de clase podría decirse que son genéricos. Los métodos de instancia están relacionados con un objeto en particular, mientras que los métodos estáticos o de clase (también denominados métodos compartidos), están asociados a una clase en particular.

¿Qué diferencia encuentra entre un método, una función y un procedimiento?

Función: En el ámbito de la programación, una función es un tipo de subalgoritmo, es el término para describir una secuencia de órdenes que hacen una tarea específica de una aplicación más grande. Devuelve valores al código invocante. Es necesario utilizar "return" para la salida de datos. 

Método:  El método Main es el punto de entrada para cada aplicación de C#. Los métodos especifican nivel a de acceso, su nombre, el valor devuelto y sus parámetros (estos se incluyen con paréntesis). Puede operar como función o procedimiento con la diferencia que pertenece a una clase.

Procedimiento: Fragmento de código (subprograma) que realiza una tarea específica y es relativamente independiente del resto del código. Ejecuta código sin devolver algún valor.   Suelen utilizarse para reducir la duplicación de códigos en un programa.