Ejemplo n.º 1
0
        public static Matriz operator ^(Matriz a, int potencia)
        {
            Matriz c = a;

            for (int i = 1; i <= potencia; i++)
            {
                c = c * a;
            }

            return(c);
        }
Ejemplo n.º 2
0
        public static Matriz operator *(Matriz a, Fraccion multiplicador)
        {
            Matriz c = new Matriz(a.Columnas, a.Renglones);

            for (int i = 1; i <= a.Renglones; i++)
            {
                for (int j = 1; j <= a.Columnas; j++)
                {
                    c[i, j] = (a[i, j] * multiplicador);
                }
            }

            return(c);
        }
Ejemplo n.º 3
0
        public static Matriz operator /(Matriz a, Fraccion divisor)
        {
            Matriz c = new Matriz(a.Columnas, a.Renglones);

            for (int i = 1; i <= a.Renglones; i++)
            {
                for (int j = 1; j <= a.Columnas; j++)
                {
                    c[i, j] = a[i, j] / divisor;
                }
            }

            return(c);
        }
Ejemplo n.º 4
0
        public static Matriz operator -(Matriz a, Matriz b)
        {
            Matriz c = new Matriz(a.Renglones, a.Columnas);

            for (int i = 1; i <= a.Renglones; i++)
            {
                for (int j = 1; j <= a.Columnas; j++)
                {
                    c[i, j] = (a[i, j] - b[i, j]);
                }
            }

            return(c);
        }
Ejemplo n.º 5
0
        public static Matriz operator ^(Matriz a, int potencia)
        {
            Matriz c = a;

            if (potencia == -1)
            {
                return(a.Adjunta / a.Determinante);
            }


            for (int i = 1; i <= potencia; i++)
            {
                c = c * a;
            }

            return(c);
        }
Ejemplo n.º 6
0
        public static Matriz operator *(Matriz a, Matriz b)
        {
            Matriz c = new Matriz(a.Renglones, b.Columnas);

            for (int i = 1; i <= a.Renglones; i++)
            {
                for (int j = 1; j <= b.Columnas; j++)
                {
                    Fraccion fraccion = new Fraccion();
                    for (int k = 1; k <= a.Columnas; k++)
                    {
                        var x = a[i, k] * b[k, j];
                        fraccion = fraccion + a[i, k] * b[k, j];
                    }

                    c[i, j] = fraccion;
                }
            }

            return(c);
        }
