Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PRÁCTICA 1:
Programación en MATLAB
Grupo: 6AV1
Integrantes del Equipo:
03 de septiembre de 2016
1
TABLA DE CONTENIDO
I. OBJETIVO ........................................................................................................................ 2
II. JUSTIFICACIÓN ............................................................................................................... 2
III. MARCO TEÓRICO ........................................................................................................... 3
II. JUSTIFICACIÓN
La necesidad del ingeniero de encontrar solución rápida y efectiva a los problemas
que se le presentan ha llevado a utilizar herramientas como la programación, la
cual da solución a dichos problemas atreves de la codificación de algoritmos. En
el curso de Teoría de Control II surge la necesidad de utilizar a la programación
puesto que la gran mayoría de los procesos matemáticos que son hechos a mano
para resolver un problema toman bastante tiempo y llegan a ser inexactos, para
esto uno de los programas o lenguajes que ofrece un entorno amplio de
herramientas basado en matrices para dar solución a esto es MatLab.
A una matriz que está compuesta por más de dos dimensiones se le denomina
matriz multidimensional en el MATLAB. Las matrices multidimensionales en
MATLAB son una extensión de la matriz de dos dimensiones normales. Las
matrices tienen dos dimensiones: la dimensión de fila y columna de la dimensión.
- Creación de matrices multidimensionales.
Se pueden utilizar las mismas técnicas para crear matrices multidimensionales
que se utilizan para las matrices bidimensionales; además, MATLAB proporciona
una función de concatenación especial que es útil para la construcción de matrices
multidimensionales.
4
- En esta sección se discute:
Creación y extensión de matrices multidimensionales utilizando la asignación
de indexado.
Puede crearse una matriz multidimensional mediante la creación de una matriz 2-
D, y se amplía. Crear una matriz de 2-D A y se extienden A a una matriz de 3-D
utilizando la asignación indexada:
A = [5 7 8; 0 1 9; 4 3 6];
A (:,:, 2) = [1 0 4; 3 5 6; 9 8 7]
A (:,:, 1) =
578
019
436
A (:,:, 2) =
104
356
987
Se puede extender una matriz mediante la asignación de un valor único a los
nuevos elementos. MATLAB expande el valor escalar para que coincida con las
dimensiones de los elementos tratados. Esta expansión se llama expansión
escalar.
Generación de matrices usando las funciones de MATLAB.
Pueden utilizarse las funciones de MATLAB como randn, ones y zeros para
generar matrices multidimensionales de la misma manera que se utilizan para las
matrices bidimensionales. Cada argumento que proporcione representa el tamaño
de la dimensión correspondiente de la matriz resultante.
Por ejemplo, para crear una matriz de 4x3x2 de números aleatorios distribuidos
normalmente:
B = randn (4,3,2)
La construcción de matrices multidimensionales con la función de gato.
Los cat, la función es una forma sencilla de construir matrices multidimensionales;
concatena una lista de matrices a lo largo de una dimensión especificada:
B = cat (dim, A1, A2 ...)
Donde A1, A2 y así sucesivamente son las matrices para concatenar, y dimes la
dimensión en la que para concatenar los arrays. (Nogueras, 2013, págs. 23-30).
5
Variable: x
Coeficiente: ai, i=0 . . N
Grado: N
De ahora en adelante utilizaremos los términos vector y polinomio indistintamente para
referirnos al mismo concepto. Por ejemplo, sea:
p ( x) 8 x 4 5 x 3 x 2 3 x 4
En Matlab debemos ingresar a p de la siguiente manera:
>>p=[8,-5,1,3,4]
>>ans
8 -5 1 3 4
Elementos básicos:
Variable: x
Coeficiente: ai, i=0 . . N
11
Grado: N
De ahora en adelante se utilizarán los términos vector y polinomio indistintamente
para referirnos al mismo concepto. Por ejemplo, sea:
p ( x) 8 x 4 5 x 3 x 2 3 x 4
En Matlab debemos ingresar a p de la siguiente manera:
>>p=[8,-5,1,3,4]
>>ans
8 -5 1 3 4
(Nogueras, 2013, págs. 49-51)
IV. DESARROLLO
¿Cómo se ha hecho la práctica?
Para esta práctica fue necesario usar el programa MATLAB con el cual se
pudieron programar los ejercicios pedidos para obtener las respuestas, por la
misma razón fue necesario hacer una investigación que permitiera conocer y
aplicar las funciones y comandos del mismo.
¿Qué se ocupó?
Las instrucciones utilizadas fueron entre otras: el ciclo for, while, las condicionales
if-else, la instrucción switch, break y funciones para registrar los datos ingresados
por el usuario como input.
¿Qué se hiso?
Como primer punto se dio una lectura a las instrucciones de la practica para
posteriormente comenzar con la realización de los programas que se requerían
Experimentación.
Para plasmar los resultados aquí mencionados, fue necesario experimentar con
las funciones que serian utilizadas, para de esa manera saber cuándo y cómo es
14
que sería conveniente utilizar cada una de ellas, dado que, al ser similares, en
ocasiones, se llego a confundir el uso de las funciones, gracias a esto se pudo
tener una mejor comprensión sobre MATLAB y sobre la programación que esta
práctica requería.
Los datos deben darse mediante un archivo “.m” y debe funcionar para una matriz
de cualquier tamaño. Los resultados deben darse por pantalla, (se debe mostrar la
matriz original y la matriz con elementos intercambiados).
Análisis y Caracteristicas
Ejercicio 2.1.
Para hacer el cambio de elementos de una matriz a otra se necesita que el usuario
ingrese el tamaño de la matriz, así como los valores que contendrá la misma, y
con el uso de comandos como if, while, for y una copia de la matriz se procede a
jugar con las variables; con los ciclos for, uno que aumente y otro que disminuya
para poder lograr los cambios de elementos.
Ejercicio 2.6.
Para la creación del menú, se deben tener los programas anteriores ya finalizados para que
cuando el usuario indique la opción que desea, no se tenga algún error en la ejecución.
Al ejecutar el programa del menú, de desplegara el menú que se realizo, el cual contiene los
ejercicios anteriores, y otros mas como el de la opción de salir.
Al introducir la opción deseada, el programa nos dirigirá a la opción que el usuario eligió.
23
Ejercicio 2.7
Estos 50 elementos son números de entre 0 y 250, que el programa elige al azar.
24
25
Para este programa de cambiar de lugar los números ubicados en una matriz de
nxm siendo llenada por medio de un archivo .m. Lo primero que se pensó fue en el
algoritmo para poder hacer el código adecuado, la primera parte fue sencilla, pedir
los tamaños de n y m al usuario, pero indemiatamente después fue donde
surgieron algunos obstáculos para llevarlo acabo; una de las interrogantes fue que
poner en cada programa (ya que se utilizaron dos) hasta que lo intentamos y en el
primero llenamos la matriz como en los programas anteriores, usando dos ciclos
for para llenar las filas y columas, también se uso la condicional if para dar la
instrucción a los ciclos de llenar los números indicado por el usuario en cuando a
filas y columnas. Todo esto se guardo en una variable, la cual se utilizo en el
27
segundo programa para de esta forma tener los datos en un archivo.m como lo
indicaba la practica, después se volvió a utilizar un ciclo for para poder cambiar el
orden de los números en la matriz.
Para el segundo programa fue hacer los mismo solo que en esta ocacion con la
instrucción switch-case, con la intención de que aparecieran todos los casos
posibles con su respectivo programa, las instrucciones if,for y while se usaron
nuevamente para las relgas de operaciones, llenar las matrices y hacer los ciclos
infinitos.
Este programa fue muy sencillo, primero se dio la instrucción para igualar
variables a 50 (numeros que aparecieron en el programa) 0 y 250 (valores
deseados en este ejercicio) despues con la instrucción rand se lleno el vector con
valores aleatorios entre los ultimos dos valores y para finalizar se usaron las
instrucciones sort y flipud para ordenar los numeros del vexctor de menor a mayor
y de mayor a menor respectivamente.
28
VII. CONCLUSIONES
Bernardino Duran Efrén.
MatLab es un software que ofrece un entrono bastante práctico debido a las
funciones que como lenguaje permite al programador plasmar los
algoritmos de una manera sencilla, también al ser MatLab un lenguaje que
ofrece como característica principal la facilidad de utilizar vectores, esto
permite por consiguiente el manejo de matrices haciendo sin duda que sea
la plataforma correcta para la solución de problemas de ingeniería o
científicos creando una ventaja superior respecto a otros lenguajes de
programación. Esta práctica me lleva a concluir, después de los pequeños
problemas que surgieron en su elaboración, que como alumnos es muy
importante que tengamos iniciativa propia para mantener el conocimiento
del manejo de herramientas computacionales como es el uso de la
programación, puesto que en muchas ocasiones lo llegamos a olvidar y
esto va generando deficiencias o disminuyendo las capacidades que
tendremos al ser profesionistas.
Estrada Rosales Aydee Biyu.
MATLAB es una de las herramientas tenológicas que permite de una forma
práctica la comprensión de diferentes conceptos y asi mismo la fácil
resolución de problemas, que en forma manual la solución para los mismos
problemas puedieran llegar a ser difícil o tardada. Con la utilización
adeacuada de comandos se pudieron obtener los resultados que se
esperaban y a su vez se pudieron recordar algunas herramientas que
MATLAB ofrece, ya que es un programa para realizar cálculos numéricos
que permite el manejo de vectores y matrices tanto en números reales
como en numeros complejos, asi como hacer operaciones como la suma, la
multiplicación, o el jugar con los valores que contengan las matrices o los
vectores; aunque se presentaron algunas dificultades, estas se pudieron
sobrellevar con la colaboración de los integrantes del equipo, pues fue
necesario investigar algunos de los comandos que se necesitaban para
29
resolver la practica, y que no se tenial tan claros. El investigar y aclara las
dudas que hiban surgiendo, dio como resultado la correcta realización de
cada uno de los programas que se solicitaba, asi como la comprobación de
cada uno de los programas, para poder cerciorar que los procedimientos
que se siguieron y los resultados que se obtenial eran los correctos.
Godínez Pereda Daniel.
En esta práctica pudimos recordar como usar el programa correctamente,
hay muchas herramientas que son para facilitar las cosas como lo son los
ciclos for, while, las funciones de usuario etc. Las cuales nos permiten
simplificar nuestro trabajo, ya que la maquina hace lo que se le indica,
desde resolver un problema de matrices, hacer graficas e incluso simular
diagramas en lazo cerrado y abierto. Sin duda aprender algo así es muy
importante en la rama de ingeniería.
Hernández Guerrero Rolando.
Con el desarrollo de esta primera practica, se cumple el objetivo planteado,
el cual es retomar de nuevo los conocimientos en Matlab, desenvolvernos
en la cuetion de la programación de este sistema, ya que, con los diferentes
ejercicios planteados, pudimos retomar, reafirmar y comprender el
funcionaminto de los sistemas matemáticos a la hora de la programación,
de igual manera, reafirmar el manejo de este sistema computacional, que
es de gran ayuda, para la comprensión de cualquier sistema matemático.
Todo esto nos llevo a comprender el funcionamiento de cada comando
utilizado en cada programa, reafirmarlos y reforzarlos para practicas
posteriores.
Oviedo Ángeles Carlos Herón.
En esta practica, con uso de una herramienta poderosa, la cual es el
software MATLAB se pudo realizar y reafirmar conocimientos previos de
programación y de matrices. Combinados, primero para usar las setencias
mas usuales y universales, como los son el IF, WHILE, FOR, SWITCH, en
las cuales se deben combinar entre si para generar códigos complejos para
hacer soluciones simples, como lo es el ingreso del tamaño de una matriz,
30
la cual si no se especifica que no puede existir una de tamaño 0x2 o 3x0, lo
cual es un error. Incluso muchas veces se presentaron errores, ya que
tenemos fijada la mente en la postura de programador, lo cual, es muy
bueno, pero igual debemos tener la mentalidad de usuario, el cual
desconoce y se le debe guiar de manera muy detallada, precisa y sencilla.
Y sin olvidar que nuestros programas deben llevar una lógica y secuencia
bien definida, con comentarios para que otros programadores puedan
entender fácilmente. Matlab es muy poderoso, ya que nos llega a simplificar
mucho código, como el algoritmo para multiplicar matrices, en donde aquie,
en una línea simple lo podemos declara, siempre y cuando se den las
condiciones necesarias. O incluso, nos permite evitar todo el código del
método de la burbujar al buscar mayor y menor numero en una lista, al
tener un comando propio el cual nos lo da por pantalla. Sin duda este
software es de gran utilidad para la materia de Teoria del Control II, y mas
para el análisis de sistemas, sin olvidar, la didáctica de programación que
debemos dominar.
31
VIII. REFERENCIAS Y BIBLIOGRAFÍA