Monografia: Primeros Pasos en Matlab

UNIVERSIDAD DEL TEPEYAC JEFATURA DE CENTRO DE POSGRADO CON ESTUDIOS RECONOCIDOS OFICIALMENTE POR ACUERDO 20090621 CON FE

Views 109 Downloads 2 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UNIVERSIDAD DEL TEPEYAC JEFATURA DE CENTRO DE POSGRADO CON ESTUDIOS RECONOCIDOS OFICIALMENTE POR ACUERDO 20090621 CON FECHA 3-VI-2008 DE LA SECRETARÍA DE EDUCACIÓN PÚBLICA

MAESTRÍA EN TECNOLOGÍAS AVANZADAS EN EDUCACIÓN

MÓDULO IX DESARROLLO DE MATERIALES EDUCATIVOS PARA AMBIENTES VIRTUALES DE APRENDIZAJE

MONOGRAFÍA: PRIMEROS PASOS EN MATLAB

TUTOR: MTRA. MARÍA EDITH CASTAÑEDA SÁNCHEZ ALUMNO: ALEJANDRO SANDOVAL RAMOS

CIUDAD DE MÉXICO, 5 DE AGOSTO DE 2017

Contenido INTRODUCCIÓN ........................................................................................................................................................1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS ..............................................................................................2 ETAPAS PARA LA SOLUCIÓN DE UN PROBLEMA ..................................................................................................2 PRESENTACIÓN DEL SOFTWARE MATEMÁTICO .......................................................................................................3 ENTORNO DE TRABAJO.........................................................................................................................................3 ESCRITORIO DE MATLAB (MATLAB DESKTOP)..................................................................................................4 VENTANA DE COMANDOS (COMMAND WINDOW) .........................................................................................4 EL DIRECTORIO ACTUAL (CURRENT FOLDER) ...................................................................................................5 EL ESPACIO DE TRABAJO (WORKSPACE)...........................................................................................................5 LA VENTANA HISTÓRICA DE COMANDOS (COMMAND HISTORY)....................................................................5 VENTANA DE EDICIÓN (EDITOR) .......................................................................................................................6 VENTANA DE GRÁFICOS (GRAPHICS WINDOW) ...............................................................................................6 VARIABLES ................................................................................................................................................................6 REGLAS PARA LA DECLARACIÓN DE VARIABLES ...................................................................................................6 TIPOS DE DATOS BÁSICOS EN MATLAB ....................................................................................................................7 DATOS DE TIPO NUMÉRICO..................................................................................................................................8 ESCALARES ........................................................................................................................................................8 VECTORES .........................................................................................................................................................8 MATRICES .........................................................................................................................................................8 NÚMEROS COMPLEJOS ....................................................................................................................................9 DATOS DE TIPO CARÁCTER ...................................................................................................................................9 DATO DE TIPO LÓGICO ...................................................................................................................................... 10 DATO DE TIPO SIMBÓLICO ................................................................................................................................ 10 EJERCICIOS DE PRACTICA ................................................................................................................................... 10 OPERADORES EN MATLAB ..................................................................................................................................... 11 OPERADORES ARITMETICOS CON ESCALARES .................................................................................................. 11 JERARQUÍA DE OPERADORES ARITMÉTICOS ................................................................................................. 12 EJERCICIOS DE PRÁCTICA ............................................................................................................................... 13 OPERADORES RELACIONALES ............................................................................................................................ 13 OPERADORES LÓGICOS...................................................................................................................................... 15 CONCLUSION ......................................................................................................................................................... 15 REFERENCIAS BIBLIOGRÁFICAS.............................................................................................................................. 16

i

INTRODUCCIÓN La solución de problemas no es una tarea fácil y menos si están relacionados con alguna ingeniería donde intervienen procedimientos matemáticos complejos, a lo largo de la historia los seres humanos han buscado la manera de facilitar la solución de estos problemas, para ello han elaborado metodologías y tecnología que han aplicado teniendo como resultado mejoras en diversas áreas del conocimiento.

Un punto de inflexión importante en estos avances fue la computadora electrónica ENIAC en 1944 era capaz de realizar 100,000 cálculos básicos por segundo y sentó interrogantes que ayudaron a diseñar la computadora como la conocemos hoy en día.

Una de esas interrogantes fue la forma en que debían ser programadas para que realizaran las funciones que el usuario requería, durante la década de los 50 aparecen los tres primeros lenguajes de programación modernos, cuyos descendientes aún continúan siendo utilizados: FORTRAN (1955), creado por John Backus. LISP (1958), creado por John McCarthy y COBOL (1959), creado por el Short Range Committee, altamente influenciado por Grace Hopper.

