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
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. escalar, cuya diagonal principal es 1.

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, 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.
la diagonal principal son nulos.
 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. donde todos los elementos por encima de la
diagonal son ceros.
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 =  ,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 , 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, AB  BA Nota: (A + B + C)T = AT + BT + CT
11
(ABC)T = CTBTAT 12

2
Ejemplo 2:
Matriz cero  0 0
 0  0 0  
0= ,0=  , 0 =  0 0 #define DIM1 3
 0  0 0  0 0
#define DIM2 3

A+0=A   int i, j, k;
A + (–A) = 0 int M[DIM1][DIM2] = { 1,2,3,4,5,6,7,8,9}; /*inicializa la matriz M */

k=1;
for( i=0; i<DIM1; i++) /* se inicializa la matriz M con for’s anidados*/
Matrices triangulares for( j=0; j<DIM2; j++)
{
M[ i ][ j ] = k;
  2 0 0 0 0
1 2 3 4   k ++;
   1 6 0 0 0 }
0 5 6 7  8 9 3 0 0
0 0 8 9   for( i=0; i<DIM1; i++) /* se imprime la matriz M */
   1 1 1 2 0
0 0 0 1 
for( j=0; j<DIM2; j++)
  15 2 3 4 1  printf(“ elemento M(%2d,%2d) vale %d \n”, i+1, j+1, M[ i ][ j ]);
 
Triangular superior Triangular inferior
13

Ejemplo 3: Escriba un programa que lea una matriz cuadrada, la Ejercicio 3: continuación …
presente en pantalla, y escriba la suma de todos los números que no
están en la diagonal /* escritura por filas, la matriz es cuadrada */
for( i=0; i<FILAS; i++)
#include <stdio.h> {
#define FILAS 3 for( j=0; j<COLUM; j++)
#define COLUM 3 printf(“%5d”,M[ i ][ j ] );
printf(“\n”);
void main() }
{
/* Declaracion de variables */ /* calculo de la suma */
int M[FILAS][COLUM] /* ENTRADA se guarda en arreglo de 2 dimensiones */ suma = 0;
int i, j, suma; for( i=0; i<FILAS; i++) /* se imprime la matriz M */
for( j=0; j<COLUM; j++)
/* lectura por filas, la matriz es cuadrada */ if( ! (i==j))
for( i=0; i<FILAS; i++) suma += M[i][j];
for( j=0; j<COLUM; j++) /* imprime suma */
scanf(“%d”,M[ i ][ j ] ); printf(“La suma es: %5d”, suma );

Trabajo en Clases, con nota:


En grupos de dos personas, 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.

Obs: una matriz es antisimétrica si para cada


elemento aij que existe, el elemento aji tiene el
valor -aij. Ejemplo:
17