Documentos de Académico
Documentos de Profesional
Documentos de Cultura
COMPUTACIÓN APLICADA
1
Contenido
Matrices ................................................................................................................................... 3
Suma .................................................................................................................................... 4
Resta .................................................................................................................................... 4
Programación ........................................................................................................................... 6
2
Matrices
Una matriz es una tabla bidimensional de números en cantidades abstractas que pueden sumarse y
multiplicarse. Las matrices se utilizan en el cálculo numérico, en la resolución de sistemas de
ecuaciones lineales y registrar los datos que dependen de varios parámetros. las matrices aparecen
de forma natural en geometría, estadística, economía, informática, física, etc...
Matriz fila
Matriz columna
Como se puede observar las matrices se denotan con letras mayúsculas: A, B, C, ... y los elementos
de las mismas con letras minúsculas y subíndices que indican el lugar ocupado: a, b, c, ... Un
elemento genérico que ocupe la fila i y la columna j se escribe aij. Si el elemento genérico aparece
entre paréntesis también representa a toda la matriz: A = (aij )
3
Matriz cuadrada. Es aquella que tiene el mismo número de filas que de columnas, m = n. En una
matriz cuadrada se llama diagonal principal a la línea oblicua formada por los elementos aij cuyos
subíndices son iguales.
Suma.
Dadas dos matrices del mismo orden, A y B, se define su suma como otra matriz, C, del mismo
orden que las matrices sumando cuyos elementos se obtienen sumando a cada elemento de la
primera matriz, A, el correspondiente elemento de la segunda matriz sumando, B:
Ejemplo:
Resta
La resta de dos matrices del mismo orden A y B, se define como la suma de A más la matriz opuesta
de B, por lo que resultará ser otra matriz del mismo orden, D, cuyos elementos se obtienen de restar
a cada elemento de la primera matriz A (minuendo) el elemento correspondiente de la matriz que
resta, B (sustraendo).
4
Ejemplo:
Producto de matrices.
Para poder multiplicar dos matrices A y B, (B *A ), el número de columnas de la matriz que multiplica
en primer lugar, A, debe ser igual al número de filas de la matriz que multiplica en segundo lugar, B.
Así pues, dadas dos matrices A(mxn), B(nxp), el resultado de multiplicar A por B, A*B, es otra matriz
C = A*B, con tantas filas como la matriz que multiplica en primer lugar y tantas columnas como la
matriz que aparece en el producto en segundo lugar, C(mxp). Los elementos de la matriz C se
obtienen de multiplicar las filas de la primera matriz por las columnas de la segunda matriz. Ese
producto consiste en multiplicar un elemento de la fila por el correspondiente de la columna y sumar
el resultado al resto de productos de elementos de esa fila por esa columna.
Ejemplo:
5
Nuevamente se realiza una multiplicación de matrices cambiando el orden de los productos:
NOTA: Dado como está definida la multiplicación de matrices, y tal como se aprecia, se tiene que la
multiplicación de matrices, en general, no cumple la propiedad conmutativa:
Está claro para el caso de dos matrices de distinto orden y en donde uno de los dos productos no
exista (porque no se cumple el requisito para poderse multiplicar). El resultado que exista no
coincidirá con el otro que no existe, por lo que no se cumple la propiedad conmutativa. Para el caso
de que las dos matrices sean de distinto orden y los dos productos existan, porque se cumple el
requisito o condición necesaria para poderse multiplicar, el resultado de B A ⋅ será una matriz de
distinto orden que el resultado de A*B, por lo que tampoco se cumple la propiedad conmutativa,
como se ha visto en el ejemplo anterior. Si las dos matrices son del mismo orden, para que los dos
productos existan, deben ser matrices cuadradas, para que se cumpla el requisito para poderse
multiplicar, pero tampoco se cumple, en general, la propiedad conmutativa. En el siguiente ejemplo
se da el caso de la existencia de los dos productos dando como resultado una matriz cuadrada del
mismo orden en ambos casos, pero que no coincide:
Programación
En base a los principios de las operaciones básicas en matrices se procede a desarrollar un código
fuente en el lenguaje C, que realice tales cálculos.
6
Diagrama de flujo
7
Código fuente
#include<stdio.h>
#include<stdlib.h>
int main(void) {
puts("Matriz A:\n");
printf("Numero de filas: ");
scanf("%zu", &fila_a);
printf("Numero de columnas: ");
scanf("%zu", &col_a);
printf("Matriz B:\n\n");
printf("Numero de filas: ");
scanf("%zu", &fila_b);
printf("Numero de columnas: ");
scanf("%zu", &col_b);
puts("\t\tCalculadora de Matrices\n\n1.Suma\n2.Resta\n3.Multiplicacion");
scanf("%u", &opc);
switch (opc) {
case 1: sum(mtz_a, mtz_b, fila_a, col_a, fila_b, col_b); break;
case 2: sub(mtz_a, mtz_b, fila_a, col_a, fila_b, col_b); break;
case 3: mult(mtz_a, mtz_b, fila_a, col_a, fila_b, col_b); break;
default: puts("Opcion invalida...");
8
}
return 0;
}
if (!ptr)
exit(EXIT_FAILURE);
return ptr;
}
9
else
puts("No se puede realizar la suma porque las matrices no son del mismo tam!");
return;
}
void sub(float** ptr_a, float** ptr_b, size_t row_a, size_t col_a, size_t row_b, size_t col_b) {
if (row_a == row_b && col_a == col_b) {
float** res = allocMtz(row_a, col_a);
void mult(float** ptr_a, float** ptr_b, size_t row_a, size_t col_a, size_t row_b, size_t col_b) {
if (col_a == row_b) {
float** res = allocMtz(row_a, col_b);
10
https://www.uv.mx/personal/aherrera/files/2014/08/11d.-ALGEBRA-DE-MATRICES-4.pdf
http://www.recursos-virtuales.com/blog/metodos1/matrices.pdf
https://www.uv.es/~perezsa/docencia/material/IMEE/Matrices.pdf
http://cb.mty.itesm.mx/ma1010/materiales/ma1010-06.pdf
https://ydadsi409862.wordpress.com/2012/11/08/d-operaciones-matematicas/
11