La evolución del hardware (tecnología) y del software (programas) han influenciado a todas las ramas del conocimiento, siendo empleados para realizar tareas optimizando tiempo y costos en beneficio de las personas, empresas y gobiernos. Esto se ve reflejado también en el ámbito académico donde se emplean diversas herramientas computacionales desde una simple calculadora hasta simuladores avanzados con el fin de obtener resultados en el menor tiempo posible.

En el caso particular de este curso el empleo de las herramientas computacionales va enfocado a la solución numérica de problemas de ingeniería mediante el uso del software Matlab como herramienta de cálculo. El presente trabajo tiene como objetivo introducir al alumno en el uso de Matlab, su entorno de trabajo, el tipo de datos básicos con lo que trabaja y las operaciones básicas que se pueden realizar con arreglos de tipo escalar, además plantea la necesidad de emplear una metodología para la solución de problemas que beneficiara al usuario construyendo un pensamiento ordenado y crítico que no solo le ayudara a resolver situaciones

en su ambiente educativo y laboral sino incluso en su ambiente personal.

1

METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS Buscar la solución a un problema de ingeniería no es algo tan sencillo, dependen diversos factores para la elección adecuada del procedimiento, es por eso importante que el alumno cuente con una metodología que le ayude, a continuación, se presenta una propuesta que podría ser empleada para la solución de problemas que se verán a lo largo de este curso.

ETAPAS PARA LA SOLUCIÓN DE UN PROBLEMA 1. Análisis del problema. – En esta etapa se analiza el problema que se desea resolver obteniendo los datos pertinentes de los que no lo son, lo que nos ayudara a plantear alternativas de solución, es importante revisar en esta etapa si la solución debe ser presentada en una forma específica o de manera general. 2. Planteamiento de alternativas de solución. - En muchas ocasiones, la solución de problema puede alcanzarse por más de un camino, el planteamiento de diversas alternativas de solución aumenta las probabilidades de encontrar la respuesta correcta. Se recomienda que se realicen entre 2 y 3 propuestas de solución ya que un número mayor puede provocar dificultades al momento de elegir la propuesta a desarrollar. 3. Elección de una alternativa. – Este paso es fundamental ya que la elección realizada será empleada hasta obtener la solución, una elección correcta garantizara la correcta solución en cambio una mala decisión provocara la obtención de una solución incorrecta lo cual nos hará repetir pasos afectado al proceso de solución. Cada solución propuesta debe ser bien analizada tomando en cuenta las características del problema y de la solución, así como la información con la que se cuenta. 4. Desarrollo del problema. – En esta fase se construye el algoritmo que lo definiremos como la serie de pasos ordenados para la solución del problema, así a partir de los datos relacionados con la alternativa seleccionada, se aplican las operaciones necesarias para solucionar el problema. La selección de los procesos también debe ser determinada en función de la eficiencia, es decir, las operaciones deben llegar a la solución por el camino más corto para garantizar el funcionamiento. Si la alternativa es la óptima, llevará a la solución deseada que fue prevista en la identificación del problema. 2

5. Evaluación de la solución. – Esta etapa consiste en determinar que la solución obtenida es lo que se esperaba conseguir comprobando que el resultado sea correcto. Además de ser posible se deben "pulir" los procesos ya realizados y tratar de llevarlos a un grado mayor de eficacia, pues el algoritmo más eficiente en la solución de un problema es el que llega a su objetivo final con la mayor economía de procedimientos que sea posible.

PRESENTACIÓN DEL SOFTWARE MATEMÁTICO Existen en el mercado un sinfín de software matemático que puede ser empleado como Herramienta de cálculo para la solución de problemas de ingeniería, en el caso particular de este curso se ha optado por utilizar Matlab® al ser un software muy poderoso, con una interfaz gráfica de uso intuitivo, con muchas herramientas incorporadas para la solución de problemas específicos, capaz de graficar en 2D y 3D y cuenta con su propio lenguaje de programación.

Matlab es el nombre abreviado de “MATrix LABoratory”, por lo cual se realizan cálculos numéricos con vectores y matrices, como caso particular también puede trabajar con números escalares −tanto reales como complejos−, con cadenas de caracteres y con otras estructuras de información más complejas.

ENTORNO DE TRABAJO Matlab trabaja con un entorno de trabajo dividido en ventanas agrupadas en el escritorio de Matlab (Matlab Desktop), cada ventana está orientada a una tarea concreta, la siguiente lista enumera las más empleadas durante nuestro curso:

