Upload
mary-lopez
View
227
Download
5
Embed Size (px)
Citation preview
Ing. Mary Lopez
4. La MatrizProgramacio
n II
Iterar es Humano Recursividad es Divino
Universidad Autónoma Gabriel Rene Moreno
FICCTSemestre I/2015
4. La matriz
Introduccion• Definicion• Caracteristicas
Tipos de Matriz• Cuadra• Triangular Superior• Nula• Matriz Fila
Operaciones con Matrices• Suma• Producto
Ejercicios• GenMat1
Introducción “Su principal aplicación
práctica esta en la solución de sistemas de ecuaciones
lineales”
DefiniciónLlamaremos matriz de orden (nxm) sobre el cuerpo de los números reales a un conjunto de números reales dispuestos en n filas y m columnas de la siguiente forma:
Características1. Un nombre2. La dimensión u orden de una matriz, está dado por la
cantidad de filas (n) y la cantidad de columnas (m) que esta tenga y se denota por (nxm).
3. Cada elemento de la matriz corresponde a un número real representado de la forma (aij) donde i corresponde a la posición de fila y j corresponde a la posición de la columna dentro de la matriz. (A2,3)
4. La cantidad de elementos de la matriz se determina multiplicando la cantidad de filas por la cantidad de columnas. (A(2x3) => Tiene 6 elementos (2*3) )
Tipo de Matriz Ejemplo1. Matriz FIla: Es la que tiene una sola fila. A(1 x M)
2. Matriz Columna: Es la que tiene una sola columna . A (N x 1)
3. Matriz nula si: Aij =0 i => 1 <= i <= n ; j => 1 <= j <= m.
4. A será llamada matriz cuadrada si: n=m.
5. Matriz diagonal si: n = m => Igual Nro. Filas y Columnas
Aij =0 => Donde i <> j
Tipo de Matriz Ejemplo6. A será llamada matriz identidad si:
n = m => Igual Nro. Filas y Columnas
Aij =0 => Donde i <> jAij =1 => Donde i = j
7. Matriz triangular superior si: n = m => Igual Nro. Filas y Columnas
Aij =0 => Donde i >= j
8. Mmatriz triangular inferior si n = m => Igual Nro. Filas y Columnas
Aij =0 => Donde i <= j
9. Matriz simétrica n = m => Igual Nro. Filas y Columnas
Aij = Aji
Operaciones con Matrices
“Hay operaciones matriciales en las que el orden de los
factores altera el resultado”
SUMA DE MATRICES
10 20
50 35
52 4
10 50
20 35
10 36
+ =
20 70
70 70
62 40
1. Las matrices a sumar deben ser de igual dimensión2. Tan solo pensar en llenar la matriz resultante
Cij=Aij + Bij
3. La suma de las matrices se vacía en una nueva matriz.4. La matriz resultante será de igual dimensión que las matrices sumadas
A B C
Para tomar en cuenta !!!
Para resolver matrices se debe siempre tratar de :
Mapear la Matriz. En cada posición poner que fila y que
columna ocupa el elemento
Identificar las posiciones de los elementos a analizar en la
matriz
Encontrar la relación Fila Versus Columna para cada
elemento que se esta analizando en la matriz. Esto es la clave
para ver como es mas conveniente moverse en la matriz:
Por fila y columnas ó por columna y luego filas.
MATRIZ DE ANILLOSPaso 1: Análisis según la matriz Mat1
1.La matriz es cuadrada Mat1 (N x N)2. El primer anillo esta lleno con un valor constante ( 6)
val = N3. El segundo anillo esta lleno con otro valor constante ( 5 )
val = val - 14. Similar al segundo anillo se van formando el resto de los anillos hasta que: se llega al centro de la matriz.
Conviene entonces que se llena la matriz por anillo
¿ Como saber que la matriz ya esta llena?Marcar limites Superior = MaxInferior = Min
MATRIZ DE ANILLOSPaso 2: Diseño para la matriz Mat1
GenAnillos(Int ** , int N, int M, int pf, int pc,
int &Max, int &Min)
Int **MatInt NInt MPf=0Pc=0Int MaxInt Min
Int **MatInt MaxInt Min
MATRIZ DE ANILLOSPaso 3: Inplementación
void GenMat1(int * *Mat,Grid,int posf,int posc,int &max,int &min) {
if ( posc>max) { posc=min; posf=posf+1;}if(posf>max){
max=max-1; min=min+1;posf=min; posc=min;
}
if(min<max+1){ if(posf==max || posf==min || posc==max || posc==min){ Mat[posf][posc] =max+1; }; if(posf==max || posf==min) posc=posc+1; else if(posc==min)posc=max; else posc=posc+1; GenMat1(Mat,posf,posc,max,min);}
}
Se paso en columnas: - Salta fila - Columna inicia en min
Se paso en filas:- Se mueve los Limite min y max - Toca el siguiente anillo, por lo que la columna y la fila inician en min
// Lo siguiente controla que los anillos termine de completarse