You are on page 1of 8

Universidad de Cundinamarca, Ingeniería Electrónica, Facultad de ingeniería, Electiva Profesional II.

Manipulación de matrices, bucles y funciones


en Matlab
William Stiven Caicedo
Brian Alberto Achury Mejia
Angie Melissa Muñoz Pachon
Universidad de Cundinamarca

 Commented [ER1]: Aún falta mejorar la redacción del resumen


Resumen – La realización de este laboratorio consistió en II. PREGUNTAS INICIALES un poco
familiarizarnos con el software Matlab, de tal forma se Nota 4,2
1. Defina: ¿Qué es una matriz?, ¿Cómo se generan en Matlab?
inició con los temas básicos sobre matrices, funciones y Y ¿Cuál es la diferencia entre una matriz de 2D con respecto a
bucles así mismo ponerlos en práctica en los diferentes una matriz de 3D?
ejercicios, donde se desarrollaron diferentes programas Matriz. Es el conjunto de elementos dispuestos en forma
entendiendo las componentes de las matrices y sus rectangular formando filas y columnas, en donde cada elemento
diferentes formas de utilización. se distingo de otro por la posición que ocupa. [3]
El propósito de este laboratorio es el entendimiento y
adaptación de las matrices para poderlas manipular como Matriz en Matlab. Para introducir matrices en Matlab, se
queramos ya que esto nos servirá como herramienta en el genera un conjunto de vectores separados por punto y coma, de
procesamiento de imágenes. la siguiente forma:

𝐴 = [ 1 2 3; 4 5 6]
Índice de Términos – bifurcación, bucles, Matlab, matrices. O bien
𝐴 = [ 1,2,3; 4,5,6]
Arrojándonos:

I. INTRODUCCIÓN 123
𝐴=
456
Las matrices son un arreglo matemático de filas y columnas,
donde puede ser aplicada en diferentes áreas del saber, en Matriz 2D y 3D. la matriz 2D trabaja filas y columnas,
general son herramientas algebraicas que facilitan el llamadas en Matlab como row y column respectivamente, en
ordenamiento de datos. [1] 3D entra a formar parte un tercer elemento de profundidad,
De acuerdo a la necesidad que se presente se puede adecuar la llamado en Matla como pages, en donde simplemente es el
matriz para que cumpla con los requerimientos que se número de matrices de fila-columnas que tendrá nuestro arreglo
necesiten. Con la herramienta de Matlab se puede establecer en 3D. [4]
diferentes matrices por medio de algunos comandos que nos
brindan como ayuda o por medio de bucles podemos definir una 2. ¿Qué es una función y como se define en Matlab?
matriz y recorrer cada dato presente en esta. Las últimas Es un programa que de acuerdo a variables de entradas
investigaciones que se a realzado implementado matrices con el proporcionas previamente, arroja unos resultados respecto al
código Berlekamp – Justesen donde se utiliza matrices con procedimiento propio de la función.
datos complejos, aparte se utiliza matrices circulares donde los La estructura de una función en Matlab es:
requerimientos de almacenamiento son bajos y la recuperación
de los datos es sencilla. Con las matrices de medición Función [variables de salida]=nombrefunción[variables de
planteadas en el artículo se pueden tener mayores resultados entrada]
que otros tipos de matrices y puede ser aplicada para la
reconstrucción de imágenes. [2] Las secuencias y ordenes, así mismo, como las variables
utilizadas se encuentran en un archivo .M ocultos del resto del
programa principal. [5]

3. ¿Qué se entiende por bucles en Matlab?


Universidad de Cundinamarca, Ingeniería Electrónica, Facultad de ingeniería, Electiva Profesional II. 2

Setencias que se repite una y otra vez hasta que ya no cumple


una determinada condición propuesta, es el caso de las
sentencias while y for. [6]

4. ¿Qué es la diferencia entre un bucle y una bifurcación en


Matlab?
Una bifurcación es una sentencia que realiza una operación
siempre y cuando se cumpla una condición, en cambio los
bucles realizan operaciones repetitivas, hasta que ya no se
cumple una condición propuesta. [7]

III. PROCEDIMIENTO Y RESULTADOS

A. PROCEDIMIENTO
Creando una matriz de 5x5 bidimensional y tridimensional,
utilizamos la función magic(n), la cual nos arrojara la matriz de
n filas y n columnas, con la cual se obtendrán el tamaño con la
función size() guardándolas en unas respectivas variables.

Ilustración 2 Código en Matlab para la creación de una


matriz tridimensional.

Ilustración 1 Código en Matlab de información de la


matriz bidimensional 5x5.

Nótese en la ilustración 1, que las variables f y c almacenan el