a. La ventana de comandos (Command Window) b. La ventana histórica de comandos (Command History) c. El directorio actual (Current Directory) d. El espacio de trabajo (Workspace) e. Ventana de edición (Editor) f. Ventana de gráficos (graphics window) 3

ESCRITORIO DE MATLAB (MATLAB DESKTOP) La figura muestra el Escritorio de Matlab (Matlab Desktop), en la cual podemos observar cuatro de las ventanas antes mencionadas (Command Window, Workspace, Current Directory y Command History), esta configuración y el orden en que están presentadas pueden ser modificadas al gusto y necesidades del usuario y de la actividad que se esté desarrollando dentro del programa.

VENTANA DE COMANDOS (COMMAND WINDOW) Ésta es la ventana en la que se ejecutan interactivamente las instrucciones de MATLAB y en donde se muestran los resultados correspondientes, si es el caso. Permite guardar los valores que se calculan, mas no los comandos que se usaron para generarlos. El comando clc ayudara al usuario a limpiar esta ventana en caso de ser necesario.

4

EL DIRECTORIO ACTUAL (CURRENT FOLDER) La ventana Current Folder permite explorar los directorios de la computadora en forma análoga a la del Explorador de Windows, permitiendo copiar, borrar, renombrar o mover archivos o carpetas si es necesario. El concepto de directorio activo o directorio actual es muy importante, ya que cuando MATLAB ingresa a archivos o guarda información usa el directorio actual y en caso de los archivos no se encuentren en el mismo Matlab nos enviara un mensaje de error. En caso de que deseemos conocer el directorio actual utilizaremos el comando pwd el cual nos mostrara el directorio actual en la ventana de comandos.

EL ESPACIO DE TRABAJO (WORKSPACE) La ventana Workspace constituye el entorno gráfico para ver las variables definidas por el usuario o por algún procedimiento ejecutado en Matlab, cumple una función muy importante ya que además de mostrar el nombre de la variable se puede visualizar información importante de la misma como el tipo de dato, tamaño y el número de bytes entre otros. Para limpiar esta ventana se emplea el comando clear, se debe tener cuidado con esta instrucción ya que con esto se borran las variables y su contenido y no podrán ser recuperados a menos que vuelvan a ser declarados.

LA VENTANA HISTÓRICA DE COMANDOS (COMMAND HISTORY) La Command History ofrece acceso a las sentencias que se han ejecutado anteriormente en la Command Window. Esto es valioso ya que nos da una visión más general de lo hecho anteriormente y seleccionar lo que realmente se deseamos repetir. Las sentencias son accesibles por medio de las teclas ↑ y ↓, se pueden volver a ejecutar mediante un doble clic o por medio del menú contextual que se abre al clicar sobre ellas con el botón derecho o también se pueden copiar y pegar sobre la línea de comandos, pero se ha de copiar toda la línea.

5

VENTANA DE EDICIÓN (EDITOR)

Esta ventana permite escribir y guardar una serie de comandos sin ejecutarlos, aquí es donde el usuario realiza la codificación de sus programas, funciones y scripts. Una forma de abrir esta ventana es escribir edit en la ventana de comandos.

VENTANA DE GRÁFICOS (GRAPHICS WINDOW) Esta ventana se lanza automáticamente al solicitar una gráfica por ejemplo: plot(x,y) Permite agregar títulos, etiquetas a los ejes, líneas múltiples, etc.

VARIABLES En programación, una variable está formada por un espacio en el sistema de almacenaje (memoria principal de la computadora) y un nombre (identificador) que está asociado a dicho espacio. Ese espacio contiene una cantidad de información conocida o desconocida, es decir un valor. El nombre de la variable es la forma usual de referirse al valor almacenado: esta separación entre nombre y contenido permite que el nombre sea usado independientemente de la información que contenga.

REGLAS PARA LA DECLARACIÓN DE VARIABLES MATLAB usa las convenciones de nomenclatura comunes a la mayoría de los programas de cómputo: •

Todos los nombres deben comenzar con una letra.



Los nombres pueden tener cualquier longitud, pero a partir de MATLAB 7 solo se usan los primeros 63.



MATLAB si hace diferencia entre mayúsculas y minúsculas. 6



Los caracteres permitidos son letras, números y el guion bajo.



Los caracteres que siguen al “%” hasta el final de la línea son comentarios.



El comando isvarname verifica si los nombres de las variables son válidos devolviendo 1 para verdadero y 0 para falso.



MATLAB tiene una lista de palabras clave reservadas, el comando iskeyword nos proporciona una lista de ellas para evitar su uso como nombre de variables.

