1 manual curso matlab basico estudio

Upload: patty-pilco

Post on 06-Jul-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    1/127

    UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB

    Página 1 de 127 Dr . L igdamis A. Gutiérrez EspinozaDocente - Investigador  

    CURSO BÁSICO DE LENGUAJE MATEMÁTICO MATLAB 

    I SESIÓN

    Facultad de Ingeniería Civil y Mecánica

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    2/127

    UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB

    Página 2 de 127 Dr . L igdamis A. Gutiérrez EspinozaDocente - Investigador  

    I GENERALIDADES 

    Título: Curso Básico de Lenguaje Matemático Matlab y Simulink  

    Dirigido a: Docentes de la Carrera de Ingeniería Civil yMecánica

    Duración: 40 horas 

    Horario: 8:00 a 14:00 hrs + 4 hrs de Trabajo Autónomo pordía

    Fecha: Semana del 28 Marzo al 01 de Abril de 2016 

    Lugar: Laboratorio Informático No. 2, tercer piso del

    edificio de Civil.

    Docente:Ph.D . L igdamis A. Gutiérrez E. 

    II INTRODUCCIÓN 

    El término MATLAB proviene de la abreviación de su nombre completo en inglés MATrixLAB oratory, y cuya traducción al español es Laboratorio de Matrices, está íntimamenterelacionado con la estructura de las matrices, debido a que es programa sobre cálculo científicoque permite en un entorno amigable, manejar de manera muy sencilla y rápida: vectores,

    matrices, crear gráficos, realizar cálculos, simulaciones de modelos etc.

    En este sentido se convierte en una poderosa herramienta que se aplica tanto en el ámbitoeducativo como a nivel profesional en la industria. Posee una gran cantidad de aplicaciones enla mayoría de problemas prácticos de la ingeniería y las matemáticas. Es ampliamente utilizado

    en áreas como la geofísica, diseño de sistemas de control, procesamiento de señales, simulaciónde sistemas dinámicos, en la optimización, problemas de modelaje entre otros, además poseeuna gran capacidad gráfica en 2 y 3 dimensiones que ayudan al entendimiento y a la solución de problemas complicados de cálculo y de sistemas de control.

    Es una software de fácil manejo y aprendizaje, incluso que otros programas como Visual Basic,su entorno de programación a través de script y el lenguaje propio de archivos .m hacen de estelenguaje uno de los más sencillos de manejar tanto para los docentes, alumnos y diseñadores deaplicaciones para la resolución de problemas muy complicados de cálculo que en otros

    lenguajes llevarían muchas líneas de programación, en Matlab a través de muchas funciones pre-establecidas, solo necesita de unas pocas.

    III OBJETIVOS (Expresados como resultados esperables de la Enseñanza)

    El estudiante Identifica, comprende y utiliza los siguientes aspectos:

    1.  Qué es el lenguaje matemático Matlab (alcances y aplicaciones)

    2.  Instalación del lenguaje y elementos principales3.  Ambiente Matlab, Manejo del entorno de programación en Matlab, herramientas del

    escritorio y ventanas de Matlab4.

     

    Manejo de Vectores y Matrices5.  Programación en Matlab (script)

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    3/127

    UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB

    Página 3 de 127 Dr . L igdamis A. Gutiérrez EspinozaDocente - Investigador  

    6.  Entrada y manejo de datos en Matlab7.  Manejo de fórmulas, texto y cálculos en Matlab8.  Funciones en Matlab9.  Condiciones y flujos de control en Matlab

    10. Validación y manejo de errores en Matlab

    11. 

    Graficas en Matlab (2d y 3D)12.  Interfaz Gráfica de Usuario (GUI)13.  Introducción a Simulink y simulación de modelos

    IV METODOLOGÍA 

    La metodología del curso se basa en el contacto permanente con la práctica a través deejemplos, de modo que el estudiante pueda familiarizarse al máximo con todos los elementosdel software. A partir de este enfoque eminentemente práctico se pretende dar una orientaciónprofesionalal curso, no limitando las clases a exponer contenidos teóricos sino a la continuarealización de ejercicios prácticos y aplicados en lo más posible a casos reales. En este sentido,el curso está planificado para dotar al usuario de una herramienta muy útil guiándolo desde losaspectos más elementales y básicos hasta algunos de los más complicados, determinando el

    nivel de aprendizaje como intermedio.

    V CONTENIDOS Temario LenguajeMatemático MATLAB

    Unidad I

    Conceptos Básicos: introducción al lenguaje Matlab

    1.1 ¿Qué es un Matlab?

    1.2 Instalación de Matlab1.3 Ambiente Matlab, Ventanas, herramientas de escritorio y entorno de programación1.4 Sintaxis y ayuda de Matlab1.5 Comandos básicos1.6 Cálculos desde la ventana de comandos

    1.6.1 Operadores aritméticos1.6.2 Operadores relacionales1.6.3 Operadores lógicos

    Unidad II

    Vectores y Matrices

    2.1 Vectores y Matrices desde la ventana de comandos2.2 Operaciones con vectores

    2.3 Operaciones con Matrices2.4 Variables y expresiones con matrices2.6 Funciones que actúan sobre vectores2.7 Funciones que actúan sobre matrices

    Unidad III

    Programación en Matlab

    3.1 Creación de archivos .m en Matlab3.1.1 archivos de comandos (scripts)

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    4/127

    UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB

    Página 4 de 127 Dr . L igdamis A. Gutiérrez EspinozaDocente - Investigador  

    3.1.2 sentencia return 3.1.3 sub-funciones

    3.2 Entrada y manejo de datos3.2.1 función input  

    3.2.2 función disp 

    3.3 Funciones en Matlab3.4 Condiciones y flujos de control en Matlab

    3.4.1 Bucleif else 3.4.2 Bucle for  

    3.4.3 While 3.4.4 Switch 

    3.4.5 Break y continue 3.4.6 Sentenciastry...catch...end  

    Unidad IV

    Gráficos en Matlab

    4.1 Gráficos Bidimensionales 2D4.1.1 Función plot  4.1.2 Estilos, líneas, colores y marcadores en la función plot4.1.3 Uso de herramientas de dibujo (plottools)4.1.4 comando subplot  

    4.1.5 control de los ejes: función axis() 4.1.6 función figure 4.1.7 Dibujo de funciones simples: ezplot, ezpolar , etc.

    4.2 Gráficos Tridimensionales 3D

    4.2.1 Tipos de funciones gráficas 3D: ezplor3, ezsurf, etc.4.2.2 Utilización de color en 3D y uso de plottools4.2.2 Dibujos de mallados: mesh, meshgrid, surf  4.2.3 Dibujos de líneas de contorno: contour  

    Unidad V

    Interfaces Gráficas de Usuario (GUI) en Matlab

    5.1 Conceptos básicos de una GUI

    5.2 Elementos básicos de una GUI5.2.1 Componentes GUI (widgets): Paneles, texto, botones, etc.

    5.2.2 Objetos visuales de la interfaz5.3 Creación de gráficos y texto5.4 Programación de elementos de la GUI: Botones, etc.

    5.5 Creación y diseño de GUI's

    VI MÉTODO DE EVALUACIÓN 

    La evaluación estará dividida en: 5 actividades presenciales (trabajo en grupo en las sesiones) =al 60%, y 5 actividades no presenciales (trabajos de investigación o ejercicios dados a resolver

    como trabajo autónomo), con valor de 40%, lo que suma un 100%, que corresponde a un de 10 puntos de la evaluación. Véase los cuadros 1 y 2 siguientes, correspondientes a la Evaluación y

    a la asistencia.

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    5/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 5 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    VII BIBLIOGRAFÍA 

    1.- Moore, Holly, 2007 - Matlab para Ingenieros. Pearson –  Education, México. 624 pág.

    2.- Pérez, César , 2002 -Matlab y sus Aplicaciones en las Ciencias y la Ingeniería. Pearson –  Education S.A., Madrid, España. 632 pág.

    BIBLIOGRAFÍA COMPLEMENTARIA:

    1.- Creating GraphicalUser Interfaces Ver. 1, 2000 – The Math Works, Inc., USA, 180 pág.

    BIBLIOGRAFÍA DIGITAL:

    1.- Aprenda Matlab 7.0 como si estuviera en Primero

    Javier García de Jalón, José Ignacio Rodríguez, Jesús VidalEscuela Técnica Superior de Ingenieros Industriales

    Universidad Politécnica de Madrid, España. 136 páginas

    URL:

    http://www.fiwiki.org/images/d/db/Aprenda_Matlab_7_como_si_estuviera_en_primero.pdf  

    http://www.fiwiki.org/images/d/db/Aprenda_Matlab_7_como_si_estuviera_en_primero.pdfhttp://www.fiwiki.org/images/d/db/Aprenda_Matlab_7_como_si_estuviera_en_primero.pdfhttp://www.fiwiki.org/images/d/db/Aprenda_Matlab_7_como_si_estuviera_en_primero.pdf

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    6/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 6 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    FICHA Y HORARIO DE CLASE

    Planificación y desglose de actividades de la primera sesión, de acuerdo a lo estipulado en la planificación del curso: “Curso Básico Matlab”. 

    a) No. de Sesión: I Sesión:Unidad: I Conceptos Básicos: Introducción al Lenguaje Matlab. 

    Sub-competencia: Identifica y comprende los conceptos básicos del lenguaje, suinstalación, ambiente y entorno de trabajo, así como los comandos básicos y el manejoen la ventana de comandos.

    Unidad: II Vectores y Matrices:Sub-competencia: Identifica y comprende los conceptos básicos del lenguaje, suinstalación ambiente y entorno de trabajo. 

    FICHA DE CLASE (Contenidos a desarrollar en la sesión) 

    A Contenido/Tema Objetivos

    ActividadesMetodología

    RR.DD. EvaluaciónObservaciones

    1

    Bienvenida/Prese

    ntar los

    Contenidos

    Inciso I1.1 Introducción

    General. Ver

    objetivo del día,

    horario, Horarios

    y evaluaciones.

    1.2 Actividad

    diagnóstica, 1.3

    Conceptos

    básicos

    (operadores)

    1.3.Actividad

    ejercicios

    prácticos

    1.3. Co-

    evaluación,

    Puesta en común

    ejercicios

    *Bienvenida,

    *Presentar el plan de

    trabajo.

    *Introducir la materia

    y dar a conocer los

    tópicos generales del

    curso.

    *Comprender los

    conceptos del

    lenguaje Matlab y su

    entorno.

    * Conocer los tópicos

    generales de Matlab y

    Simulink.

    * conocer los

    comandos básicos y

    las operaciones a

    través de la ventana

    de comandos

    * Asignar grupos de

    trabajo para algunas de

    las prácticas. (3)

    * Dinámica de FODA

    para evaluación inicial

    de toma de Pulso Inicial

    y como integración entre

    el grupo.

    * Inst. y Conf. Matlab

    * ejercicios de

    operaciones básicas y

    comandos en Matlab

    * ejercicios de cálculos

    desde la ventana de

    comandos

    Método expositivo

    de conferencia

    tradicional/

    Pizarra, Textos

    Uso de proyector

    como medio

    audiovisual.

    Método

    demostrativo

    práctico de trabajo

    en grupo en las

    clases prácticas

    Aplicar pequeño

    test como

    actividad

    diagnóstica de

    avance grupal e

    individual. Esto

    mediante un

    análisis FODA

    (DAFO)

    Puesta en común

    sobre el resultado

    del análisis FODA

    Co-evaluación

    ejercicios.

    Puesta en común

    resultados

    ejercicios

    1. Presentar proceso

    general del curso

    2. Presentar

    conceptos básicos de

    simulación y

    abstracción de

    modelos.

    3. Presentar los

    elementos de Matlab

    y Simulink

    4. Preparar hojas para

    las prácticas con los

    ejercicios.

    2

    Inciso II

    1.3. Conceptos devectores y

    matrices en

    Matlab

    1.4.Conceptos de

    fórmulas en

    Matlab

    Conocer las

    terminologías, lasintaxis y el

    funcionamiento de

    Matlab. Conocer los

    elementos Conocer el

    trabajo con vectores,

    matrices y fórmulas

    en Matlab.

    * Trabajo en los grupos

    sobre los vectores ymatrices.

    Método expositivo de

    conferencia tradicional/Pizarra, Textos

    Uso de proyector como

    medio audiovisual.

    Método demostrativo

    práctico de trabajo en

    grupo en las clases

    prácticas 

    Discusión y Puesta

    en común sobrehoja de trabajo 1

    5. Orientar sobre

    próxima evaluación

    6. Asignar Ejercicios

    prácticos de Matlab

    7. Entrega material

    (hojas y video)

      A = Número de Actividad.

      RR.DD. = Recursos didácticos

    La sesión se dividirá en dos bloques con un descanso entre cada uno. Ver a continuación elcuadro del horario para indicar los tiempos de cada actividad.

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    7/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 7 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    b) HORARIO I SESIÓN  (29/03/16)Curso Básico Matlab.

      La hora de clases es de 60 minutos: 8:00 am. a 14:00 pm.

    No. Horario Actividad Recursos Observación

    1 8:00 – 8:10 10’ Bienvenida

    Presentación General/Docente

    Cartulinas,

    Marcadores

    Pizarra, Proyector

    Toma de Asistenciacon hojas preparadas

    2 8:10 – 8:25 15’ Presentar objetivo día, Presentar

    Horario, objetivo día. Plan y

    Contenidos del curso, Evaluaciones

    Proyector, Filminas,Pizarra

    Revisión puntos principales día

    3 8:25 – 8:40 15’ Formación de grupos/Distribución de

    Material

    Proyector

    Filminas - Hojas,

    DVD

    Entrega Material /OneDrive

    4 8:40 – 8:50 10’  Explicación Actividad DiagnósticaProyector

    Filminas, Hojas deFODA

    Distribución de hojas

     para trabajo

    5 8:50 – 8:55 5’  Trabajo Individual FODA Hojas de FODA

    6 8:55- 9:05 10’  Trabajo en Grupos FODA Hojas de FODA

    7 9:05 – 9:10 5’  Plenario

    8 9:10 – 9:20 10’ Explicación de la Instalación de Matlab

    (7.0 y 14.0)ProyectorFilminas

    Hojas con ejercicios engrupos

    9 9:20 – 9:45 25’ Explicación Entorno Matlab, y

    Conceptos básicos, comandosProyector

    Filminas

    10 9:45 – 10:00 15’ Ejercicios en grupo comandos y

    operaciones en la ventana de comandosComputadoras

    alumnos, pizarra

    11 10:00 – 10:10 10’  Puesta en Común, ejercicios Pizarra, marcadores

    12 10:10 – 10:30 15’  DESCANSO

    13 10:30 – 11:15 45’  Explicación, Vectores y MatricesProyector, Filminas,

    Computadora

    14 11:15 – 11:45 30’ Trabajo en Grupos sobre vectores y

    MatricesHojas de ejercicios,

    computador

    Entrega de hoja de

    ejercicios No. 1

    1511:45 – 12:00 15’ 

    Co-evaluación de ejercicios por parte

    de los grupos

    Hojas de ejercicios,

    soluciones, esferos

    rojos

    Entrega de soluciones

    de ejercicios

    16 12:00 – 12:20 20’  Explicación fórmulas en MatlabProyector, Filminas,

    Computadora

    17 12:20 – 13:00 40’  Trabajo en Grupos sobre fórmulasHojas de ejercicios,

    computador

    Entrega de hoja de

    ejercicios No. 2

    18 13:00 – 13:20 20’  Co-evaluación de ejerciciosHojas de ejercicios,

    soluciones, esferos

    rojos

    Entrega de solucionesde ejercicios

    19 13:20 – 13:40 20’ Recopilación Final

    Hasta Próxima SesiónMiércoles 30/03/2016

    Proyector, Filminas,

    ordenador

    Orientaciones para la

    siguiente sesión.

    Entrega hojas trabajo

    autónomo y Video

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    8/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 8 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    DESARROLLO DE CONTENIDOS

    Unidad I

    Conceptos Básicos: introducción al lenguaje Matlab

    1.1 ¿Qué es un Matlab?1.2 Instalación de Matlab1.3 Ambiente Matlab, Ventanas, herramientas de escritorio y entorno de programación

    1.4 Sintaxis y ayuda de Matlab1.5 Comandos básicos

    1.6 Cálculos desde la ventana de comandos1.6.1 Operadores aritméticos1.6.2 Operadores relacionales1.6.3 Operadores lógicos

    1.1 ¿Qué es Matlab? (alcances y aplicaciones)

    Es un lenguaje de programación de muy alto nivel basado en vectores, arrays y matrices., deambiente interactivo que permite realizar tareas muy complejas, con mayor velocidad que lamayoría de los lenguajes de programación.MATLAB, es un programa grande de aplicación, quese escribió originalmente en FORTRAN y después se rescribió en C, precursor de C++).

    El Matlab fue creado en California por Jack Little and Cleve Moler en 1984, para realizarcálculo matricial en computadoras sin necesidad de conocimientos de programación.

    Está orientado a realizar cálculos numéricos con vectores y matrices, aunque puede trabajar

    también con otras estructuras de información. En cuyo caso, cada objeto es considerado unarreglo.

    Posee un código de programación propio llamado M-code que fácilmente es ejecutado en laventana de comandos. De esta forma, se crean funciones, etc.

    MATLAB es una de las muchas sofisticadas herramientas de computación disponibles en el

    comercio para resolver problemas de matemáticas, tales como Maple, Mathematica y MathCad.A pesar de lo que afirman sus defensores, ninguna de ellas es “la mejor”. Todas tienen

    fortalezas y debilidades. Cada una permitirá efectuar cálculos matemático básicos, pero difierenen el modo como manejan los cálculos simbólicos y procesos matemáticos más complicados,como la manipulación de matrices. Por ejemplo, MATLAB es superior en los cálculos que

    involucran matrices, mientras que Maple lo supera en los cálculos simbólicos.

    También, el entorno básico de MATLAB se complementa con una amplia colección deToolboxes que contienen funciones específicas para determinadas aplicaciones en diferentes

    ramas de las ciencias y la ingeniería.

    La Web oficial para documentación, descarga de programas, ejemplos, y versiones Trial es a

    través del siguiente enlace:

    http://www.mathworks.com

    Matlab se ejecuta en los siguientes sistemas operativos• Unix: Linux (En todas sus versiones: Ubuntu, Fedor a, Susie, etc.), solaris, HP-UX"

    • MacOS" • MS-Windows (XP, 7, 8, 10)

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    9/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 9 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    1.2 Instalación de Matlab

    Matlab 7.0

    En la carpeta que se ha entregado (“Curso_Matlab_I_Sesión\Software\”), se encuentran lasdos versiones de Matlab que pueden funcionar correctamente. La versión 7.0 es más general,requiere menos recursos del sistema y es bastante práctica para la enseñanza, está completa y puede funcionar correctamente en las versiones de Windows, XP, 7 y 8.

    Para instalarla hay que dar clic derecho en el icono “Setup.exe” y ejecutar como administrador.Una de las primeras preguntas que realiza el paquete al iniciar es poner el número de serie. Para

    ello hay que ir a la carpeta del “crack” y ejecutar el Keygen, para ello primero hay que tenerdesactivado el antivirus, ya que suele confundirlo con un virus. Cuando se ejecuta el Keygen,aparece una pantalla con “Personal License  Password”, se le da Ctrl + C para copiar y se va a la pantalla del Matlab, ahí se pega con Ctrl + V, y continua la instalación. Al pedir el Disco 2, se leda Enter, ya que los dos discos ya están juntos.

    Una vez finalizada la instalación, si se ejecuta el programa sobre todo en Windows 7 y 8, puedeaparecer una pantalla indicando un error, este es de incompatibilidad, ya que por defect, estáconfigurado para ejecutarse en Windows XP. Para solucionarlo, hay que ir al ícono de accesodirecto de Matlab, que se ha creado en el escritorio, dar clic derecho e indicarle “Propiedades”,en esa pantalla hay que seleccionar la pestaña “Compatibilidad” y activar la casilla o cuadro quedice, “Modo de Compatibilidad”, ahora en el menú desplegable que aparece, hay queseleccionar “Windows Vista (Service Pack 2), y seguidamente dar clic a los botones de la parteinferior, “Aplicar”, y “Aceptar”. Con  esto ya puede ejecutarse normalmente Matlab enWindows 7 y 8.

    Matlab 14La versión 2014, trae muchas más herramientas, además que ha modificado la interfaz, paraañadir más funcionalidades, sin embargo, consume muchos más recursos del sistema, memoriay espacio. Así que el usuario final es quien decide cuál de ellas utilizar.Para Matlab 14, hay que ir a la carpeta de software, en donde se encontrará la carpetaMatlab803, dentro de ella, se encuentra el icono de instalación “SetupSimple.exe”, que es el que

    hay que ejecutar, dando clic derecho como administrador. Aparecerá una ventana, que no hayque cerrar hasta que la instalación haya finalizado. Una vez ejecutado ese programa hay que

    seguir las instrucciones, cuando se pregunte si desea activar el programa hay que decir que no,lo mismo hay que elegir instalar manualmente, sin Internet.Cuando se le pida número de serie, hay que colocar el siguiente:

    12313-94680-65562-90832

    Una vez finalizado, hay que copiar y pegar (sustituyendo), el folder “bin”, que  se encuentra enla siguiente ubicación:

    "X:\serial\MatlabX32" or "X:\serial\MatlabX64"

    Dependiendo si el sistema es de 32 o de 64 bits, con esto ya se puede iniciar la ejecución delMatlab 14. Hay que tener paciencia, porque tarda un poco en comenzar, ya que como hemosmencionado, requiere de más memoria y recursos que la versión 7

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    10/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 10 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    1.3 Ambiente Matlab, Ventanas, herramientas de escritorio y entorno de programación.

    Al Iniciar Matlab se observan las siguientes ventanas: MATLAB 7.0 

    MATLAB 14

    Como se puede observar, en Matlab 14, se incrementa el número de opciones a realizar en el

    cuadro de menú. En general, en todas las versiones poseen una gran command window (ventanade comandos) a la derecha y, apiladasa la izquierda, se encuentran las ventanas current

    Simulink Ayuda Cambio de Directorio

    VENTANA DE DIRECTORIO

    / WORKSPACE

    VENTANA DE HISTORIAL

    VENTANA DE COMANDOS

    VENTANA DE COMANDOS

    VENTANA DE

    HISTORIAL

    VENTANA DEDIRECTORIO

    VENTANA DEWORKSPACE 

    MENÚ DE ACCIONES

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    11/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 11 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    directory (directorio actual), workspace (área de trabajo) y también el commandhistory(historia de comandos). Esta configuración sin embargo, puede cambiarse a uso del usuario.

    ¿Qué Puede hacer Matlab?

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    12/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 12 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    13/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 13 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    1.4 Sintaxis y ayuda de Matlab

    MATLAB distingue entre mayúsculas y minúsculas de esta forma, la variable “a” y la variable“A”, son distintas. El nombre de las variables sigue las reglas habituales de un lenguaje de programación: debe comenzar por una letra, aunque puede contener números; no debe contenerespacios en blanco ni algún tipo de símbolo reservado (coma, punto y coma, dos puntos,guion,...).

    El símbolo >> es el  prompt de MATLAB e indica que está listo para aceptar órdenes. Paraejecutar una orden basta pulsar la tecla ENTER. El nombre que se asigna por defecto a la salidaes ans (abreviatura de answer ).

    En Matlab todos los datos son matrices, los vectores y los números escalares son casosparticulares de matrices. 

    El nombre de las variables que utiliza Matlab

    •  El nombre de las variable es case sensitive

    • 

    El nombre de las variables puede contener hasta 63 caracteres.• 

    El nombre de las variables se puede iniciar en una letra seguida de letras, dígitos o sub-

    líneas.

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    14/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 14 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    •   No se puede iniciar en (_), no puede contener el signo (-).

     Nombre de variables especiales

    ans Nombre de variable por defecto para resultados

     pi Valor de π eps la mayor precisión de un número en Matlabinf Infinito NaN No es un número (0/0)i, j i = j = sqrt(-1) = raíz cuadrada de -1

    realmin El número real positivo más pequeñorealmax El número real positivo más grande.

    1.5 Comandos básicos

    %  Colocar comentarios; Importante para documentar los programas

    Información: / clock, / date /, calendar/año, mes, día, hora, minuto, segundo / día, mes, año / mes actual

    >> %línea de comando, prompt de Matlab>>clc  % limpia la ventana de comandos, pero no la memoria>>close  % cierra figuras>>closeall% cierra todas las figuras>>clear a  % Borra a de la memoria>>clear  % Borra todas las variables en el espacio de trabajo>>clearall% Borra todas las variables, funciones, etc.>>who  % lista las variables actuales

    >>whos  % lista información adicional de las variables>>help  % despliega texto de ayuda en la ventana de comandos>>;%punto y coma, fin de fila de una matriz y eliminar la impresión en la ventana de comandos>>. . . % tres puntos, Continua la sentencia en la siguiente línea>>, % coma, separa sentencias y datos

    >>Ejercicio: Utilizar ayuda para: save, load, open, quit, exit, CD, path, ver, versión

    1.6 Cálculos desde la ventana de comandos

    1.6.1 Operadores aritméticos

    Existen en MATLAB dos tipos de operaciones aritméticas: las operaciones aritméticas

    matriciales, que se rigen por las reglas del álgebra lineal, y las operaciones aritméticas convectores, que se realizan elemento a elemento. Los operadores involucrados se presentan en la

    tabla siguiente.

    Operador Función que desempeña+ Suma de escalares, vectores o matrices, a+b - Resta de escalares, vectores o matrices, a - b * Producto de escalares o de matrices, a * b .* Producto de escalares o de vectores \ A\B = inv(A)*B, siendo A y B matrices 

    .\ A.\B = [B(i,j)/A(i,j)], siendo A y B vectores [dim(A)=dim(B)] / Cociente escalar o B/A = B*inv(A), siendo A y B matrices 

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    15/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 15 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    ./ A./B = [A(i,j)/B(i,j)], siendo A y B vectores [dim(A)=dim(B)] ^ Potencia de escalares o potencia escalar de matriz (M p), a^b .^ Potencia de vectores (A.^B = [A(i,j)B(i,j)], A y B vectores)

    Ejemplos:

    >> 2+2ans =

    4>> 3-4

    ans =-1

    >> 2*2ans =

    4>> 2/3ans =

    0.6667>> (-2)^10ans =

    1024 NOTA: Para las operaciones entre vectores y matrices es conveniente utilizar en lamultiplicación, división y exponenciación, los operadores ( .*, ./, y .^)

    1.6.2 Operadores relacionales

    MATLAB también ofrece símbolos para denotar las operaciones relacionales. Los operadoresrelacionales ejecutan comparaciones elemento a elemento entre dos matrices y devuelven una

    matriz del mismo tamaño cuyos elementos son ceros si la correspondiente relación es cierta, ounos si la correspondiente relación es falsa. Los operadores relacionales también permitencomparar escalares con vectores o matrices, en cuyo caso se compara el escalar con todos loselementos de la matriz.

    =  Mayor o igual (sólo afecta a partes reales)x = = y Igualdad (afecta a los números complejos)x ~ = y Desigualdad (afecta a los números complejos)

    1.6.3 Operadores lógicos

    MATLAB ofrece símbolos para denotar las operaciones lógicas. Los operadores lógicos ofrecenun camino para combinar o negar expresiones relacionales.

    ~A Negación lógica (NOT) o complementario de AA & B Conjunción lógica (AND) o intersección de A y BA | B Disyunción lógica (OR) o unión de A y Bxor(A,B) OR exclusivo (XOR) o diferencia simétrica de A y B (vale 1 si A o B,

     pero no ambos, son 1)

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    16/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 16 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

     NOTA: En muchos contextos es más común llamar “i ” a la unidad imaginaria. Por defectoMATLAB también tiene reservada esa letra para la unidad imaginaria. Si se realiza unaasignación sobre cualquiera de las variables se pierde su valor. Para recuperarlo se puede borrar

    su valor (instrucción clear i ) o reasignarlo (instrucción i=sqrt(-1)).

    Ejemplo:

    >>ians =

    0 + 1.0000i

    >>i^2

    ans =

    -1

    >> (2+3i)/(4-i) % para multiplicar por i no hace falta *

    ans =

    0.2941 + 0.8235i

    >> (1+i)^2

    ans =

    0.000 + 2.0000i

    Funciones Matemáticas elementales:

    sqrt(x) raíz cuadrada sin(x) senoabs(x) módulo cos(x) cosenoconj(z) complejo conjugado tan(z) tangentereal(z) parte real asin(x) arcosenoimag(z) parte imaginaria acos(x) arcocosenoangle(z) argumento atan(x) arcotangenteexp(x) exponencial rats(x) aprox. racional

    log(x) logaritmo natural rem(x,y) resto de dividir x por y

    log10(x) logaritmo decimal sign(x) signo (1 / -1 / 0)Π = piΣx = sum  | | Valor absoluto = abs 

    Enteros: 9 -2 8 Reales: 7.01 -4.2 .0786 1.5e+8 -.667e-12 Complejos: 1+3i -4+j (i j son símbolos que representan la unidad imaginaria) Caracteres (entre apóstrofes): „Representa una cadena de caracteres‟ „string‟ 

    Formato de Números:

    formatlong 14 cifras significativas 

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    17/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 17 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    format short Retorna al formato corto (5 cifras significativas) format Retorna al formato por defecto (corto) format short e formato corto y notación exponencial formatlong e formato largo y notación exponencial formatrat formato racional: aproximación en forma de fracción 

    formatbank formato bancario rem (a,b) resto de la división entre n y m siendo ambos reales

    Ejemplo:Sea a = 2500 b = 8100

    x = a/b

    Formato largo de punto flotante con 15 dígitosformat long; x

    Formato corto por defecto con 4 cifras decimalesformat short; x

    Formato largo con 16 decimales más la potencia de 10 (15 para doble y 7 para sencillo)format long e; x

    Formato corto con 16 decimales más la potencia de 10 (punto flotante con 5 dígitos)format short e; x

    Formato bancario con dos cifras decimalesformat bank; x

    Formato en forma de número racional aproximadoformat rat;x

    Ejemplo: Siendo x = 6 y x = (48*.0025) - 3/6

    Determinar: sqrt(x) sin(x) cos(x) log(x) exp(x) x* πabs(x)Cambiar a diferentes formatos.

    Operaciones con texto

    Para introducir texto o cadenas de caracteres, este se teclea entre comillas simples ('), y se

    manejan como vectores filas. Se direccionan y manipulan igual que los vectores. De la mismaforma que con los vectores, se pueden realizar operaciones matemáticas con las cadenas de

    texto, pero ésta operación se ve como un vector de números en ASCII

    El valor ASCII de una cadena, se obtiene con las funciones abs, double ,ó sumando cero. Para

    restaurar el valor ASCII a una cadena de caracteres, se utiliza la función setstr. Si lo que sedesea es cambiar a minúsculas se suma la diferencia entre 'a' y 'A'. El comando disp, sirve para desplegar en pantalla

    Ejemplo: Sea, a = 'pablo„ y b = 'elena' 

    abs(a) = 112 97 98 108 111 

    abs(b) = 101 108 101 110 97 

    c = a + b=213 205 199 218 208 

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    18/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 18 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    setstr (a) = pablo setstr (b) = elena 

    Unidad II

    Vectores y Matrices

    2.1 Vectores y Matrices desde la ventana de comandos2.2 Operaciones con vectores

    2.3 Operaciones con Matrices2.4 Variables y expresiones con matrices

    2.6 Funciones que actúan sobre vectores2.7 Funciones que actúan sobre matrices

    2.1 Vectores y Matrices desde la ventana de comandos

    Vector: Un vector en simplemente una lista ordenada de números. Para escribir un vector en Matlab seintroducen los números separados por comas o espacios entre dos corchetes.

    Ejemplo

    M = [2,4,0,8] B = [4 -12 8 -2 8 1]  Se conocen como vectores filas 

    M =

    2 4 0 8

    B =

    4 -12 8 -2 8 1

    Si se coloca un punto y coma entre cada uno de ellos se convierten en vectores columnas.

    M = [2;4;0;8] B = [4;-12;8;-2;8;1]

    M =

    2408

    B =

    4-12

    8-281

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    19/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 19 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    Manejo de vectores: 

    Se puede crear una lista de números en un vector que vaya de 1 al 12 colocando dos puntos de lasiguiente manera:

    X = (1:12) 

    X =

    1 2 3 4 5 6 7 8 9 10 11 12

    También se puede crear un incremento en la lista, Por ejemplo vamos a crear un vector con unalista de número desde el 0 al 12, incrementándose de 3 en tres, mediante el siguiente comando

    X = 0: 3: 12 

    X =

    0 3 6 9 12

    Donde: [a:b:c] = valor mínimo : incremento : valor máximo

    Ejercicio: Generar todos los números entre 0 y 50 en incrementos de 0.2

    En el caso anterior, y para salidas muy grandes se coloca el punto y coma “;” al final de lainstrucción para no ver la salida. De la misma manera, se pueden realizar incrementos tanto positivos como negativos por ejemplo

    X1 = 20: -1: 0 

    Lo que crearía un vector con una lista de números desde el 20 al cero disminuyendo en 1 cadavez.

    X1 =

    Columns 1 through 13

    20 19 18 17 16 15 14 13 12 11 10 9 8

    Columns 14 through 21

    7 6 5 4 3 2 1 0

    Ahora podemos extraer un elemento del vector de la lista que se ha creado, lo que se denominaindexado de vectores, ya que cada elemento de la lista posee el siguiente argumento X(i)siendo i el número de la posición del contenido de la lista. Así X(1), X(2),,,X(N), representanlos n números del vector De la lista anterior el valor

    Sería igual a la posición 5ta. Que es el valor 16. Ahora vea cuales son los valores de las posiciones, 9, 4, 16 y 20

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    20/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 20 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    Se puede modificar el contenido de un elemento del vector, dándole el valor que se desee. Porejemplo: El valor del quinto elemento del vector X1 = 16. Pero queremos asignarle un nuevovalor, entonces se teclea lo siguiente: X1(5) = 26, con lo que el elemento del vector ha

    cambiado de valor.X1 = 20 19 18 17 26 15 14 13 12. . . . 0

    También se pueden extraer rangos de valores. Ejemplo: X1([4,6,15]) ó X1(4:6)

    ans = 17 15 6 ans = 17 26 15

    Transposición:

    Para convertir un vector a vector columna (vector transpuesto), hay que colocar un apóstrofe enla variable que representa al vector. Así X‟, sería el vector columna de X 

    Ejemplo : A = (14:2:25) y su Transpuesto (o vector columna) A’ = 

    A = 14 16 18 20 22 24

    A‟ ans =

    1416182022

    24

    Para definir un vector de longitud n, con una partición regular del intervalo [a,b], se teclea

    R = linspace( a,b,n) 

    Ejemplo:

    R = linspace (1,20,5) 

    Crearía un vector con una lista de 5 números igualmente espaciados del 1 al 20

    R =1.00005.750010.5000 15.2500 20.0000

    Ejemplo: Obtener los elementos del vector M= (1:15) situados entre el octavo y el segundo,ambos inclusive, separados de dos en dos y comenzando por el onceavo.

    M = (11:-2:1)

    M =

    11 9 7 5 3 1

    Matrices

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    21/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 21 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    Al igual que en los vectores, las matrices se expresan en Matlab utilizando corchetes ([ ]);separando las filas por espacios o comas (,) y las columnas por punto y coma “;”. De este modo,

     por ejemplo se puede crear un objeto matriz de la siguiente manera:

    X = [1 -4 6; 4 0 6; -2 8 2]

    X =

    1 -4 64 0 6

    -2 8 2

    Recordar que Una matriz cuadrada es aquella que tiene igual número de filas y columnas 

    Submatrices:

    Se pueden crear rango de elementos o submatrices con los valores de una matriz o de un vector.Por ejemplo tenemos la siguiente matriz: B = [ 1 2 3; 4 5 6; 7 8 9]B =

    1 2 34 5 67 8 9

    Se puede crear una submatriz C comprendida entre los elementos (2; 1) y (3; 2) de la siguientemanera:C =B(2:3,1:2) lo que daría lo siguiente:

    C = 4 57 8

    Volviendo a la matriz anterior.

    X = [1 -4 6; 4 0 6; -2 8 2] 

    Para obtener la matriz transpuesta se teclea X‟ . Por lo tanto: 

    2.2 Operaciones con vectores

    Creamos un vector y llenamos el último elemento con un valor determinado

    B (4,15) = 3 

    X = 

    1 -4 6 

    4 0 6 

    -2 8 2 

    X’ = 

    1 4 -2 -4 0 8 

    6 6 2 

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    22/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 22 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    En este caso creamos un vector B compuesto de 4 filas y 15 columnas. El último valor de la filale corresponde 3.

    B =

    0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 3 

    Si tecleamos ahora  B (15,4) = 5 

    Técnicamente estaríamos creando un vector N con 15 filas y solo 4 columnas, en donde elúltimo valor de la cuarta fila es 5. Sin embargo, lo que se obtiene es lo siguiente:

    B =

    0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 30 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 5 0 0 0 0 0 0 0 0 0 0 0

    Esto pasa, debido a que en la variable B se ha acumulado el valor que se ha introducido a los

    vectores. El espacio vacío de la matriz es rellenado por ceros.

    Para evitar esto, hay que limpiar previamente los valores de las variables. Esto se hace con laorden “clear”. 

    Se puede teclear >>clear B, con lo que se estaría limpiando el valor de la variable BO la orden general. >>clear all, para limpiar todos los valores de todas las variables que existan.O de otra forma, darle otro valor diferente a la variable de la que se ha utilizado. Por ejemplo

    >>A(15,4) = 5 

    A =

    0 0 0 0

    0 0 0 00 0 0 00 0 0 0

    0 0 0 00 0 0 0

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    23/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 23 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    0 0 0 00 0 0 00 0 0 0

    0 0 0 00 0 0 0

    0 0 0 00 0 0 00 0 0 00 0 0 5

    Operaciones con vectores y escalares

    v+k vector de componentes {vi+k} v-k vector de componentes {vi-k} k*v vector de componentes {k*vi} v/k vector de componentes {vi/k} k./v vector de componentes {k/vi} v.^k vector de componentes {(vi)^k} k.^v vector de componentes {k^(vi)} 

    Ejemplo: 

    v=[1, 6, 4, -5, 0, -3] 

    X = v +3 y = v-2 j = v.^2

    Ejemplo: Si a y b son dos vectoresa+b vector de componentes {ai+bi}a-b vector de componentes {ai-bi}a.*b vector de componentes {ai*bi}, componente a comp.a./b vector de componentes {ai/bi} “ a.^b vector de componentes {(ai)^bi}

    sum (x) Da la suma de los elementos del vectorprod(x) Da el producto entre los componentes del vectormax(x) Da el valor máximo entre los componentes del vectorc = conv(a,b) Siendo a y b dos matrices, realiza la multiplicación polinomial

    Ejemplo: Sean los dos vectores

    a=[1, 6, 4, -5, 0, -3] b=[2, 3, -1, -7, 3, 0]

    X = a +b y = a*b j = a.^b

    2.3 Operaciones con Matrices

    Tenemos una matriz dada por la siguiente variable:

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    24/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 24 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    w = [ 6 1 2; 1 8 3 ; 2 4 9]

    w =

    6 1 2

    1 8 32 4 9

    Se puede añadir otra fila a la matriz con la variable x = [ 14 -2 8 ]

    Con la instrucción K = [w; x]

    K =

    6 1 21 8 32 4 9

    14 -2 8

    Identificar un elemento de la matriz w (2,3) 

    ans =

    3

    Representa el elemento de la segunda fila, tercera columna.

    Para seleccionar toda una fila, se colocan los dos puntos “:”J = w( 3 , : ) 

    Que selecciona la tercera fila. En cambio:

    J = 2 4 9h= w( : , 2) 

    Selecciona los elementos de la segunda columna:

    h =

    18

    4

    Otras operaciones son:

    I = det(w) Determina el valor del determinante de la matriz (obtener todos los productos posibles de una matriz).

    I =

    333

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    25/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 25 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    h = diag(w) Determina la diagonal de una matriz

    h =

    6

    89

    l = eig(w) Determina el vector característico de la matriz w

    l =

    12.70685.67674.6165

    [v d] = eig(w) Sabiendo que v representa a los vectores característicos y d representa a losvalores característicos, determina el valor característico de [v d] de la matriz w

    v =

    -0.3125 -0.8409 -0.6621-0.5569 0.5260 -0.3780-0.7696 -0.1271 0.6470

    d =12.7068 0 0

    0 5.6767 00 0 4.6165

    m = expm (w) Representa el valor exponencial de la matriz w 

    m =

    1.0e+005 *

    0.3181 0.6778 0.72040.5623 1.2117 1.2828

    0.7782 1.6718 1.7740

    n = inv(w) Representa la matriz inversa de w

    hilb(3)Matriz de Hilbert 3x3 

    rand(2,3)  Matriz aleatoria de 2 x 3

    M = eye(3,6) Matriz identidad

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    26/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 26 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    N = zeros(3,6) Matriz Nula

    O = ones(3,6)Matriz Unidad

    M =

    1 0 0 0 0 00 1 0 0 0 00 0 1 0 0 0

     N =

    0 0 0 0 0 00 0 0 0 0 00 0 0 0 0 0

    O =

    1 1 1 1 1 11 1 1 1 1 11 1 1 1 1 1

    Ejemplo:

    Sea A = [ 1 3 5; 7 9 11 ]

    a)  Se va a anular (0), el elemento (2,3) = al último elemento: A (2, 3 ) = 0

     b)  Se crea la matriz B, transpuesta de A: B = A‟ 

    c)  Se crea la matriz C, formada por la matriz B y la matriz identidad de orden 3 asu derecha. C = [ B eye(3) ]

    d)  Se crea la matriz D, formada por las columnas impares de la matriz C

    D = C ( : , 1 : 2 : 5)

    e)  Se crea la matriz E, formada por la intersección de las dos primeras filas de C ysus columnas tercera y quinta

    E = C ( [ 1 2], [ 3 , 5 ])

    Polinomios

    Tenemos el polinomio siguiente:

    = 2 + 3 + 1 = 0 Para calcular sus raíces, se utiliza el comando “roots(polinomio)”. Así tenemos 

     p = [ 2 3 1] raiz = roots(p)

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    27/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 27 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    raiz =

    -1.0000-0.5000

    Operaciones con polinomios

    Ejemplo:Tenemos dos polinomios

    La multiplicación polinomial para encontrar la solución del sistema se realiza con el comando:

    c = conv(a,b)

    a = [ 1 5 3 1 4 ] b = [ 8 5 2 9 16 ]

    c =

    8 45 51 42 104 129 65 52 64, Por lo tanto:

    Operaciones con Fórmulas

    Matlab es ideal para realizar operaciones con funciones y fórmulas matemáticas complejas. Susintaxis es sencilla y fácil de aplicar

    Ejemplo:

    Calcular el seno y el coseno de los ángulos de cero a 2π, incrementando en valores de π/2 enπ/2

    x = sin (0 : pi/2 : 2*pi) 

    y = sin (0 : pi/2 : 2*pi) 

    Ejemplo:

    Tenemos una función dada por la siguiente ecuación:

    Si el valor de x = π/2. Entonces:

    x = pi/2

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    28/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 28 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    x = 1.5708

    Y = (2*x.^3 +7*x.^2+3*x-1)./(x.^2-3*x+5*exp(-x)) 

    Y = -23.8354

    Ejemplo: 

    Calcular la parte real, la parte imaginaria, el módulo y argumentos de los siguientes complejos:

    Le damos valor de Y1, Y2, Y3 y Y4, Entonces:

    Y1 = i ^3 * iY2 = (1 + sqrt ( (3) *i) )^ (1 - i ) 

    Y3 = (i ^ i) ^ i Y4 = i ^ i Para facilitar la visualización >>format short 

    a = real ( [ Y1 Y2 Y3 Y4] ) b = imag ( [ Y1 Y2 Y3 Y4] )c = abs( [ Y1 Y2 Y3 Y4] ) d = angle( [ Y1 Y2 Y3 Y4] )2.6 Funciones que actúan sobre vectores

    Las siguientes funciones sólo actúan sobre vectores (no sobre matrices, ni sobre escalares):

    [xm,im]=max(x) máximo elemento de un vector. Devuelve el valor máximo xmy la posiciónque ocupa im 

    min(x) mínimo elemento de un vector. Devuelve el valor mínimo y la posición que ocupa

    sum(x) suma de los elementos de un vector

    cumsum(x) devuelve el vector suma acumulativa de los elementos de un vector (cada elementodel resultado es una suma de elementos del original)

    mean(x) valor medio de los elementos de un vector

    std(x) desviación típica

     prod(x) producto de los elementos de un vector

    cumprod(x) devuelve el vector producto acumulativo de los elementos de un vector

    [y,i]=sort(x) ordenación de menor a mayor de los elementos de un vector x. Devuelve el vectorordenado y, y un vector i con las posiciones iniciales en x de los elementos en el vectorordenado y.

    En realidad estas funciones se pueden apl icar también a matr ices , pero en ese caso se apli canpor separado a cada columna de la matr iz , dando como valor de retorno un vector resultado deaplicarla función a cada columna de la matriz considerada como vector. Si estas funciones sequieren aplicara las filas de la matriz basta aplicar dichas funciones a la matriz traspuesta. 

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    29/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 29 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    2.7 Funciones que actúan con matrices

    Aquí un resumen de las funciones más generales que actúan sobre las matrices

    [m,n]=size(A) devuelve el número de filas y de columnas de la matriz A. Si la matrizescuadrada basta recoger el primer valor de retorno

    n=length(x) calcula el número de elementos de un vector x

    zeros(size(A)) forma una matriz de ceros del mismo tamaño que una matriz A previamente creada

    ones(size(A)) ídem con unos

    A=diag(x) forma una matriz diagonal A cuyos elementos diagonales son los elementos de unvector ya existente x 

    x=diag(A) forma un vector x a partir de los elementos de la diagonal de una matriz ya existente A 

    diag(diag(A)) crea una matriz diagonal a partir de la diagonal de la matriz A

     blkdiag(A,B) crea una matriz diagonal de submatrices a partir de las matrices que se lepasancomo argumentos

    triu(A) forma una matriz triangular superior a partir de una matriz A (no tiene por qué sercuadrada). Con un segundo argumento puede controlarse que se mantengan o eliminen másdiagonales por encima o debajo de la diagonal principal.

    tril(A) ídem con una matriz triangular inferior

    rot90(A,k) Gira k*90 grados la matriz rectangular A en sentido anti-horario. k es un entero que puede ser negativo. Si se omite, se supone k=1

    flipud(A) halla la matriz simétrica de A respecto de un eje horizontal

    fliplr(A) halla la matriz simétrica de A respecto de un eje vertical

    reshape(A,m,n) Cambia el tamaño de la matriz A devolviendo una matriz de tamaño m×ncuyascolumnas se obtienen a partir de un vector formado por las columnasde A  puestas una acontinuación de otra. Si la matriz A tiene menos dem×nelementos se produce un error.

    Existen muchas más funciones, pero ello queda como actividad al estudiante, enriquecermediante la bibliografía el uso de dichas funciones.

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    30/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 30 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    CURSO BÁSICO DE LENGUAJE MATEMÁTICO MATLAB 

    II SESIÓN

    Facultad de Ingeniería Civil y Mecánica

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    31/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 31 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    Unidad III

    Programación en Matlab

    3.1 Creación de archivos .m en Matlab3.1.1 archivos de comandos (scripts)3.1.2 sentencia return 3.1.3 sub-funciones

    3.2 Entrada y manejo de datos

    3.2.1 función input  3.2.2 función disp 

    3.3 Funciones en Matlab3.4 Condiciones y flujos de control en Matlab

    3.4.1 Bucleif else 3.4.2 Bucle for  3.4.3 While 

    3.4.4 Switch 3.4.5 Break y continue 3.4.6 Sentencias try...catch...end  

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    32/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 32 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    FICHA Y HORARIO DE CLASE

    Planificación y desglose de actividades de la segunda sesión, de acuerdo a lo estipulado en la

     planificación del curso: “Curso Básico Matlab”. 

    a) No. de Sesión: II Sesión:Unidad: IIIProgramación en Matlab. 

    Sub-competencia: Identifica y comprende los conceptos básicos de la programaciónen el lenguaje Matlab, la entrada y manejo de datos, las funciones y los flujos decontrol.

    FICHA DE CLASE (Contenidos a desarrollar en la sesión) 

    A Contenido/

    Tema ObjetivosActividades

    Metodología

    RR.DD. EvaluaciónObservaciones

    1

    Bienvenida/Prese

    ntar los

    Contenidos y

    objetivos del día

    Inciso I1.1 Introducción

    General. Ver

    objetivo del día,

    horario, Horarios

    y evaluaciones.

    1.2 Actividad Co-

    Evaluación de

    ejercicios 1 y 21.3 Actividad,

    puesta en común

    sobre resultados

    de análisis de

    video

    1.4 Actividad.

    Conferencia

    sobre la

    programación en

    Matlab

    1.5.Actividad

    ejercicios

    prácticos sobreprogramación

    1.3. Co-

    evaluación,

    Puesta en común

    ejercicios

    *Bienvenida,

    *Presentar el objetivo

    del día

    *Comprender los

    conceptos de la

    programación en

    Matlab, entrada y

    manejo de datos, así

    como las funciones y

    flujos de control

    * Co-evaluación de las

    hojas de trabajo 1 y 2

    * Puesta en común

    sobre la hoja de trabajo

    autónomo en base al

    video

    * ejercicios de

    programas conteniendo:

    Entrada de datos, flujos

    de control

    *Método expositivo

    de conferencia

    tradicional/

    Pizarra, Textos

    Uso de proyector

    como medio

    audiovisual.

    *Método

    demostrativo

    práctico de trabajo

    en grupo en las

    clases prácticas

    *Co-Evaluación y

    puesta en común

    de los resultados

    de las hojas de

    ejercicios 1 y 2

    *Puesta en común

    sobre el resultado

    del análisis del

    video

    *Co-evaluación

    ejercicios deprogramación.

    Puesta en común

    resultados

    ejercicios.

    *Discusión y

    Puesta en común

    sobre hoja de

    trabajo 3

    1. Presentar proceso

    general del curso

    2. Presentar

    conceptos básicos de

    simulación y

    abstracción de

    modelos.

    3. Presentar los

    elementos de Matlab

    y Simulink

    4. Preparar hojas para

    las prácticas con los

    ejercicios.

    5. Orientar sobre

    próxima evaluación

    6. Asignar Ejercicios

    prácticos de Matlab

    (Hoja 2 de trabajo

    Autónomo)

    7. Entrega material

    (hojas y video)

      A = Número de Actividad.

      RR.DD. = Recursos didácticos

    La sesión se dividirá en dos bloques con un descanso entre cada uno. Ver a continuación el

    cuadro del horario para indicar los tiempos de cada actividad.

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    33/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 33 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    c) HORARIO I SESIÓN  (30/03/16)Curso Básico Matlab.

      La hora de clases es de 60 minutos: 8:00 am. a 14:00 pm.

    No. Horario Actividad Recursos Observación

    1 8:00 – 8:10 10’ Bienvenida

    Presentación General/DocentePizarra, Proyector

    Toma de Asistencia

    con hojas preparadas

    2 8:10 – 8:20 10’ Presentar objetivo día, Presentar

    HorarioProyector, Filminas,

    Pizarra

    Revisión puntos

     principales día

    3 8:20 – 8:35 15’ Puesta en común actividad trabajo

    autónomo videoHojas de trabajo

    autónomo 1Entrega trabajos

    4 8:35 – 9:00 25’  Formación de grupos/Co-EvaluaciónEjercicios 1 y 2

    Hojas de ejercicios 1y 2

    Distribución de hojascon soluciones 1 y 2

     para trabajo

    5 9:00 – 9:05 5’ Puesta en común de resultados de

    evaluación

    6 9:05- 9:35 30’ Presentación creación de archivos .m

    en MatlabHojas de Tema

    Pizarra, Proyector

    7 9:35 – 9:40 5’  Plenario

    8 9:40 – 10:00 20’  Ejercicios de programaciónHojas con ejercicios en

    grupos

    9 10:00 – 10:20 20’  DESCANSO 

    10 10:20 – 10:55 35’ Presentación flujos de control (if – else,

    for, switch.) en MatlabComputadoras

    alumnos, pizarra

    11 10:55 – 11:00 5’  Dudas, aclaraciones Pizarra, marcadores

    12 11:00 – 11:45 45’  Ejercicios de flujos de control  Hoja de ejercicios

    13 11:45 – 12:05 20’ Co-evaluación de ejercicios por parte

    de los gruposProyector, Filminas,

    Computadora

    14 12:05 – 12:10 10’  Puesta en común

    15 12:10 – 12:30 20’  Análisis de video

    16 12:30-12:45 15’  Puesta en común

    17 12:45 – 13:00 15’ Recopilación Final

    Hasta Próxima SesiónJueves 31/03/2016

    Proyector, Filminas,ordenador

    Orientaciones para la

    siguiente sesión.Entrega hojas trabajo

    autónomo

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    34/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 34 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    Unidad III

    Programación en Matlab

    3.1 Creación de archivos .m en Matlab

    3.1.1 archivos de comandos (scripts)

    Primero que nada, hay que ubicarse en el directorio de trabajo, para ello se selecciona en

    Matlab, el path o camino en donde se estén los archivos. Esto mediante el ícono de cambio dedirectorio (ver imágenes más abajo).

    MATLAB puede utilizarse como un lenguaje de programación de alto nivel que incluyeestructuras de datos, funciones, instrucciones de control de flujo, manejo de entradas/salidas eincluso programación orientada a objetos.

    Los archivos con extensión (.m ) son archivos de texto sin formato (archivos ASCII) queconstituyen el centro de la programación en MATLAB. También, estos archivos se pueden creary modificar con un editor de textos cualquiera. En el caso de MATLAB ejecutado en uncomputador bajo Windows , lo mejor es utilizar su propio editor de textos, que es tambiénDebugger .

    Existen dos tipos de archivos* .m , los archi vos de comandos (llamados  scripts en inglés) y lasfunciones . Los primeros contienen simplemente un conjunto de comandos que se ejecutansucesivamente cuando se teclea el nombre del fichero en la línea de comandos de MATLAB ose incluye dicho nombre en otro fichero * .m . Un archivo de comandos puede llamar a otrosarchivos de comandos. Si un archivo de comandos se llama desde de la línea de comandos de

    MATLAB, las variables que crea pertenecen al espacio de trabajo base de MATLAB, y permanecen en él cuando se termina la ejecución de dicho archivo.

    Para crear un nuevo M-archivo se utiliza el Editor/Debugger, que se activa haciendo clic en el botón de la barra de herramientas de MATLAB. Veamos esto tanto en la versión 7, como en la14

    MATLAB 7.0 

    Abrir nuevo archivoCambio de Directorio

    VENTANA DE DIRECTORIO

    / WORKSPACE

    VENTANA DE HISTORIAL

    VENTANA DE COMANDOS

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    35/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 35 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    Una vez que ha sido creado, el archivo, .m se guarda, ya sea, con el ícono de guardar, o guardarcomo, asignándole un nombre en el directorio de trabajo.

    MATLAB 14

    Las funciones  permiten definir funciones enteramente análogas a las de MATLAB, con sunombre , sus argumentos y sus valores de retorno . Los archivos*.m que definen funciones permiten extender las posibilidades de MATLAB; de hecho existen bibliotecas de archivos*.mque se venden (toolkits ) o se distribuyen gratuitamente (a través de  Internet ). Las funcionesdefinidas en archivos *.m se caracterizan porque la primera línea (que no sea un comentario)comienza por la palabra function , seguida por los valores de retorno (entre corchetes [ ] yseparados por comas, si hay más de uno), el signo igual (=) y el nombre de la función, seguidode los argumentos (entre paréntesis y separados por comas).

    Para definir una función se utiliza la siguiente sintaxis.

    La pr imera línea de un archivo llamado nombre.m que define una función tiene la forma:

    function [lista de valores de retorno] = nombre(lista de argumentos)

    Donde nombre es el nombre de la función. Entre corchetes y separados por comas van losvalores de retorno (siempre que haya más de uno), y entre paréntesis también separados porcomas los argumentos . Puede haber funciones sin valor de retorno y también sin argumentos.Recuérdese que los argumentos son los datos de la función y los valores de retorno susresultados . Si no hay valores de retorno se omiten los corchetes y el signo igual (=); si sólo hayun valor de retorno no hace falta poner corchetes. Tampoco hace falta poner paréntesis si no hayargumentos.

    En cambio, los scripts son el tipo de M-archivo más sencillo posible. Un script no tieneargumentos de entrada ni de salida. Sencillamente está formado por instrucciones MATLAB

    VENTANA DE COMANDOSVENTANA DEHISTORIAL

    VENTANA DE

    DIRECTORIO

    VENTANA DEWORKSPACE 

    MENÚ DE ACCIONES

    Abrir nuevo archivo Cambio de Directorio

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    36/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 36 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    que se ejecutan secuencialmente y que podrían escribirse igualmente en serie en la ventana decomandos. Los scripts operan con datos existentes en el espacio de trabajo o con nuevos datoscreados por el propio script. Cualquier variable que se cree mediante un script permanecerá en

    el espacio de trabajo y podrá utilizarse en cálculos posteriores después de finalizar el script.

    Recomendaciones:

    a)  Siempre hay que comentar los programas, mediante el uso de “%”  b)  Al inicio de los programas hay que realizar limpieza de variables, cierre de figuras y de

    escritorio. Este se hace mediante el uso de los comandos:

    “clear  all;”, “close all;” y “clc;”, recuerde colocar al final el punto y coma 

    Ejemplo de un script:

    Ejercicio 1 

    % Ejemplo de Programa simple de aritmética

    % Universidad Técnica de Ambato% Dr. Ligdamis Gutiérrez E.

    % Limpieza de variables y escritorio

    clear all;close all;clc;

    % Declaración de variables

    a = 5; b= 6;

    % Operaciones

    C = a+b; D = a –  b;

    % Resultados

    disp(„El valor de C es:‟ ); 

    disp.(C);

    disp(„El valor de D es:‟ ); 

    disp.(D);

    % FIN

    Ejercicio practica:

    Coloque dentro de un archivo .m, las fórmulas de los puntos 1 y 2, de la hoja de trabajo 2(cálculo de volumen y de las raíces). Presente los resultados mediante el comando “disp.”. 

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    37/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 37 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    Ejercicio 2

    De acuerdo a los conceptos básicos de estadística descriptiva, tenemos los conceptos de:

    a) 

    Media aritmética mean( )

    b)  Media Geométrica geomean ( ) 

    Hay que denotar que: Media aritmética > Media Geométrica 

    c)  Rango (Calcula el rango de una determinada serie de datos = calcular la diferencia entre

    el dato máximo y el mínimo) rangue( ) d)  Mediana de una matriz dada median( )e)  Desviación estándar de una matriz dada std( )f)  Varianza de una matriz dada var( )

    Y los valores siguientes del vector “A” y de la matriz “B” respectivamente: 

    A = [1:30];B = [5 7 3; 12 55 8; 4 9 16; 2 17 21];

    Represente en un script, el cálculo de los incisos de a) –  f) del vector A y de la matriz B

    Definición de una función simple:

    La evaluación de una función en sus argumentos (o parámetros de entrada)también puederealizarse a través del comando “feval”, cuya sintaxis es la siguiente:

    feval( „ar chivo‟,arg1,arg1,..,argn)

    Evalúa la función archivo (M-archivo, archivo.m) en los argumentos especificados arg1, arg2,

    ...,argn

    Ejemplo:

    Vamos a construir un script, de una función que resuelva la ecuación de segundo grado:

    = 2 + +  Cuyos coeficientes son, a, b y c (como parámetros de entrada) y cuyas soluciones son X1 y X2

    (como parámetros de salida)

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    38/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 38 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    function[x1, x2] = ecuacion(a,b,c)

    % Función que resuelve la ecuación de segundo grado ax^2+bx +c = 0% Universidad Técnica de Ambato

    % Curso de Matlab% Dr. Ligdamis A. Gutiérrez E.

    % Limpieza de variables y escritorio% No utilizamos limpieza de variables, ya que crearía un conflicto en la función

    close all;

    clc;

    % Declaración de la ecuación

    Y = b^2 –  (4*a*c);

    % Soluciones

    x1 = (-b+sqrt(Y)) /(2*a);x2 = (-b-sqrt(Y))/(2*a);

    % Presentar resultados

    disp(x1);disp(x2);

    % FIN

    Una vez que ya tenemos la función, podemos resolver por ejemplo la ecuación

    2 + 2 + 4 = 0 Utilizando el comando “feval”, en la ventana de comandos de la siguiente manera: 

    [ x1, x2] = feval („ecuacion‟, 1, 2, 4) 

    En donde el nombre de la función, es “ecuación”, y los argumentos son los coeficientes delaecuación: 1, 2, y 4. El resultado es el siguiente:

    x1 =

    -1.0000 + 1.7321i

    x2 =

    -1.0000 - 1.7321i

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    39/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 39 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    3.1.2 Sentencia return

    Por defecto, las funciones devuelven el control después de que se ejecute la última de sus

    sentencias. La sentencia return , incluida dentro del código de una función, hace que sedevuelva inmediatamente el control al programa que realizó la llamada.

    3.1.3 sub-funciones

    Tradicionalmente MATLAB obligaba a crear un fichero *.m diferente por cada función. Elnombre de la función debía coincidir con el nombre del fichero. A partir de la versión 5.0 seintrodujeron las sub-funciones , que son funciones adicionales definidas en un mismo fichero* .m , con nombres diferentes del nombre del fichero (y del nombre de la función principal) y quelas sub-f unciones sólo pueden ser ll amadas por las funciones contenidas en ese fichero ,resultando “invisibles” para otras funciones externas.

    Dentro de una función de Matlab, que es la principal, puede existir una o varias funciones a su

    vez, esto lo vemos en el siguiente ejemplo:

    function [media,mediana] = estadistica(u) % Función principal

    % ESTADISTICA Calcula la media y la% mediana utilizando funciones internas.n = length(u);

    media = mean(u,n);mediana = median(u,n);

    function a = mean(v,n) % Subfución

    % Calcula la media.a = sum(v)/n;

    function m = median(v,n) % Subfunción% Calcula la mediana.

    w = sort(v);if rem(n,2) == 1

    m = w((n+1)/2);elsem = (w(n/2)+w(n/2+1))/2;end

    % FIN

    3.2 Entrada y manejo de datos

    3.2.1 función input  

    La función input  permite imprimir un mensaje en la línea de comandos de MATLAB yrecuperar como valor de retorno un valor numérico o el resultado de una expresión tecleada porel usuario. Después de imprimir el mensaje, el programa espera que el usuario teclee el valornumérico o la expresión. Cualquier expresión válida de MATLAB es aceptada por estecomando.

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    40/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 40 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    El usuario puede teclear simplemente un vector o una matriz. En cualquier caso, la expresiónintroducida es evaluada con los valores actuales de las variables de MATLAB y el resultado sedevuelve como valor de retorno. Observemos un ejemplo de uso de esta función:

    >> n = input('Teclee por favor el número de ecuaciones')

    Otra posible forma de esta función es la siguiente (obsérvese el parámetro 's'):

    >>nombre = input('¿Diga por favor su nombre?','s')

    % La s hace referencia a una cadena de caracteres de tipo string

    En este caso el texto tecleado como respuesta se lee y se devuelve sin evaluar, con lo que sealmacena en la cadena nombre . Así pues, en este caso, si se teclea una fórmula, se almacenacomo texto sin evaluarse.

    3.2.2 función disp  

    La función disp. permite imprimir en pantalla un mensaje de texto o el valor de una matriz, perosin imprimir su nombre. En realidad, disp. siempre imprime vectores y/o matrices: las cadenasde caracteres son un caso particular de vectores. Considérense los siguientes ejemplos de cómo

    se utiliza:

    >>disp('El programa ha terminado')>> A=rand(4,4)>>disp(A)

    Al ejecutar las sentencias anteriores en MATLAB se observa la diferencia entre las dos formas

    de imprimir la matriz A.

    3.3 Funciones en Matlab

    Existen diversas funciones redefinidas en Matlab. A través de la ayuda y la documentación pueden consultarse.

    3.4 Condiciones y flujos de control en Matlab

     Normalmente, Matlab va realizando las instrucciones de un programa enel orden que las hemosescrito. No obstante, hay varias formas de conseguir que este orden no se respete:

    - If, junto con else y elseif, ejecuta un grupo de instrucciones dependiendo de qué ciertaexpresión lógica sea cierta o no.

    - While ejecuta un grupo de instrucciones un número indefinido de veces que depende de quecierta expresión lógica se verifique o no.

    - For ejecuta un grupo de instrucciones un número establecido de veces.

    - Break termina la ejecución de un for o while.

    - Switch, junto con case y otherwise, ejecuta diferentes grupos de instrucciones dependiendo del

    valor de alguna condición lógica.

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    41/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 41 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    - Continue pasa el control a la siguiente iteración de un for o while, ignorando cualquierinstrucción posterior (del for o while en cuestión).

    Veamos a continuación un poco más detallada cada una de ellas.

    3.4.1 Bucle ifelse  

    MATLAB, al igual que la mayoría de los lenguajes de programación estructurada, tambiénincorpora la estructura IF-ELSEIF-ELSE-END. Mediante esta estructura, se pueden ejecutarsecuencias de comandos si se cumplen determinadas condiciones. La sintaxis del bucle es la

    siguiente:

    if condicióncomandos

    end

    En este caso se ejecutan los comandos si la condición es cierta. Pero la sintaxisde este bucle

     puede ser más general.

    if condicióncomandos1

    elsecomandos2

    end

    En este caso se ejecutan los comandos1 si la condición es cierta, y se ejecutan los comandos2 sila condición es falsa.

    Ejemplo 1:

    function pares(n)

    % Calcula si un número es par, impar, positivo, negativo.% Universidad Técnica de Ambato

    % Curso de Matlab

    if n>pares(4)

    A =

    n es par

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    42/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 42 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    >>pares(5)

    A =n es impar

    >>pares(-5)

    A =n es negativo

    Ejemplo 2:

    Cálculo del salario de un trabajador. Un trabajador cobra un determinado sueldo por hora hasta

    40 horas semanales. Además si realiza horas extras (más de 40 horas semanales), dichas horasse le pagan un 50% más. En un script se calcula la paga semanal, se pedirá que introduzca eltotal de horas y el salario por hora. Así se visualizará la paga semanal del trabajador.

    % Calcula el salario semanal de un trabajador.

    % Universidad Técnica de Ambato% Curso de Matlab

    clear all; close all; clc;

    t = input('Introduzca el número de horas trabajadas: ');disp('\ '); % despliega un salto de líneah = input('Introduzca el salario por hora en dólares: ');

    Psema = t*h;

    if (t > 40)

    Psema = Psema + (t-40)*0.5 * h;

    end

    fprintf(' El pago semanal del trabajador es de %5.2 f Dólares ', Psema);

    % FIN

    Ejemplo 3:

    Una torre de almacenamiento de agua tiene la

    geometría que se muestra en la figura. La parte inferior es un cilindro, y la superior un

    cono truncado invertido. Dentro del depósitohay una boya que indica el nivel del agua.Escribir una función en Matlab que calcule el

    volumen de agua dentro del depósito a partirde la posición (altura "h") de la boya. La

    entrada de la función será el valor de la altura(h) en metros, y la salida será el volumen queocupa el agua en metros cúbicos.

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    43/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 43 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    Para 0 ≤ h ≤ 19 m, el volumen de agua se puede calcular a partir del volumen de un cilindro dealtura h, que es:

    =  12.52ℎ Para 19 ≤ h ≤ 33 m, el volumen de agua se calcula sumando el volumen del cilindro, con alturah = 19 m, y el volumen de agua en el cono.

    =  12.52 ∗   1 9 + 13

      ℎ − 19 (12.52 + 12.5−  ℎ + ℎ2 )Donde ℎ  : 12.5 + 10.514  (ℎ − 19), La función en Matlab queda de la siguiente manera:function v = vagua(h)

    close all; clc;format short;% Cálculo del volumen de agua de un depósito% Valor de entrada, es el nivel del agua en metros% Valor de salida, es el volumen de agua en metros cúbicos

    if h >fori=1:3, x(i)=0, end % Desde I = 1 hasta 3, vale 0

     x =

    0

     x =

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    44/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 44 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    0 0

     x =

    0 0 0

    La forma general de un bucle FOR es la siguiente:

    for variable = expresión

    comandosend

    El bucle siempre empieza con la cláusula for y termina con la cláusula end, e incluye en suinterior todo un conjunto de comandos que se separan por comas. Si algún comando define unavariable, se finaliza con punto y coma para evitar repeticiones en la salida.

    Ejemplo:

    Realizar un script que calcule los “n” primeros términos de la serie numérica siguiente:

    (−1)  (2)

    =1

     

    Ejecutar el script para n = 4 y n = 20

    % Programa para calcular los n primeros términosclear all; close all; clc;

    n = imput(„Introduzca el número de términos: „); 

    s = 0; % Inicializa la suma a cero

    for k = 1: n

    s = s +(-1)^k*k/2^kend

    fprintf(„ El valor (suma) de la serie es: %f‟, s); 

    % FIN

    Ejemplo 2

    Desarrollar un script para calcular la función sen(x), que se aproxime utilizando la serie de

    Taylor

      = (−1)2+12 + 1!∞=0

     

    function y = serie1(x,n)

    % La función serie1, aproxima el valor del seno de x, utilizando una serie de Taylor

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    45/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 45 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    % Los argumentos de entrada son: el ángulo x en grados y el número n de términos de la serie

    xr = x*pi/180;

    y = 0;

    for k = 0:n-1

    y = y +(-1)^k*xr^(2*k+1)/factorial(2*k+1);

    end

    % FIN

    3.4.3 Bucle While

    MATLAB dispone de su propia versión de la sentencia WHILE definida en la sintaxis de lamayoría de los lenguajes de programación. Esta sentencia permite ejecutar de forma repetitivaun comando o grupo de comandos un número determinado de veces mientras se cumple unacondición lógica especificada. La sintaxis general de este bucle es la siguiente:

    while condicióncomandosend

    El bucle siempre empieza con la cláusula while seguida de una condición, y termina con lacláusula end, e incluye en su interior todo un conjunto de comandos que se separan por comas y

    que se ejecutan mientras se cumple la condición. Si algún comando define una variable, sefinaliza con punto y coma para evitar repeticiones en la salida.

    Ejemplo:

    Una secuencia en la cual una variable x con valor inicial de 1, se multiplica por dos en cadaiteración, y el bucle se repite hasta que el valor de la variable sea menor o igual a 16

    x = 1;

    while x < = 16x = 2*x;

    end

    3.4.4 Bucle Switch  

    La sentencia switch realiza una función análoga a un conjunto de if...elseif concatenados. Suforma general es la siguiente:

    switchswitch_expresioncasecase_expr1, bloque1case{case_expr2, case_expr3, case_expr4,...} bloque2

    ...otherwise, % opción por defecto

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    46/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 46 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

     bloque3

    end 

    Al principio se evalúa la switch_expresion , cuyo resultado debe ser un número escalar o unacadena de caracteres. Este resultado se compara con las case_expr , y se ejecuta el bloque de

    sentencias que corresponda con ese resultado. Si ninguno es igual a switch_expresion seejecutan las sentencias correspondientes a otherwise . Según puede verse en el ejemplo anterior,es posible agrupar varias condiciones dentro de unas llaves (constituyendo lo que se llama uncell array o vector de celdas, explicado en el apartado 5.4); basta la igualdad con cualquierelemento del cell array para que se ejecute ese bloque de sentencias. La “igualdad” debe

    entenderse en el sentido del operador de igualdad (==) para escalares y la función strcmp() paracadenas de caracteres).

    3.4.5 Break y continue

    SENTENCIA BREAK

    Al igual que en C/C++/Java, la sentencia break hace que se termine la ejecución del buclefor y/owhile más interno de los que comprenden a dicha sentencia.SENTENCIA CONTINUE

    La sentencia continue hace que se pase inmediatamente a la siguiente iteración del bucle for owhile , saltando todas las sentencias que hay entre el continue y el fin del bucle en la iteraciónactual.

    3.4.6 Sentenciastry...catch...end  

    La construcción try...catch...end permite gestionar los errores que se pueden producir en tiempode ejecución. Su forma es la siguiente:

    trysentencias1

    catchsentencias2

    end

    En el caso de que durante la ejecución del bloque sentencias1 se produzca un error, el controlde la ejecución se transfiere al bloque sentencias2 . Si la ejecución transcurriera normalmente,sentencias2 no se ejecutaría nunca. MATLAB dispone de una función lasterr que devuelve unacadena de caracteres con el mensaje correspondiente al último error que se ha producido. En laforma lasterr('')  pone a cero este contador de errores, y hace que la función lasterr devuelva lamatriz vacía [] hasta que se produzca un nuevo error.

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    47/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 47 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    CURSO BÁSICO DE LENGUAJE MATEMÁTICO MATLAB 

    III SESIÓN

    Facultad de Ingeniería Civil y Mecánica

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    48/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 48 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    Unidad IV

    Gráficos en Matlab

    4.1 Gráficos Bidimensionales 2D

    4.1.1 Función plot  4.1.2 Estilos, líneas, colores y marcadores en la función plot4.1.3 Uso de herramientas de dibujo (plottools)4.1.4 comando subplot  4.1.5 control de los ejes: función axis() 

    4.1.6 función figure 4.1.7 Dibujo de funciones simples: ezplot, ezpolar , etc.

    4.2 Gráficos Tridimensionales 3D4.2.1 Tipos de funciones gráficas 3D: ezplor3, ezsurf, etc.4.2.2 Utilización de color en 3D y uso de plottools4.2.2 Dibujos de mallados: mesh, meshgrid, surf  

    4.2.3 Dibujos de líneas de contorno: contour  

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    49/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 49 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    FICHA Y HORARIO DE CLASE

    Planificación y desglose de actividades de la segunda sesión, de acuerdo a lo estipulado en la planificación del curso: “Curso Básico Matlab”. 

    a) No. de Sesión: III Sesión:Unidad: IV Gráficos en Matlab. 

    Sub-competencia: Identifica y comprende los conceptos básicos de los gráficos en dosy tres dimensiones

    FICHA DE CLASE (Contenidos a desarrollar en la sesión) 

    A Contenido/Tema Objetivos

    ActividadesMetodología

    RR.DD. EvaluaciónObservaciones

    1

    Bienvenida/Prese

    ntar los

    Contenidos y

    objetivos del día

    Inciso I1.1 Introducción

    General. Ver

    objetivo del día,

    horario, Horarios

    y evaluaciones.

    1.2 Actividad

    presentación de

    trabajos hoja 3

    1.3 Actividad,

    puesta en comúnsobre resultados

    de análisis de

    trabajo

    autónomo

    1.4 Actividad.

    Conferencia

    sobre los gráficos

    en Matlab

    1.5.Actividad

    ejercicios

    prácticos sobre

    Gráficos

    1.3. Co-

    evaluación,

    Puesta en común

    ejercicios

    *Bienvenida,

    *Presentar el objetivo

    del día

    *Comprender los

    conceptos de los

    gráficos en Matlab 2D

    y 3D

    * Presentación por parte

    de los grupos de los

    programas realizados de

    la hoja 3

    * Puesta en común

    sobre la hoja de trabajo

    autónomo en base al

    artículo

    * ejercicios de

    programas conteniendo:

    gráficos en 2D y 3D

    *Método expositivo

    de conferencia

    tradicional/

    Pizarra, Textos

    Uso de proyector

    como medio

    audiovisual.

    *Método

    demostrativo

    práctico de trabajo

    en grupo en las

    clases prácticas

    *Co-Evaluación y

    puesta en común

    de los resultados

    de la hoja de

    ejercicios 3

    *Puesta en común

    sobre el resultado

    del análisis del

    artículo

    *Co-evaluación

    ejercicios de

    programación.

    Puesta en comúnresultados

    ejercicios.

    *Discusión y

    Puesta en común

    sobre hoja de

    trabajo 4

    1. Presentar proceso

    general del curso

    2. Presentar

    conceptos básicos de

    gráficos en 2D y 3D.

    3. Presentar los

    elementos de Matlab

    para gráficos

    4. Preparar hojas para

    las prácticas con los

    ejercicios.

    5. Orientar sobre

    próxima evaluación

    6. Asignar Ejercicios

    prácticos de Matlab

    (Hoja 3 de trabajo

    Autónomo)

    7. Entrega material

    (hojas y video)

      A = Número de Actividad.

      RR.DD. = Recursos didácticos

    La sesión se dividirá en dos bloques con un descanso entre cada uno. Ver a continuación el

    cuadro del horario para indicar los tiempos de cada actividad.

  • 8/18/2019 1 Manual Curso Matlab Basico Estudio

    50/127

      UNIVERSIDAD TÉCNICA DE AMBATO CURSO DE LENGUAJE MATEMÁTICO MATLAB 

    Página 50 de 127 Curso Matlab básico, marzo 2016 -Dr . L igdamis A. Gut iérrez Espinoza- Docente - I nvestigador  

    d) HORARIO I SESIÓN  (31/03/16)Curso Básico Matlab.

      La hora de clases es de 60 minutos: 8:00 am. a 14:00 pm.

    No. Horario Actividad Recursos Observación

    1 8:00 – 8:10 10’ Bienvenida

    Presentación General/DocentePizarra,Proyector

    Toma de Asistencia

    con hojas preparadas

    2 8:10 – 8:20 10’ Presentar objetivo día, Presentar

    HorarioProyector, Filminas,

    Pizarra

    Revisión puntos

     principales día

    3 8:20 – 8:35 15’ Puesta en común actividad trabajo

    autónomo artículoHojas de trabajo

    autónomo 2Entrega trabajos

    4 8:35 – 9:00 25’  Actividad, presentación por parte de losgrupos de los programas realizados

    Hojas de ejercicios 3 Memoria con los programas y Matlab

    5 9:00 – 9:05 5’ Puesta en común de resultados del

    trabajo en grupo

    6 9:05- 9:35 30’  Presentación gráficos en MatlabHojas de Tema

    Pizarra,Proyector

    7 9:35 – 9:40 5’  Plenario

    8 9:40 – 10:00 20’  Ejercicios de gráficosHojas con ejer