tamaño de filas y columnas respectivamente.
Ilustración 3 Código en Matlab para obtener la
En la ilustración 2 podemos apreciar cómo se elabora una información de la matriz tridimensional.
matriz tridimensional, para este caso m(f,c,d), en donde d, el
tercer coeficiente nos indica la posición de matriz En la ilustración 3 podemos observar que para obtener la
bidimensional que forma parte de la matriz tridimensional. información del tamaño de la matriz tridimensional, se debe de
Universidad de Cundinamarca, Ingeniería Electrónica, Facultad de ingeniería, Electiva Profesional II. 3

agregar otra variable, en nuestro caso d, en la cual Ahora se procede a extraer valores de una matriz de 5x5, se
almacenaremos el tamaño del tercer componente de la matriz. extrae todos los elementos de la fila 3 y todos los elementos de
la columna 4.
Para ello se utilizaron los comandos:

e = m2 ( 3 , : )
f = m2 ( : , 4 )

Nótese que en el espacio de la columna se encuentran el signo


de puntuación (:) el cual indica que la variable e guardar todos
los elementos de la fila 3 puesto que recorre todas las columnas
de dicha fila, así mismo para la variable f, la cual guardara todos
los elementos de la columna 4, estos elementos se aprecian en
Ilustración 4 Respuesta de la rotación de la matriz m2. la ilustración 6.

Obsérvese en la ilustración 4 la matriz b es el resultado de rotar


la matriz m2 de la ilustración 1 en contra de las manecillas del
reloj, en este caso la fila 1 de la matriz m2 es ahora la columna
1 de la matriz b.

Ilustración 6 Respuesta de la extracción de elementos de la


matriz m2.

Del mismo modo extraemos los elementos de la componente 1


y componente 3 de una matriz de 5x5 tridimensional, que se
diferencia de la bidimensional puesto que se agrega un tercer
componente del siguiente modo:
Se crea una matriz de 5x5 almacenada en m2
Ilustración 5 respuesta de la rotación de la matriz
m2=magic(5)
tridimensional m.
Luego almacenaremos los valores de la matriz m2 en tres
En la ilustración 5 se indica la rotación de la matriz m
componentes para así crear la matriz tridimensional.
tridimensional de la ilustración 2, almacenada en la matriz d,
nuevamente el sentido de rotación es en contra de las manecillas
m(:,:,1)=m2
del reloj.
m(:,:,2)=m2
m(:,:,3)=m2
Universidad de Cundinamarca, Ingeniería Electrónica, Facultad de ingeniería, Electiva Profesional II. 4

En la ilustración 8 podemos observar la matriz m2 original


(arriba), y la respuesta cuando se coloca todos los elementos de
la fila 4 a ceros (abajo), para este caso creamos la matriz de
10x10

m2=magic(10)

Y luego reemplazamos todos los elementos de la fila 4 a cero

m2(4, :)=0

A continuación en la ilustración 9 realizamos la misma


sentencia anterior pero esta vez reemplazamos la columna 6 por
unos.

Ilustración 7 Respuesta de los valores de las componentes 1


y 3 de la matriz tridimensional.

En la ilustración 7 podemos observar las variables a y b que


contienen los valores de las componentes 1 y 3 respectivamente
de la matriz A tridimensional, en este caso la extracción se
realiza de la siguiente manera:

g=m(:,:1)
h=m(:,:,3)

Ahora bien, la función que realiza el signo de puntuación (:), es


de utilidad no solo para extraer elementos de una matriz,
también podemos cambiar elementos en la misma
Ilustración 9 Respuesta de los valores de la matriz m2 de
10x10 con elementos de la columna 6 en uno.

Pero el análisis y la extracción de información de una matriz se


hace aún más compleja cuando se quiere extraer uno o varios
elementos de cualquier fila o columna u averiguar información
de ellos, para ello hacemos uso de sentencias como bucles y
bifurcaciones.
Dada una matriz determinada, se requiere contar cuantos
elementos son ceros y si existen cambiar dichos elementos por
(-1).
Para este caso la sentencias FOR e IF son muy útiles.

For n=1 : f
For k=1:c
If (m (n, j) == 0)
M (n, j) =-1
cont=cont+1
end
end
end
Ilustración 8 Respuesta de la matriz m2 intercambiando
los valores de la fila 4 a cero. Obsérvese que al utilizar las sentencias anidadas, en nuestro
caso el FOR, estamos recorriendo la matriz desde la primera fila
y primera columna hasta la última fila y última columna,
Universidad de Cundinamarca, Ingeniería Electrónica, Facultad de ingeniería, Electiva Profesional II. 5

mientras filtramos los elementos con la sentencia condicional


IF. For i=1:f
For j=1:c
m(i, j)=i
End
End

Ilustración 12 Respuesta de la matriz m con elementos de


acuerdo al número de fila correspondiente.

Por último, se quiere colocar todos los elementos de la fila 5 de


