Está en la página 1de 5

PROGRAMACION DE MATRICES

(SEPTIEMBRE de 2022)
AGUILAR HERNÁNDEZ CARLOS, CARCAÑO CAMACHO ALAN, RAMÍREZ VALENCIA GABRIEL, VEGA
GARCÍA RECARDO miembros del IEEE

PRODUCTO DE MATRICES
I. INTRODUCCIÓN “No todas las matrices pueden multiplicarse. Dos matrices se
pueden multiplicar cuando cumplen…”
Las matrices son herramientas del álgebra que facilitan la • Para dos matrices A y B, en este orden, A·B, es condición
obtención de datos y estas tienen diversas aplicaciones, tales indispensable que el número de columnas de A sea igual al
como solución de ecuaciones lineales, planteamiento de número de filas de B.
problemas de electrónica donde se plantean 3 ecuaciones y se •Si no se cumple esta condición, el producto A·B no puede
busca una solución o resultado para alguna variable. realizarse, de modo que esta es una condición que debemos
comprobar previamente.
• La multiplicación matricial NO ES CONMUTATIVA. A x B
II. DESARROLLO ≠BxA

MATRICES
Se utilizan para describir sistemas de ecuaciones lineales y
registrar datos que dependen de diferentes parámetros
Se describen en el campo de la teoría de matrices y pueden
descomponerse de varias formas.

Una matriz es una tabla cuadrada o rectangular de datos


(llamados elementos) ordenados en filas y columnas, donde una
Fig.3 Ejemplo de producto de matriz rectangular 3x3
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
III. DESARROLLO DE LA PROGRAMACIÓN
m filas y n columnas se le denomina matriz m-por-n (escrito
m×n), y a m y n dimensiones de la matriz.
CÓDIGO DEL PROGRAMA EMPLEADO

#include <iostream>
using namespace std;

void leerMatriz( int **M, int fil, int col );


void sumaMatrices();
void restaMatrices();
Fig. 1 Ejemplo de una matriz void multiplicacionMatrices();
void imprimirMatriz( int **M, int fil, int col );
OPERACIÓN DE MATRICES void menu();

SUMA-RESTA int main()


