INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA INGENIERÍA ELÉCTRICA INGENIERÍA ELÉCTRICA COMPUTACIÓN APLICADA A SISTEMAS ELECTRICOS PRACTICA 1 SUMA DE MATRICES CON NÚMEROS COMPLEJOS. GRUPO: EQUIPO: 9EV2 -- NOMBRE DE LOS INTEGRANTES Estrada Ortega Erick Daniel Frias Osorio Luis Emiliano Ramírez Rodríguez Adán Stephan NO. BOLETA 2015302186 2014070476 CALIFICACIÓN: PROFESORES TITULAR: UREÑA OLIVARES RAIBEL FECHA DE ENTREGA: 10 / 11 /2020 ÍNDICE 1. INTRODUCCIÓN ...................................................................................................... 1 1.1 Objetivo ................................................................................................................... 1 1.2 Alcance .................................................................................................................... 1 1.3. Resumen de capítulos .............................................................................................. 1 2. DESARROLLO .......................................................................................................... 1 2.1 Historia de las matrices ............................................................................................ 1 2.2 Definición especifica de matriz................................................................................. 2 2.3 Suma de matrices ..................................................................................................... 3 2.4 Ejemplo general ....................................................................................................... 6 3. DESARROLLO DEL PROGRAMA ........................................................................... 7 3.1, Diagrama de flujo .................................................................................................... 7 3.2. Listado del programa ............................................................................................... 8 3.3. Corrida de ejemplo, en pantalla .exe ...................................................................... 10 4. CONCLUSIONES .................................................................................................... 12 5. REFERENCIAS. ...................................................................................................... 13 Anexo .............................................................................................................................. 14 1. INTRODUCCIÓN 1.1 Objetivo Realizar un programa el cual calcule la suma de matices con números reales y/o entradas complejas utilizando algún lenguaje de programación. 1.2 Alcance En el presente trabajo, desarrollaremos el tema de matrices, en específico la suma de matrices, en realidad el objetivo principal de dicho trabajo es mostrar el código o desarrollo de una suma de matrices en algún lenguaje, en este caso usamos el lenguaje de programación C++, pero antes de mostrar este punto, tenemos que explicar lo más básico, así que comenzaremos con el concepto principal, que es la matriz, como se compone, cuáles son sus características, y comprendido eso explicaremos el siguiente punto, que es la suma de matrices y como se realiza. Este trabajo lo haremos de la forma más concreta y sencilla posible para que el lector pueda comprender el tema principal y sus características sin tener ningún problema, los alcances que tenemos como equipo es solo mostrar tanto los conceptos principales, como y el código de programación, todo esto para alcanzar el objetivo que es mostrar de manera funcional lo que es la suma de matrices, en nuestro caso será la suma de matrices en el lenguaje de C++. A continuación, comenzaremos con todo el desarrollo del trabajo para que paso a paso se cumpla el objetivo deseado. 1.3. Resumen de capítulos Capítulo 1 Introducción Se da una breve explicación de lo que se analizará en la práctica. Capitulo 2 Desarrollo Se da la parte teórica para el desarrollo de la práctica. Capítulo 3 Desarrollo del Programa. Se encuentra el diagrama de flujo, el código y la pantalla donde se ejecuta para realizar la suma de dos matrices con números complejos Capítulo 4 Conclusiones Se da de forma resumida lo aprendido en la práctica 2. DESARROLLO 2.1 Historia de las matrices En matemáticas, una matriz es un arreglo bidimensional de números, y en su mayor generalidad de elementos de un anillo. Las matrices se usan generalmente para describir sistemas de ecuaciones lineales, sistemas de ecuaciones diferenciales o representar una aplicación lineal (dada una base). Las matrices se describen en el campo de la teoría de matrices. [Gobierno De Canarias 2013] Las matrices se utilizan para múltiples aplicaciones y sirven, en particular, para representar los coeficientes de los sistemas de ecuaciones lineales o para representar las aplicaciones lineales; en este último caso las matrices desempeñan el mismo papel que los datos de un vector para las aplicaciones lineales. Pueden 1 sumarse, multiplicarse y descomponerse de varias formas, lo que también las hace un concepto clave en el campo del álgebra lineal. [Gobierno De Canarias 2013] Pero ahora que estudiamos el tema, ¿sabes de donde provienen las matrices? Es importante para nosotros mencionar un poco de la historia ya que es cotidiano no mencionar esta parte, aunque es lo esencial para comprender su origen y desarrollo final. [Gobierno De Canarias 2013] El origen de las matrices es muy antiguo. Los cuadrados latinos y los cuadrados mágicos se estudiaron desde hace mucho tiempo. Un cuadrado mágico, 3 por 3, se registra en la literatura china hacia el 650 a. C. Es larga la historia del uso de las matrices para resolver ecuaciones lineales. Un importante texto matemático chino que proviene del año 300 a. C. a 200 a. C., Nueve capítulos sobre el Arte de las matemáticas (Jiu Zhang Suan Shu), es el primer ejemplo conocido de uso del método de matrices para resolver un sistema de ecuaciones simultáneas. En el capítulo séptimo, "Ni mucho ni poco", el concepto de determinante apareció por primera vez, dos mil años antes de su publicación por el matemático japonés Seki Kōwa en 1683 y el matemático alemán Gottfried Leibniz en 1693. [Gobierno De Canarias 2013] Los "cuadrados mágicos" eran conocidos por los matemáticos árabes, posiblemente desde comienzos del siglo VII, quienes a su vez pudieron tomarlos de los matemáticos y astrónomos de la India, junto con otros aspectos de las matemáticas combinatorias. Todo esto sugiere que la idea provino de China. Los primeros "cuadrados mágicos" de orden 5 y 6 aparecieron en Bagdad en el 983, en la Enciclopedia de la Hermandad de Pureza (Rasa'il Ihkwan al-Safa). [Gobierno De Canarias 2013] Después del desarrollo de la teoría de determinantes por Seki Kowa y Leibniz, a finales del siglo XVII, Cramer presentó en 1750 la ahora denominada regla de Cramer. Carl Friedrich Gauss y Wilhelm Jordan desarrollaron la eliminación de Gauss-Jordan en el siglo XIX. Leibniz(1646-1716), uno de los dos fundadores del análisis, desarrolló la teoría de los determinantes en 1693 para facilitar la Resolución de las ecuaciones lineales. Gabriel Cramer tuvo que profundizar esta teoría, presentando el método de Cramer en 1750. En los años 1800, el método de eliminación de Gauss-Jordan se puso a punto. Fue James Joseph Sylvester quien utilizó por primera vez el término « matriz » en1848/1850. [Gobierno De Canarias 2013] En 1853, Hamilton hizo algunos aportes a la teoría de matrices. Cayley introdujo en 1858 la notación matricial, como forma abreviada de escribir un sistema de m ecuaciones lineales con n incógnitas. [Gobierno De Canarias 2013] Cayley, Hamilton, Hermann Grassmann, Frobenius, Olga Taussky-Todd y John von Neumann cuentan entre los matemáticos famosos que trabajaron sobre la teoría de las matrices. En 1925, Werner Heisenberg redescubre el cálculo matricial fundando una primera formulación de lo que iba a pasar a ser la mecánica cuántica. Se le considera a este respecto como uno de los padres de la mecánica cuántica. Olga TausskyTodd (1906-1995), durante la II Guerra Mundial, usó la teoría de matrices para investigar el fenómeno de aeroelasticidad llamado fluttering. [Gobierno De Canarias 2013] Ahora que ya sabemos la historia de las matrices, observemos dos conceptos de matriz para que puedas comprender de manera correcta el tema. 2.2 Definición especifica de matriz En general, una matriz es un conjunto ordenado en una estructura de filas y columnas. Los elementos de este conjunto pueden ser objetos matemáticos de muy variados tipos, aunque de forma particular, trabajaremos exclusivamente con matrices formadas por números reales. [Descartes 3D] 2 Normalmente las matrices son designadas por letras mayúsculas. [Descartes 3D] Los elementos de una matriz se identifican por la fila y la columna que ocupan. Así, designaremos por a32 el elemento que está situado en la tercera fila y segunda columna de la matriz A. [Descartes 3D] El número de filas y columnas que tiene una matriz se llama dimensión de la matriz. [Descartes 3D] Dos matrices son iguales si son de igual dimensión y coincide el valor de los elementos que ocupan la misma posición en ambas. [Descartes 3D] Si queremos un concepto mas sencillo al que podemos comprender de manera mas sencilla tenemos el siguiente, que personalmente es el que ayudara a muchos. Una matriz es una tabla cuadrada o rectangular de datos (llamados elementos) ordenados en filas y columnas, donde una fila es cada una de las líneas horizontales de la matriz y una columna es cada una de las líneas verticales. A una matriz con m filas y n columnas se le denomina matriz m-por-n (escrito m×n). Las dimensiones de una matriz siempre se dan con el número de filas primero y el número de columnas después. [Algebra Lineal Morales Camacho] Comúnmente se dice que una matriz m-por-n tiene un orden de m × n ("orden" tiene el significado de tamaño). Dos matrices se dice que son iguales si son del mismo orden y tienen los mismos elementos. [Algebra Lineal Morales Camacho] Un ejemplo básico para que comprendas lo que es una matriz es el siguiente: Dada la matriz: que es una matriz 4x3. El elemento A [2,3] es el 7 La matriz: es una matriz 1×9, o un vector fila con 9 elementos. Ahora que ya sabemos la historia de la matriz, sus conceptos y características presentadas en un ejemplo muy básico, tenemos que mencionar algo muy importante que es la parte de realizar alguna operación matemática o aritmética en dicha matriz, en el caso de este trabajo mencionaremos y estudiaremos lo que es la suma en matrices o suma de matrices. 2.3 Suma de matrices La suma de matrices es una operación lineal que consiste en unificar los elementos de dos o más matrices que coincidan en posición dentro de sus respectivas matrices y que estas tengan el mismo orden. [Economipedia]. 3 En otras palabras, el sumatorio de una o más matrices es la unión de los elementos que tengan la misma posición dentro de las matrices y que estas tengan el mismo orden. [Economipedia] Si 𝐴 = [𝑎𝑖𝑗 ] y 𝐵 = [𝑏𝑖𝑗 ] son matrices de 𝑚 × 𝑛, la suma de A y B da por resultado la matriz 𝐶 = [𝑐𝑖𝑗 ] de 𝑚 × 𝑛, definida por 𝑐𝑖𝑗 = 𝑎𝑖𝑗 + 𝑏𝑖𝑗 (1 ≤ 𝑖 ≤ 𝑚, 1 ≤ 𝑗 ≤ 𝑛). Es decir, C se obtiene sumando los elementos correspondientes de A y B. Sean Entonces Observe que la suma de las matrices A y B sólo se define cuando A y B tienen el mismo número de filas (renglones) y el mismo número de columnas; es decir, sólo cuando A y B son del mismo tamaño. La suma de matrices puede darse para más de dos matrices. Las propiedades de las matrices, mismas que son similares a que satisfacen los números reales dictan que la suma de matrices satisface la propiedad asociativa. 𝐴 + (𝐵 + 𝐶) = (𝐴 + 𝐵) + 𝐶. El sumatorio de matrices comparte las mismas características que cuando sumamos números y variables en álgebra, con la diferencia de que aquí tenemos “coordenadas”. Es decir, tendremos en cuenta la posición del elemento dentro de cada matriz. La posición de cada elemento se denota con subíndices, tal que: La imagen anterior tenemos claro una cosa: La Suma de elementos con la misma posición en sus respectivas matrices. Entonces, el sumatorio de estos tres elementos es posible dado que todos tienen la misma posición. En otras palabras, tienen los mismos números en los subíndices. [Economipedia] Si la posición de los elementos fuera distinta, no podríamos sumarlos. Propiedades de la suma de matrices Sean A, B, C y D matrices de m×n. (a) 𝐴 + 𝐵 = 𝐵 + 𝐴. (b) 𝐴 + (𝐵 + 𝐶) = (𝐴 + 𝐵) + 𝐶. (c) Existe una única matriz O de 𝑚 × 𝑛 tal que 𝐴 + 𝑂 = 𝐴 para cualquier matriz A de 𝑚 × 𝑛. La matriz O se denomina neutro aditivo de 𝑚 × 𝑛, matriz nula o matriz cero. 4 (a) Para cada matriz A de 𝑚 × 𝑛, existe una única matriz D de 𝑚 × 𝑛 tal que 𝐴 + 𝐷 = 𝑂. Escribiremos D como (– 𝐴), de modo que puede escribirse como 𝐴 + (−𝐴) = 𝑂. La matriz (−𝐴) se llama inverso aditivo o negativo de A. Dadas tres matrices cualquiera X, Z, Y tal que: Matrices de orden 𝑛 × 𝑚. Propiedad asociativa: Es equivalente primero sumar dos matrices y luego otra matriz al resultado anterior. Propiedad conmutativa: El orden del sumatorio no es relevante. Elemento neutro: Dada una matriz cero O del mismo orden que Z, X, Y, tal que: Matriz cero o nula Entonces, 𝑋 + 𝑂 = 𝑂 + 𝑋 = 𝑋 El efecto neutro se produce cuando sumamos la matriz objetivo con una matriz cero. El resultado es la misma matriz. [Economipedia] Propiedad distributiva: ( 𝑋 + 𝑍 )ℎ = 𝑋ℎ + 𝑍ℎ A diferencia de las matrices, las potencias que no cumplen la propiedad distributiva en la suma. [Economipedia] Procedimiento Para sumar matrices debemos: 1- Comprobar el orden de las matrices, tal que: ▪ Si el orden de las matrices es el mismo, entonces se pueden sumar las matrices. ▪ Si el orden de las matrices es distinto, entonces no podemos sumar las matrices. 2- Sumar los elementos que tienen la misma posición dentro de sus respectivas matrices. 5 2.4 Ejemplo general Sumatorio de dos matrices cuadradas de orden 2: Sumatorio de dos matrices cuadradas de orden 3: 6 3. DESARROLLO DEL PROGRAMA 3.1, Diagrama de flujo 7 3.2. Listado del programa #include <conio.h> #include <iostream> #include <math.h> using namespace std; int main() { int m,n;//m=fila n=columnas cout << " SUMA DE MATRICES" << endl; cout << " Ingrese numero de filas " << endl; cin>>m; cout << " Ingrese numero de columnas " << endl; cin>>n; cout<<"***************************"<<endl; double mat1[m][n] , mat2[m][n], mat1imaginario[m][n] , mat2imaginario[m][n]; cout<< " Llenado de la matriz 1: "<<endl; for(int i=0; i<m; i++){ for(int j=0; j<n; j++){ cout<<" ingrese numero real: "; cin>>mat1[i][j]; cout<<" ingrese numero imaginario: "; cin>>mat1imaginario[i][j]; } } cout<<"\n"; cout<<"***************************"<<endl; cout<< " Llenado de la matriz 2: "<<endl; for(int i=0; i<m; i++){ for(int j=0; j<n; j++){ cout<<" ingrese numero real: "; cin>>mat2[i][j]; cout<<" ingrese numero imaginario: "; cin>>mat2imaginario[i][j]; } } //mostrar matriz cout<<"\n"; cout<<" La matriz 1 es: "<<endl; for(int i=0; i<m; i++){ for(int j=0; j<n; j++){ cout<<" "; cout<<mat1[i][j]; cout<<", i "; cout<<mat1imaginario[i][j]; } 8 cout<<endl; } cout<<"\n"; cout<<" La matriz 2 es: "<<endl; for(int i=0; i<m; i++){ for(int j=0; j<n; j++){ cout<<" "; cout<<mat2[i][j]; cout<<", i "; cout<<mat2imaginario[i][j]; } cout<<endl; } cout<<"***************************"<<endl; //la suma de las matrices cout<<"La suma es:"<<endl; for(int i=0; i<m; i++){ for(int j=0; j<n; j++){ cout<<" "; cout<<mat1[i][j]+mat2[i][j]<<" , i "<<mat1imaginario[i][j]+mat2imaginario[i][j]; } cout<<endl; } return 0; } 9 3.3. Corrida de ejemplo, en pantalla .exe Se piden las dimensiones de la matriz a sumar como son del mismo tamaño para poderlas sumar solo se pide una vez el número de filas y de columnas 10 Se procede a tomar los datos de las matrices desde el a11 que es el primer dato de la columna 1, hasta an1 que es el último dato de la última columna, donde cada número tiene su parte real e imaginaria después se procede con la siguiente fila hasta acabar con la última fila “m”. Igualmente, para la segunda matriz. La suma se realiza con los datos en la misma posición que ocupan en su respectiva matriz y se imprime el resultado. 11 4. CONCLUSIONES Estrada Ortega Erick Daniel Se comprobó por medio de la programación en lenguaje C que la suma de matrices se puede realizar sumando solo los datos que estén en la misma posición en cada una de las matrices sumadas, también se pudo observar el porqué de tamaño de las matrices para la resolución de la suma de matrices y que es imposible realizar una suma si no se cuenta con matrices del mismo tamaño. Por último, se comprobó las propiedades de la suma de matrices ya que solo se siguen las reglas de la aritmética y algebra para sumar términos reales y complejos. Los inconvenientes se pueden enunciar como, la dificultad para sumar más de dos matrices al mismo tiempo ya que entonces en el programa se tendrán que crear tantas variables como la suma lo requiera y eso es poco practico debido a que el programados nunca sabrá cuantas matrices se pretenden sumar, pero si puede condicionar el programa para que funcione con un numero dado de estas. Frias Osorio Luis Emiliano La condición para sumar dos matrices es que deben ser del mismo tamaño lo cual en el programa se colocó los mismas columnas y filas para las matrices reales 1 y 2, para matrices imaginarias 1 y 2, así cumplir con regla de la suma de matrices. La matriz es una forma de ordenar los datos de las ecuaciones a utilizar, al sumar dos matrices con números complejos se tiene la parte real e imaginaria de cada celda en la cual se sumarán el dato a11 de la primera matriz con el a11 de la segunda matriz en orden con la misma posición de la matriz y así sucesivamente hasta tener la matriz resultante que se imprime al final. La letra i es raíz de menos 1, y como no hay resultado se dice que es imaginario, el ángulo es de 90°. Los ciclos “for” tienen como objetivo repetir la función hasta alcanzar el numero de filas y columnas para el ingreso de datos, impresión de datos y suma de los datos, desarrollado con el programa C++. Ramírez Rodríguez Adán Stephan Como pudimos observar en el trabajo, el tema de matrices es muy importante, yo como estudiante de ingeniería eléctrica en los primeros semestres de la carrera estudie este tema, pero pensé que no se usaría para la carrera, después con el análisis de circuitos de corriente directa, observe que las matrices no eran muy útiles para hacer el análisis de los circuitos que se presentaban en la materia, en el presente trabajo lo que quisimos fue poder dar a conocer lo que es el tema de las matrices de la forma más sencilla y concreta posible, personalmente creo que es la formas correcta de poder presentar un tema tanto a alguien que sabe del tema como a alguien que apenas lo quiere aprender. En el punto de programar o hacer el código de programación fue un poco antiguo para mí, ya que la programación personalmente la deje atrás y no llama mi atención, este trabajo me esforzó un poco a volver a dichos temas de programación y saber cómo se tomaban los valores para el estudio de algún problema a resolver, este trabajo no fue muy difícil pero recordar las bases del estudio que tome algún día me sirve para recordar aquello que estudie hace ya un par de años, las matrices son tan importantes en nuestra carrera y espero poder aplicar este método más adelante. 12 5. REFERENCIAS. Para el desarrollo de este trabajo consultamos varias páginas de internet donde la información era precisa, concreta, y con valor. Creemos que la información tomada en dichas paginas aparte de ayudarnos a nosotros podrán ayudar a cualquier persona que esté interesada en el tema, a continuación, se muestran dichas páginas. [1] “Historia y concepto inicial de matriz”, en línea, disponible en: http://www3.gobiernodecanarias.org/medusa/ecoblog/egonjor/files/2013/04/matrices.pdf [2] “Definición de matriz”, en línea, disponible en: http://recursostic.educacion.es/descartes/web/materiales_didacticos/Calculo_matricial_d3/defma t.htm [3] “Definición de matriz”, en línea, disponible en: https://sites.google.com/site/algebralinealmoralescamacho/u2-matrices/2-1-definicion-dematriz-notacion-y-orden [4] “Teoría completa de suma de matrices ”, en línea, disponible en: https://economipedia.com/definiciones/suma-de-matrices.html 13 Anexo Ejemplo teórico Dadas las matrices Z, X, Y: Matrices de distinto orden por lo tanto no se puede sumar las matrices. Ejemplo de suma de matrices. 14