TIPOS DE DATOS BÁSICOS EN MATLAB En Matlab existen cuatro tipos de datos básicos, cada uno de ellos cumple con una función específica y la combinación de ellos se emplea para la solución de problemas más complejos, lo que hace a Matlab una herramienta de cálculo muy poderosa.

7

DATOS DE TIPO NUMÉRICO Como su nombre lo indica son datos de tipo numérico, pueden ser reales y complejos, pueden ser almacenados en escalares, vectores y matrices.

Aunque el arreglo básico que se usa en MATLAB es la matriz se pueden emplear otros arreglos como son: Un solo valor, llamado escalar, el cual se representa como una matriz 1x1. Una lista de valores, ordenados en una columna o en una fila, es una matriz unidimensional que se llama vector y se representa por mx1 ó 1xn. Y una tabla de valores ordenados en filas y columnas se representa como una matriz bidimensional mxn.

A continuación, se presenta la forma de declarar cada uno de estos arreglos:

ESCALARES Nombre de la variable = Valor numérico Ejemplo: a=5

VECTORES Nombre de la variable = [valor1, valor 2, …, valor n] x=[25,-4,20,35]

MATRICES Nombre de la variable=[valor11,valor12;valor21,valor22] A=[10,-5;35,-20]

8

NÚMEROS COMPLEJOS Ocupan el doble de memoria debido a la necesidad de guardar la parte real y la parte imaginaria. La sintaxis para la declaración de una variable compleja es:

Nombre de la variable=parte real ± parte imaginaria e=2+2i

DATOS DE TIPO CARÁCTER MATLAB puede almacenar caracteres en las variables para ello se utilizan las apostrofes para indicar que se trata de una cadena de caracteres.

Nombre de la variable=’Cadena de caracteres’ h=‘hola’

Cada carácter en una variable requiere 2 bytes de espacio para almacenarlo. Los valores numéricos se pueden transformar a carácter y viceversa. Por ejemplo, el valor numérico de la letra a es el 97, esto se obtiene utilizando el comando double.

double(‘a’) ans=97

De la misma forma si queremos saber que carácter representa el número 98 se emplea el comando char obteniendo la letra b.

char(98) ans=b

9

DATO DE TIPO LÓGICO Un dato tipo lógico puede tener únicamente los valores verdadero y falso, son resultado de una operación lógica las cuales serán explicadas en otro apartado y en Matlab son representados por: •

1 para verdadero.



0 para falso.

DATO DE TIPO SIMBÓLICO La caja de herramientas simbólica usa datos simbólicos para realizar cálculos avanzados como la solución de ecuaciones no lineales, sistemas de ecuaciones, derivadas e integrales entre otras. Una forma de crear una variable simbólica es usar la funcion sym:

L=sym(‘2*x^2-2*x’) L=2*x^2-2*x

El tamaño de un dato tipo objeto simbólico dependen de cuán grande sea el objeto. Otra forma de entender a este tipo de dato, es como si fuera una expresión algebraica o una ecuación.

EJERCICIOS DE PRACTICA 1) Declare 5 variables de tipo numérico con los siguientes valores. o 25 o -4 o 25-2i o 6 −15 o

23

4 8 15 2 −5 30

10

2) Declare 5 variables de tipo carácter con el contenido o Curso o Instituto Politécnico Nacional o Matemáticas Aplicadas o Herramientas Computacionales o Hola

3) Declare 2 variables de tipo simbólico con el contenido o 3x+2y o 8x2-5x-10

OPERADORES EN MATLAB Un operador es un símbolo que le indica a Matlab realizar manipulaciones matemáticas o lógicas específicas. Los operadores de MATLAB trabajan tanto en escalares, vectores y matrices. MATLAB tiene los siguientes tipos de operadores elementales: •

Operadores aritméticos



Operadores relacionales



Operadores lógicos

OPERADORES ARITMETICOS CON ESCALARES MATLAB maneja operaciones aritméticas entre dos escalares en forma muy parecida a como lo hacen otros programas de cómputo e incluso una calculadora. Las operaciones se realizan de la siguiente forma:

a=1+2

11

Donde: a es la variable donde se almacenera el resultado de la operación. = es el operador de asignación. 1,2 son dos escalares. + es el signo de la operación

Las operaciones básicas con escalares son: suma, resta, multiplicación, división y exponenciación. La forma en cómo se efectúan en Matlab se representa a continuación:

Operación

Sintaxis algebraica

Sintaxis MATLAB

Suma

a+b

a+b

Resta

a–b

a–b

Multiplicación

axb

a*b

División

a/b

a/b

Exponenciación

ab

a^b