Ejemplo n.º 7
0
        public static void Main(string[] args)
        {
            Complejo a = new Complejo()
            {
                Real = 12.34f, Imaginario = -45.67f
            };
            Complejo b = new Complejo()
            {
                Real = 12.3f, Imaginario = -45.67f
            };

            if (!a.Equals(b))
            {
                Console.WriteLine("Son iguales");
            }


            Console.WriteLine((65.7f * (a * b) + (a - b) * b) * 5);

            Fraccion fraccion = new Fraccion {
                Numerador = 9750, Denominador = 4500
            };
            var x = fraccion.Simplificar();

            Matriz w = new Matriz(3, 3);

            w[1, 1] = new Fraccion {
                Numerador = 2, Denominador = 1
            };
            w[1, 2] = new Fraccion {
                Numerador = 4, Denominador = 1
            };
            w[1, 3] = new Fraccion {
                Numerador = 6, Denominador = 1
            };
            w[2, 1] = new Fraccion {
                Numerador = 4, Denominador = 1
            };
            w[2, 2] = new Fraccion {
                Numerador = 5, Denominador = 1
            };
            w[2, 3] = new Fraccion {
                Numerador = 6, Denominador = 1
            };
            w[3, 1] = new Fraccion {
                Numerador = 3, Denominador = 1
            };
            w[3, 2] = new Fraccion {
                Numerador = 1, Denominador = 1
            };
            w[3, 3] = new Fraccion {
                Numerador = -2, Denominador = 1
            };

            Matriz b2 = new Matriz(3, 1);

            b2[1, 1] = new Fraccion {
                Numerador = 18, Denominador = 1
            };
            b2[2, 1] = new Fraccion {
                Numerador = 24, Denominador = 1
            };
            b2[3, 1] = new Fraccion {
                Numerador = 4, Denominador = 1
            };


            Matriz y = new Matriz(3, 3);

            y[1, 1] = new Fraccion {
                Numerador = 80, Denominador = 100
            };
            y[1, 2] = new Fraccion {
                Numerador = 10, Denominador = 100
            };
            y[1, 3] = new Fraccion {
                Numerador = 10, Denominador = 100
            };
            y[2, 1] = new Fraccion {
                Numerador = 3, Denominador = 100
            };
            y[2, 2] = new Fraccion {
                Numerador = 95, Denominador = 100
            };
            y[2, 3] = new Fraccion {
                Numerador = 2, Denominador = 100
            };
            y[3, 1] = new Fraccion {
                Numerador = 20, Denominador = 100
            };
            y[3, 2] = new Fraccion {
                Numerador = 5, Denominador = 100
            };
            y[3, 3] = new Fraccion {
                Numerador = 75, Denominador = 100
            };

            Matriz z0 = new Matriz(1, 3);

            z0[1, 1] = new Fraccion {
                Numerador = 45, Denominador = 100
            };
            z0[1, 2] = new Fraccion {
                Numerador = 25, Denominador = 100
            };
            z0[1, 3] = new Fraccion {
                Numerador = 30, Denominador = 100
            };


            //Matriz z = (w * y).Transpuesta.Reducir(1,1);

            //Matriz t   = w.Transpuesta;
            //Matriz r   = t.Reducir(1, 1);
            //Matriz adj = w.Adjunta;
            Fraccion f       = w.Determinante;
            Matriz   inversa = (w ^ -1);
            //Matriz q = w ^ 5;

            Matriz resultante = inversa * b2;


            Console.WriteLine(w);
            //Console.WriteLine(t);
            //Console.WriteLine(r);
            //Console.WriteLine(adj);
            //Console.WriteLine(f);
            Console.WriteLine(inversa);
            Console.WriteLine(resultante);

            App.TipoDeSimplificacion = TipoDeSimplificacion.Decimal;


            for (int i = 0; i < 100; i++)
            {
                z0 = z0 * y;
                Console.WriteLine(z0);
            }

            App.TipoDeSimplificacion = TipoDeSimplificacion.Reduccion;



            //z = w ^ 5;
        }
Ejemplo n.º 8
0
        public static void Main(string[] args)
        {
            Complejo a = new Complejo()
            {
                Real = 12.34f, Imaginario = -45.67f
            };
            Complejo b = new Complejo()
            {
                Real = 12.3f, Imaginario = -45.67f
            };

            if (!a.Equals(b))
            {
                Console.WriteLine("Son iguales");
            }


            Console.WriteLine((65.7f * (a * b) + (a - b) * b) * 5);

            Fraccion fraccion = new Fraccion {
                Numerador = 9750, Denominador = 4500
            };
            var x = fraccion.Simplificar();

            Matriz w = new Matriz(3, 3);

            w[1, 1] = new Fraccion {
                Numerador = 1, Denominador = 1
            };
            w[1, 2] = new Fraccion {
                Numerador = 2, Denominador = 1
            };
            w[1, 3] = new Fraccion {
                Numerador = 3, Denominador = 1
            };
            w[2, 1] = new Fraccion {
                Numerador = 4, Denominador = 1
            };
            w[2, 2] = new Fraccion {
                Numerador = 5, Denominador = 1
            };
            w[2, 3] = new Fraccion {
                Numerador = 6, Denominador = 1
            };
            w[3, 1] = new Fraccion {
                Numerador = 7, Denominador = 1
            };
            w[3, 2] = new Fraccion {
                Numerador = 8, Denominador = 1
            };
            w[3, 3] = new Fraccion {
                Numerador = 9, Denominador = 1
            };


            Matriz y = new Matriz(3, 3);

            y[1, 1] = new Fraccion {
                Numerador = 1, Denominador = 1
            };
            y[1, 2] = new Fraccion {
                Numerador = 2, Denominador = 1
            };
            y[1, 3] = new Fraccion {
                Numerador = 3, Denominador = 1
            };
            y[2, 1] = new Fraccion {
                Numerador = 4, Denominador = 1
            };
            y[2, 2] = new Fraccion {
                Numerador = 5, Denominador = 1
            };
            y[2, 3] = new Fraccion {
                Numerador = 6, Denominador = 1
            };
            y[3, 1] = new Fraccion {
                Numerador = 7, Denominador = 1
            };
            y[3, 2] = new Fraccion {
                Numerador = 8, Denominador = 1
            };
            y[3, 3] = new Fraccion {
                Numerador = 9, Denominador = 1
            };

            Matriz z = w * y;

            Console.WriteLine(z);

            z = w ^ 5;
        }