una matriz de 6x6 iguales al valor del primer elemento de la
matriz, con la sentencia m (5, :)=m (1, 1), se logra colocar todos
estos elementos de la fila 5, iguales a la primera posición de la
Ilustración 10 Respuesta del número de elementos cero en matriz m tal como se muestra en la ilustración 13.
la matriz, y la matriz resultante luego de colocar a -1 los
elementos ceros.

En la ilustración 10 podemos observar que la variable cont


almaceno el número de ceros que existía en la matriz, y que
luego se reemplazaron por -1, dando como resultado la matriz
m.

Ahora podemos hacer uso de las condiciones para colocar a


ceros las filas pares de una matriz determinada, como se
muestra en la ilustración 11.
Nuestra condición se realizará con la función mod(i,2), el cual
Ilustración 13 Respuesta de los valores de la fila 5 iguales a
nos arroja el módulo de la división de i entre 2, la cual tiene que
la primera posición de la matriz.
ser cero si es un numero par.

B. EJERCICIO 1: suma de matrices

Para el siguiente ejercicio se requiere sumar dos matrices de


3x3, una llamada M1 y que se determina con la función magic()
y la otra M2 que se determina con la función eye() que es crear
una matriz identidad, la suma la realizara una función que se
crea, llamada SumaMatrices(), en la ilustración 14 podemos
Ilustración 11 Respuesta matriz m con los elementos de las observar la respuesta de la suma de las matrices almacenada en
filas pares a cero. M3.

Luego de jugar con las características de una matriz determina,


se requiere rellenar una matriz de n tamaño donde cada
elemento sea el número de la fila en donde se encuentre, tal
como se muestra en la ilustración 12.

La sentencia utilizada es el FOR predispuesto de la siguiente


manera:
Universidad de Cundinamarca, Ingeniería Electrónica, Facultad de ingeniería, Electiva Profesional II. 6

La elaboración de este laboratorio nos da una amplia visión de Commented [ER2]: Falta mejorar la redacción de las
la utilización de diferentes comandos, y formas de realizar conclusiones, para el próximo informe incluyan datos numéricos en
algún problema en Matlab. las conclusiones o comparaciones con otros autores.

Se puede considerar que Matlab es un software muy óptimo


para el aprendizaje y para procesar diferentes matrices y por
tanto el procesamiento de imágenes.

Lo importante de esta práctica, es que además de anexar una


lista de comandos en un lenguaje de instrucciones se busca en
general el entendimiento del proceso, las funciones que ejerce
los comandos al introducirlos por el usuario.

VI. REFERENCIAS

[1] C. Steegmann Pascual, J. A. Rodríguez Velázquez y


Á. A. Juan Pérez , «UOC,» [En línea]. Available:
http://www.uoc.edu/in3/emath/docs/Algebra_Matric
es.pdf.
[2] L. Liu, X.-J. Liu y S.-T. Xia, «DETERMINISTIC
COMPLEX-VALUED MEASUREMENT
MATRICES,» IEEE, 2014.
Ilustración 14 Respuesta de la suma de matrices [3] «VItutor,» [En línea]. Available:
almacenada en M3. http://www.vitutor.com/algebra/matrices/matrices.ht
ml.
[4] [En línea]. Available:
C. EJERCICIO 2: suma de los elementos de un vector http://www.mat.ucm.es/~rrdelrio/documentos/practi
ca3_200506.pdf.
Para el siguiente ejercicio se requiere realizar la suma de un
vector de una fila de elementos aleatorios de tamaño 5, los [5] «Matlab - Funciones,» [En línea]. Available:
elementos aleatorios se generan con la función rand () de http://www.sc.ehu.es/sbweb/energias-
Matlab, en la ilustración 15 podemos observar la respuesta de renovables/MATLAB/basico/funcion/funcion.html.
la suma del vector x almacenada en y1, la suma se realiza en [6] «Matlab - sentencias iterativas,» [En línea].
una función creada llamada, calcularsumavector (). Available: http://www.sc.ehu.es/sbweb/energias-
renovables/MATLAB/basico/iterativo/iterativo.html.
[7] E. Moreno. [En línea]. Available:
http://www.21tradingcoach.com/es/formación-
gratuita/finanzas-computacionales/192-
programación-en-matlab-bucles-y-bifurcaciones.

Ilustración 15 Respuesta de la suma de elementos de un


vector.

IV. ANÁLISIS DE RESULTADOS


Matlab nos ofrece diferentes comandos y funciones, para
determinar matrices de diferentes tamaños y formas
características, tales como matriz identidad, valores aleatorios
positivos y negativos, caracteres etc.

V. CONCLUSIONES
El manejo de las matrices tiene aplicaciones muy importantes
en el procesamiento de imágenes, ya sea arreglos
bidimensionales o tridimensionales.
Universidad de Cundinamarca, Ingeniería Electrónica, Facultad de ingeniería, Electiva Profesional II. 7
Universidad de Cundinamarca, Ingeniería Electrónica, Facultad de ingeniería, Electiva Profesional II. 8

You might also like