JERARQUÍA DE OPERADORES ARITMÉTICOS En todos los cálculos matemáticos es importante entender el orden en el que se realizan las operaciones. MATLAB sigue las reglas algebraicas estándar para el orden de operación:

1) Primero realiza los cálculos adentro de paréntesis, desde el conjunto más interno hasta el más externo. 2) A continuación, realiza operaciones de exponenciación. 3) Luego realiza operaciones de multiplicación y división de izquierda a derecha. 4) Finalmente, realiza operaciones de suma y resta de izquierda a derecha.

Para entender mejor la importancia del orden de las operaciones, veamos el siguiente ejemplo: Se desea obtener el área total de las caras de un cilindro circular. El área es la suma de las áreas de las dos 12

bases circulares y el área de la superficie curva entre ellas, Si la altura del cilindro es 10 cm y el radio es de 5 cm, se puede usar el siguiente código MATLAB para encontrar el área

radio=5; altura=10; Area=2*pi*radio^2+2*pi*radio^2+2*pi*radio*altura El código regresa Area=471.2389

En este caso, MATLAB realiza primero el exponenciación y eleva el radio a la segunda potencia. Luego trabaja de izquierda a derecha y calcula el primer producto y luego el segundo producto. Finalmente, suma los dos productos.

EJERCICIOS DE PRÁCTICA Escribe las instrucciones en MATLAB para realizar los siguientes cálculos:

1) El área de un circulo es πr2. Si se define r como 5. ¿cuál es el área del circulo? 2) La superficie de una esfera se calcula con 4πr2, encuentre su superficie con un radio de 10 pies. 3) Calcule el volumen de un cubo con arista de 2.5 metros

OPERADORES RELACIONALES Los operadores relacionales realizan comparaciones de dos valores escalares o elemento por elemento entre dos matrices y un valor o una matriz lógica del mismo tamaño, con valores de 1 en caso de que la relación sea verdadera y 0 en caso de que sea falsa.

13

La siguiente tabla muestra los operadores relacionales disponibles en MATLAB: Operador relacional

Interpretación


=

Mayor o igual que

==

Igual a

~=

No igual a

Ejemplo para escalares: 10y z=[0 0 1 0 0]

Se declaran 2 vectores denominados x e y, se realiza la pregunta de si x es mayor que y, el resultado que se obtiene es un vector con valores de 0 y 1 que indican el resultado al comparar elemento por elemento de los vectores.

14

OPERADORES LÓGICOS La evaluación de una expresión lógica combinacional produce un resultado de tipo lógico 1 para verdadero ó 0 para falso. Los operadores lógicos empleados en Matlab son:

Operador lógico Interpretación &&

and

||

or

~

not

El funcionamiento y las operaciones que se pueden realizar se explicaran a más detalle en un apartado posterior.

CONCLUSION El conocimiento y buen manejo de una herramienta computacional como Matlab no garantiza la correcta solución de problemas de ingeniería, esto se debe a varios factores donde el usuario ( en este caso el estudiante) es el principal responsable, desde realizar el correcto análisis del problema, seleccionar la forma adecuada de solución, construir un correcto algoritmo que será transformado al lenguaje de la herramienta seleccionada, el conocer el funcionamiento y sintaxis correcto de las funciones y comandos de la misma, además de realizar el análisis y validación de los resultados obtenidos, por esta razón es importante que el alumno adquiera una disciplina al momento de resolver problemas construyendo un pensamiento ordenado y crítico tomando en cuenta todas las variables del problema para construir una solución adecuada y posteriormente si es posible optimizar la misma.

Conocer y aplicar correctamente las bases de Matlab le ayudaran al estudiante a sentar las bases para la solución de problemas de ingeniería de diversos grados de dificultad en menos tiempo, lo cual le ayudara a invertir este tiempo en un mejor análisis y propuestas de solución, que le ayudaran a mejorar sus habilidades en su trayectoria escolar como profesional.

15

REFERENCIAS BIBLIOGRÁFICAS Moore, H. (2007) MATLAB para ingenieros. Primera edición. Pearson Educación. Gilat, A. (2006). Matlab: una introducción con ejemplos prácticos. Primera Edición. Reverte. Etter, Delores (1998)M. Solución de problemas de ingeniería con MATLAB. Segunda edición. Prentice Hall. Palmero, F. (S/F). Aprendizaje de Algoritmos. Recuperado el 4 de agosto de 2017 de http://aprendizajealgoritmos.blogspot.mx/search/label/Software%20de%20Apoyo%20para%20Elabor ar%20Algoritmos W3ii.com. (2017). MATLAB operadores. Recuperado http://www.w3ii.com/es/matlab/matlab_operators.html

el

4

de

agosto

de

2017

de

16