Ejemplo n.º 9
0
        public static void Main(string[] args)
        {
            Complejo a = new Complejo()
            {
                Real = 12.34f, Imaginario = -45.67f
            };
            Complejo b = new Complejo()
            {
                Real = 12.3f, Imaginario = -45.67f
            };

            if (!a.Equals(b))
            {
                Console.WriteLine("Son iguales");
            }


            Console.WriteLine((65.7f * (a * b) + (a - b) * b) * 5);

            Fraccion fraccion = new Fraccion {
                Numerador = 9750, Denominador = 4500
            };
            var x = fraccion.Simplificar();

            Matriz w = new Matriz(3, 3);

            w[1, 1] = new Fraccion {
                Numerador = 1, Denominador = 1
            };
            w[1, 2] = new Fraccion {
                Numerador = 2, Denominador = 1
            };
            w[1, 3] = new Fraccion {
                Numerador = 3, Denominador = 1
            };
            w[2, 1] = new Fraccion {
                Numerador = 4, Denominador = 1
            };
            w[2, 2] = new Fraccion {
                Numerador = 5, Denominador = 1
            };
            w[2, 3] = new Fraccion {
                Numerador = 6, Denominador = 1
            };
            w[3, 1] = new Fraccion {
                Numerador = 7, Denominador = 1
            };
            w[3, 2] = new Fraccion {
                Numerador = 8, Denominador = 1
            };
            w[3, 3] = new Fraccion {
                Numerador = 9, Denominador = 1
            };


            Matriz y = new Matriz(3, 3);

            y[1, 1] = new Fraccion {
                Numerador = 1, Denominador = 1
            };
            y[1, 2] = new Fraccion {
                Numerador = 2, Denominador = 1
            };
            y[1, 3] = new Fraccion {
                Numerador = 3, Denominador = 1
            };
            y[2, 1] = new Fraccion {
                Numerador = 4, Denominador = 1
            };
            y[2, 2] = new Fraccion {
                Numerador = 5, Denominador = 1
            };
            y[2, 3] = new Fraccion {
                Numerador = 6, Denominador = 1
            };
            y[3, 1] = new Fraccion {
                Numerador = 7, Denominador = 1
            };
            y[3, 2] = new Fraccion {
                Numerador = 8, Denominador = 1
            };
            y[3, 3] = new Fraccion {
                Numerador = 9, Denominador = 1
            };

            Matriz z = (w * y).Transpuesta.Reducir(1, 1);

            Matriz   t   = w.Transpuesta;
            Matriz   r   = t.Reducir(1, 1);
            Matriz   adj = w.Adjunta;
            Fraccion f   = r.Determinante;

            Console.WriteLine(w);
            Console.WriteLine(t);
            Console.WriteLine(r);
            Console.WriteLine(adj);
            Console.WriteLine(f);


            //z = w ^ 5;
        }