La suma-resta no está definida para matrices de diferentes {
tamaños. int opcion;
• Dadas dos matrices A y B podemos realizar su suma o
diferencia de acuerdo a la siguiente regla. Para sumar o restar do{
dos matrices del mismo tamaño, se suman o restan los menu();
elementos que se encuentren en la misma posición, resultando cin >> opcion;
otra matriz de igual tamaño, Por ejemplo: if( cin.fail() || cin.bad() ){
opcion = 0;
cin.clear();
cin.ignore( '\n', 80 );
}
Fig. 2 Ejemplo de resta de matrices 2x3
cout << "\nDatos de la matriz A: ";
switch( opcion ){ leerMatriz( A, fil, col );
case 1:
sumaMatrices(); cout << "\nDatos de la matriz B: ";
break; leerMatriz( B, fil, col );

case 2: for( int i = 0; i < fil; i++ )


restaMatrices(); for( int j = 0; j < col; j++ )
break; C[i][j] = A[i][j] + B[i][j];

case 3: cout << "\nMatriz A:\n";


multiplicacionMatrices(); imprimirMatriz( A, fil, col );
break; cout << "\nMatriz B:\n";
imprimirMatriz( B, fil, col );
cout << "\nSuma de las matrices (A+B):\n";
case 4: imprimirMatriz( C, fil, col );
cout << "\n\nFIN DEL PROGRAMA\n\n";
break; }

default: void restaMatrices()


cout << "\n\nOPCION NO VALIDA\n\n"; {
break; int fil, col;
}
cout << "\nLAS MATRICES DEBEN TENER LA MISMA
}while( opcion != 4 ); DIMENSION\n"
} << "\nDimension de la matriz:";
cout << "\nFilas de la matriz: "; cin >> fil;
void leerMatriz( int **M, int fil, int col ) cout << "Columnas de la matriz: "; cin >> col;
{
cout << "\nRellenar la matriz:\n"; int** A = new int*[fil];
for( int i = 0; i < fil; i++ ){ for( int i = 0; i < fil; i++ )
for( int j = 0; j < col; j++ ){ A[i] = new int[col];
cout << "Matriz[" << i << "][" << j << "]: ";
cin >> M[i][j]; int** B = new int*[fil];
} for( int i = 0; i < fil; i++ )
} B[i] = new int[col];
}
int** C = new int*[fil];
void sumaMatrices() for( int i = 0; i < fil; i++ )
{ C[i] = new int[col];
int fil, col;
cout << "\nDatos de la matriz A: ";
cout << "\nLAS MATRICES DEBEN TENER LA MISMA leerMatriz( A, fil, col );
DIMENSION\n"
<< "\nDimension de la matriz:"; cout << "\nDatos de la matriz B: ";
cout << "\nFilas de la matriz: "; cin >> fil; leerMatriz( B, fil, col );
cout << "Columnas de la matriz: "; cin >> col;
for( int i = 0; i < fil; i++ )
int** A = new int*[fil]; for( int j = 0; j < col; j++ )
for( int i = 0; i < fil; i++ ) C[i][j] = A[i][j] - B[i][j];
A[i] = new int[col];
cout << "\nMatriz A:\n";
int** B = new int*[fil]; imprimirMatriz( A, fil, col );
for( int i = 0; i < fil; i++ ) cout << "\nMatriz B:\n";
B[i] = new int[col]; imprimirMatriz( B, fil, col );
cout << "\nResta de las matrices (A-B):\n";
int** C = new int*[fil]; imprimirMatriz( C, fil, col );
for( int i = 0; i < fil; i++ ) }
C[i] = new int[col];
void multiplicacionMatrices()
{ for( int i = 0; i < fil; i++ ){
int filA, colA, filB, colB; cout << "\n| ";
for( int j = 0; j < col; j++ )
cout << "\n EL NUMERO DE COLUMNAS DE LA cout << M[i][j] << " ";
MATRIZ A"
<< "\nDEBE COINCIDIR CON EL DE FILAS DE LA cout << " |";
MATRI B\n"; }
cout << endl;
cout << "\nDimension de la matriz A:"; }
cout << "\nFilas de la matriz: "; cin >> filA;
cout << "Columnas de la matriz: "; cin >> colA; void menu()
{
int** A = new int*[filA]; cout << "\nComputacion Aplicada"
for( int i = 0; i < filA; i++ ) << "\nIntegrantes:"
A[i] = new int[colA]; << "\n-Aguilar Hernandez Carlos"
<< "\n-Carcano Camacho Alan"
leerMatriz( A, filA, colA ); << "\n-Ramirez Valencia Gabriel"
<< "\n-Vega Garcia Ricardo"
cout << "\nDimension de la matriz B:"; << "\n\n"
cout << "\nFilas de la matriz: "; cin >> filB; << "\n CALCULADORA DE
cout << "Columnas de la matriz: "; cin >> colB; MATRICES"
<<
int** B = new int*[filB]; "\n==========================================
for( int i = 0; i < filB; i++ ) =="
B[i] = new int[colB]; << "\n1.- Suma de Matrices ............. (Pulsa 1)"
<< "\n2.- Resta de Matrices ............ (Pulsa 2)"
leerMatriz( B, filB, colB ); << "\n3.- Multiplicacion de Matrices ... (Pulsa 3)"
<< "\n4.- Terminar ..................... (Pulsa 4)"
int** C = new int*[filA]; << "\nSELECCIONA UNA OPCION (1 - 4): ";
for( int i = 0; i < filA; i++ )
C[i] = new int[colA]; }

if( colA == filB ){


for( int i = 0; i < filA; ++i ){ CAPTURAS DE PANTALLA DEL PROGRAMA
for( int j = 0; j < colB; ++j ){
C[i][j] = 0;
for( int z = 0; z < colA; ++z )
C[i][j] += A[i][z] * B[z][j];
}
}

cout << "\nMatriz A:\n";


imprimirMatriz( A, filA, colA );
cout << "\nMatriz B:\n";
imprimirMatriz( B, filB, colB );
cout << "\nMultiplicacion de las matrices (A*B):\n";
imprimirMatriz( C, filA, colB );

}else
cout << "\n NO SE PUEDEN MULTIPLICAR"
<< "\n EL NUMERO DE COLUMNAS DE LA
MATRIZ A"
<< "\nDEBE COINCIDIR CON EL DE FILAS DE
LA MATRI B";

void imprimirMatriz( int **M, int fil, int col )


{
IV. DIAGRAMA DE FLUJO RAMIREZ VALENCIA GABRIEL
Las actualmente son utilizadas principalmente en problemas
matemáticos, además que actualmente es un componente
esencial en el lenguaje de programación, ya que la mayoría de
ordenadores utilizan hojas de cálculos y bases de datos, contar
con un programa que realice matrices es de mucha ayuda ya que
nos facilita varios procesos.

VI. REFERENCIAS

[1] Barnett, Ziegler, Byleen (200): Álgebra. McGrawHill,


Sexta edición. México.
[2] http://sauce.pntic.mec.es/˜jpeo0002/Archivos/PDFT06.p
df
[3] https://www.uv.mx/personal/aherrera/files/2014/08/11d.-
ALGEBRA-DE-MATRICES-4.pdf
[4] https://slideplayer.es/amp/4255756/

V. CONCLUSIÓN

CARCAÑO CAMACHO ALAN


En este trabajo realizamos un programa el cual nos permite
sumar, restar, multiplicar matrices sin importar su tamaño, ya
que la solución de matrices es una herramienta muy útil en el
área de ingenierías y este programa se puede emplear para
solucionar problemas planteados en materias como electrónica,
análisis de circuitos, en donde solucionar matrices era muy
tardado y con este programa se solucionaría de manera más
eficiente.

VEGA GARCÍA RICARDO


Las matrices son muy importantes en la solución de ecuaciones
lineales y con este trabajo de desarrollar un programa que nos
permite hacer operaciones con matrices con lo que se convertirá
una herramienta muy importante en nuestro desarrollo como
estudiantes de ingeniería.

AGUILAR HERNÁNDEZ CARLOS


En este trabajo, entendimos la importancia que tiene la solución
de matrices para nuestro campo de ingeniería, por lo tanto,
contar con una herramienta que facilite estos cálculos son de
gran importancia para poder dar resultados de mayor calidad y
más confiables.

También podría gustarte