public static Matriz operator ^(Matriz a, int potencia) { Matriz c = a; for (int i = 1; i <= potencia; i++) { c = c * a; } return(c); }
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); }
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); }
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); }
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); }
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); }
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; }
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; }
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; }