You are on page 1of 3

Definición de matríz

Matrices en C
Se llama matriz de orden m×n a todo conjunto rectangular de
 Un arreglo que puede tener múltiples índices elementos aij dispuestos en m líneas horizontales (filas) y n
verticales (columnas) de la forma:
es llamado arreglo multidimensional.

 uno de los usos de estos arreglos es  a11 a12 a13  a1n 
representar tablas de valores que consisten de  
información ordenada en filas y columnas.  a21 a22 a23  a2 n 
A = (ai,j)=  a31 a32 a33  a3n 
 
 para identificar un elemento de una tabla     
a an 3  ann 
debemos especificar dos índices, estos son la  n1 an 2
fila y columna de un elemento.
1

Definición de matríz  a11 a12 a13  a1n 
 
 a21 a22 a23  a2 n  Ejemplo: Declaración de una matriz
A = (ai,j)=  a31 a32 a33  a3n 

    
a  ann 
 n1 an 2 an 3

•Se expresa A =(aij), con i =1, 2, ..., m, j =1, 2, ..., n.

• Los subíndices indican la posición del elemento dentro de la matriz, el
primero denota la fila ( i ) y el segundo la columna ( j ).

•Por ejemplo el elemento a25 será el elemento de la fila 2 y columna 5.

•El orden es el número de filas y columnas que tiene la matriz, se
representa por m x n.
4

Matrices
Elemento: aij  a11

a12  a1n 

Recorrido sobre matrices
Tamaño: m  n  a21 a22  a2 n  Se puede acceder a los elementos
Matriz cuadrada: n  n    
de un arreglo bidimensional de
(orden n)   igual forma que a un elemento de
a  amn  un arreglo unidimensional.
Elementos de la diagonal: ann  m1 am 2
La diferencia es que en los
elementos bidimensionales deben
especificarse los índices de la fila y
 a1  la columna.
Vector columna  
(matriz n x 1)  a2 
 Línea 1: declaración de matriz
  Línea 2: declaración de índices, i para filas y j para columnas
 an 
Línea 3 – 7: recorrido sobre filas y columnas
Vector fila
(a1 a2  an )
(matriz 1 x n) 5 6

1

cuya diagonal principal es 1. Ejemplo 1: 7 8 Clasificación de matrices: Forma Clasificación de matrices: Elementos • Matriz simétrica: es una matriz cuadrada • Matriz nula: es una matriz en la que todos los • Matriz unidad o identidad: es una matriz  Matriz fila: A = (1 3 5 7 9 ) que verifica que: elementos son nulos. la diagonal principal son nulos. aij = a ji  A = AT 0 0 0   0  0  1 0 0   2  O = 0 0 0 O = 0 0 I3 =  0 1 0    1 2 4  0 0 0   0 0  0 0 1  Matriz columna: A =  4       6  3 3 3 2 2 3 5  • Matriz diagonal: es una matriz cuadrada. B =   2 7  2 0 (i) (AT)T = A   (ii) (A + B)T = AT + BT  5.(4)  8.2 5.(3)  8.0    4  15  (iii) (AB)T = BTAT     AB =  1.(4)  0.2 1.(3)  0.0  =   4  3  (iv) (kA)T = kAT  2.(4)  7.2 2.(3)  7.0   6  6      Nota: En general. donde todos los elementos por encima de la diagonal son ceros. escalar.B=   a11 a21  am1   3 5 6 8   a a22  am 2   4.9  7.6 4.(2)  7.8   78 48  A =  12 T AB =  =      3.9  5.6 3.(2)  5.6   57 34   a  a2 n  amn  5 8  1n (b)     4  3 A = 1 0 . en • Matriz triangular superior: es una matriz  4 5 -1    la que todos los elementos no pertenecientes a donde todos los elementos por debajo de la diagonal son ceros.  1 3 5  • Matriz antisimétrica: es una matriz  2 0 0 1 3 6     cuadrada que verifica que:   D =  0  3 0 T = 0  2 3  Matriz cuadrada:A=  2 4 6     1 1 1  aij = -a ji  A = –AT 0 0 1   0 0 4 • Matriz escalar: es una matriz diagonal • Matriz triangular inferior: es una matriz Diagonal  0 2 -4  secundaria Diagonal   donde todos los elementos de ella son iguales. principal  -2 0 3   4 -3 0   2 0 0   1 0 0   A = 0 2 0   T = 3  2 0  0 0 2   3 5 4   Multiplicación: Transpuesta de una matriz A: 4 7  9  2 (a) A =  . AB  BA Nota: (A + B + C)T = AT + BT + CT 11 (ABC)T = CTBTAT 12 2 .

for( j=0.    1 6 0 0 0 } 0 5 6 7  8 9 3 0 0 0 0 8 9   for( i=0. j<DIM2. i<DIM1.7. for( i=0. j++) /* imprime suma */ scanf(“%d”.h> { #define FILAS 3 for( j=0. i++) /* se inicializa la matriz M con for’s anidados*/ Matrices triangulares for( j=0.M[ i ][ j ] ). int i. i++) #include <stdio. i++) /* se imprime la matriz M */    1 1 1 2 0 0 0 0 1  for( j=0. i+1. M[ i ][ j ]).0=  .   Triangular superior Triangular inferior 13 Ejemplo 3: Escriba un programa que lea una matriz cuadrada. Ejemplo: 17 3 . j<COLUM. suma ). j.3. escriba un programa C que permita:  Leer una matriz orden NxN (0<N<100) de números enteros  Determine si se trata de una matriz antisimétrica e imprima la respuesta. j++)   15 2 3 4 1  printf(“ elemento M(%2d. } Trabajo en Clases. j<COLUM. Ejemplo 2: Matriz cero  0 0  0  0 0   0= . j++) { M[ i ][ j ] = k. /*inicializa la matriz M */ k=1.M[ i ][ j ] ). i<FILAS. void main() } { /* Declaracion de variables */ /* calculo de la suma */ int M[FILAS][COLUM] /* ENTRADA se guarda en arreglo de 2 dimensiones */ suma = 0. con nota: En grupos de dos personas.6. j.8. la Ejercicio 3: continuación … presente en pantalla. j+1. la matriz es cuadrada */ for( i=0.4. Obs: una matriz es antisimétrica si para cada elemento aij que existe. for( i=0. j<COLUM. printf(“\n”). suma.2. k.9}. i++) /* se imprime la matriz M */ for( j=0. 0 =  0 0 #define DIM1 3  0  0 0  0 0 #define DIM2 3 … A+0=A   int i. j++) /* lectura por filas. j++) #define COLUM 3 printf(“%5d”. i<DIM1. printf(“La suma es: %5d”. el elemento aji tiene el valor -aij. la matriz es cuadrada */ if( ! (i==j)) for( i=0. i<FILAS.5.%2d) vale %d \n”.   2 0 0 0 0 1 2 3 4   k ++. i++) suma += M[i][j]. A + (–A) = 0 int M[DIM1][DIM2] = { 1. y escriba la suma de todos los números que no están en la diagonal /* escritura por filas. j<DIM2. i<FILAS.