Capítulo I-Matlab

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 49

Capítulo I

Características generales de Matlab

Msc. Ing. Jairo E. Márquez

Introducción a Matlab

MATLAB significa MATrix LABoratory (LABORATORIO DE MATRICES).


Creado en California por Jack Little and Cleve Moler en 1984, para realizar cálculo
matricial en ordenadores sin necesidad de conocimientos de programación.

Es una aplicación computacional de carácter técnico diseñado para la


solución de problemas matemáticos, en la que se integra el análisis numérico, la
estadística, probabilidad, optimización, cálculo diferencial e integral, algebra lineal,
procesamiento de señales, ecuaciones diferenciales e inteligencia artificial entre
otros, que permite además la adquisición de datos, gráficos en 2D y 3D de
funciones, desarrollo de algoritmos, modelamiento, simulación y prototipado,
desarrollo de aplicaciones con interfaces gráficas, etc..

También esta herramienta, permite el desarrollo de algoritmos y crear


aplicaciones interactivas, bien sea planas o con interfaces de usuario
personalizadas. El lenguaje nativo de MATLAB es C, con librerías desarrolladas en
LAPACK y BLAS. Con el lenguaje C, permite al usuario mediante el MATLAB Coder
el desarrollo de programas se realiza de manera fácil y casi intuitiva, para diversas
áreas científicas, educación e ingeniería.
El programa comercial lo distribuye The Mathworks Inc (Natick, MA).
http://www.mathworks.com que es compatible con los sistemas operativos Linux,
Windows y Mac.

MATLAB es un lenguaje de programación de alto nivel con un entorno


interactivo que permite el cálculo técnico, en la que se incluyen funciones para el
desarrollo de algoritmos, análisis de datos, cálculo numérico, y visualización.

Con MATLAB es posible reutilizar código heredado escrito en otro lenguaje de


programación, crear sitios web con capacidad de respuesta basados en MATLAB o
programar hardware mediante código C embebido libre de errores generado
directamente desde MATLAB. Los equipos que utilizan lenguajes de programación
diferentes pueden trabajar juntos, dedicando más tiempo a desarrollar productos y
menos a traducir el código a otro lenguaje.

MATLAB ofrece una integración bidireccional flexible con otros lenguajes de


programación, por ejemplo:

 Llamada a MATLAB desde otro lenguaje


 Llamada a librerías escritas en otro lenguaje desde MATLAB
 Conversión de código de MATLAB a código C/C++
 Empaquetado de programas de MATLAB

Llamada a MATLAB desde otro lenguaje


Con MATLAB Engine API es posible utilizarla desde otro entorno de
programación. Estas API permiten la ejecución de comandos de MATLAB desde su
lenguaje de programación sin tener que iniciar una sesión de escritorio en MATLAB.
Existen MATLAB Engine API disponibles para:

 C/C++
 Fortran
 Java
 Python
 Aplicaciones y componentes COM, incluidos muchos programas escritos en
lenguajes tales como Visual C#® .NET y Visual Basic® .NET

Permite llamar librerías escritas en otro lenguaje desde MATLAB. También, si tiene
funciones y objetos en otro lenguaje de programación, puede llamarlos desde
MATLAB. A partir de la versión R2015b, es posible llamar a los siguientes
componentes de programa desde MATLAB:

• Librerías de Java
• Librerías de Python
• Funciones de archivos MEX para C/C++ o Fortran
• Librerías de C compartidas
• Librerías de .NET
• Objetos COM
• Servicios web RESTful y WSDL

Conversión de código de MATLAB a código C/C++

Existe la posibilidad de convertir los algoritmos de MATLAB a código C/C++


mediante MATLAB Coder. El código C generado es legible y portable, y ofrece
soporte para la mayor parte del lenguaje de MATLAB y una amplia gama de
toolboxes.

Si trabaja con un lenguaje de programación distinto de C/C++, puede usar el código


de MATLAB generado mediante MATLAB Compiler SDK. La decisión entre usar
MATLAB Coder o MATLAB Compiler SDK para la integración con C/C++ dependerá
de su flujo de trabajo y los requisitos, incluida la necesidad de que el código resulte
portable y autónomo.

Empaquetado de programas de MATLAB como componentes de software


Los programas de MATLAB se pueden empaquetar a modo de componentes de
software específicos del lenguaje para poder integrarlos con los lenguajes de
programación habituales. Estos componentes se pueden integrar con aplicaciones
personalizadas y se pueden desplegar en sistemas de escritorio, web y
empresariales.

Esta opción resulta útil si el usuario final no dispone de MATLAB. Los componentes
de software se crean mediante MATLAB Compiler SDK, y se pueden distribuir de
forma gratuita.

Es posible generar los siguientes componentes de lenguaje a partir de código de


MATLAB:

• Ensamblados de Microsoft .NET®


• Paquetes de Python
• Clases de Java®

1.1 Toolboxes de Matlab

Matlab cuenta con paquetes de aplicación de funciones especializadas


llamadas toolboxes, que proporcionan acceso a múltiples rutinas, importantes para
diversas aplicaciones científicas. Así:

 Symbolic Math Toolbox.


 Extended Symbolic Math
 Data base Toolbox
 Data Acquisition Toolbox
 Instrument Control Toolbox
 Curve Fitting Toolbox
 Excel Link Toolbox
 Control system Toolbox
 Robust Control Toolbox
 Frequency Domain System Identification Toolbox
 Fuzzy Logic Toolbox
 Higher Order Spectral Analisys Toolbox
 Image Processing Toolbox
 Mapping Toolbox
 Model Predective Control Toolbox
 Μ-Analysis and Synthesis Toolbox
 LMI (Inecuaciones Matriciales Lineales) Control Toolbox
 Model Predictive Control Toolbox
 Model Based Calibration Toolbox
 NAG Foundation Toolbox
 Neural Network Toolbox
 Nonlinear Control Design Toolbox
 Optimization Toolbox
 Quantitative Feedback Theory Toolbox
 Signal Processing Toolbox
 Filter Desing Toolbox
 Wavelet Toolbox
 System Identification Toolbox
 Spline Toolbox
 Statistics Toolbox
 System Identification Toolbox
 Partial Differencial Equation Toolbox
 Financial Toolbox
 Financial Time Series Toolbox
 Financial Derivatives Toolbox
 Garch Toolbox
 Datafeed Toolbox
 Wireless System Design: Trabaja con tecnologías contemporáneas como
LTE, 5G y WLAN, al igual que con esquemas de modulación: FBMC, UFMC,
GFDM, entre otros.

1.2 Productos Simulink

Otras de las herramientas fundamentales que forman parte de Matlab, y muy


útil para el área de la ingeniería, es Simulink, que provee los medios de diseño y
simulación de sistemas dinámicos lineales como no lineales en tiempo real a partir
de entornos gráficos interactivos de modelado basado en eventos, que se realizan
por medio del uso de diagramas de bloques, al igual que la incorporación de código
en C en los mismos. Permite, además, el modelado físico, análisis de sistemas,
procesamiento de señales y comunicación, gráficos de simulación y presentación
de informes.
Los productos de simulink están divididos según su aplicación, así:

1. Modelamiento basado en eventos.

- StateFlow: Diseño y simulación de máquinas de estado.

- SimEvents: Modelación y simulación de sistemas discretos.

2. Modelamiento físico

- Simscape: Modela y simula sistemas físicos multidominio.

- SimMechanics: Modela y simula sistemas mecánicos multicuerpo.

- SimDriveline: Modela y simula sistemas mecánicos unidimensionales.

- SimHydraulics: Modela y simula sistemas hidráulicos.

- SimRF: Diseña y simula sistemas de Radio Frecuencia.

- SimElectronics: Modela y simula sistemas electrónicos y mecatrónicos.

- SimPowerSystems: Modela y simula sistemas eléctricos de potencia.

3. Prototipado y simulación rápida. Targets

Las targets (o tarjetas de adquisición de datos) se relacionan con Matlab


mediante módulos que permiten la gestión de señales de sistemas de
monitoreo.

4. Verificación, validación y prueba

- Simulink Verication and Validation: Comprueba modelos y código


generado al realizar la simulación.

- Simulink Design Verifier: Identifica los errores de diseño, genera vectores


de prueba, verificación de diseños y requisitos de un sistema previamente
diseñado.

- SystemTest: Administra pruebas y analiza los resultados para sistemas de


verificación y validación.

- HDL Verifier: Verifica sistemas VHDL y Verilog, utilizando simuladores de


HDL y bancos de pruebas tipo FPGA-in-the-loop.
- Simulink Code Inspector: Automatiza las revisiones de código fuente para
los estándares de seguridad.

- Polyspace Client for C/C++: Muestra la ausencia de errores en tiempo de


ejecución en el código fuente.

- Polyspace Server for C/C++: Realiza códigos de verificación de clusters de


computadores y muestra sus respectivas métricas.

- Polyspace Client for Ada: Prueba la ausencia de errores en tiempo de


ejecución en el código fuente.
- Polyspace Server for Ada: Realiza código de verificación en clústeres de
computadores y publica sus métricas.

- Polyspace Model Link SL: Traza resultados poliespaciados en modelos de


Simulink.

- Polyspace Model Link TL: Traza resultados poliespaciados mediante


sistemas dSPACE TargetLink blocks.

- Polyspace UML Link RH: Realiza el seguimiento de los resultados


poliespaciados para sistemas tipo IBM Rational Rhapsody models.

- DO Qualification Kit: Calificador de herramientas de Simulink y verificación


poliespaciada bajo la norma DO-178 y DO-278.

5. Gráficas y desarrollo de reportes de Simulación.

- Simulink 3D Animation: Animación y visualización de modelos en 3D.

- Gauges Blockset: Señales para monitoreo con instrumentación gráfica.

- Simulink Report Generator: Generación de documentación para Simulink


y modelos Stateflow.

6. Otras herramientas implementadas en las últimas versiones

- Simulink Perfomance Tool


- Requirements Management Interface
- Virtual Reality
- Simulink for Arduino

1.3 Matlab C Math Library

Esta librería de Matlab está constituida por las siguientes categorías de


funciones y archivos .m compilados, como son:
 Funciones matemáticas básicas y especializadas.
 Matrices y vectores.
 Estadística básica y análisis de datos.
 Gestión de cadenas de caracteres.
 Operadores lógicos y aritméticos.
 Gestión de memoria y errores.
 Polinomios e interpolación.
 Entradas y Salidas.
 Algebra lineal.

1.4 Herramientas de desarrollo

MATLAB posee herramientas de desarrollo para implementar los algoritmos


de manera eficiente, entra las que se puede destacar:

- MATLAB Editor. Esta la componen las funciones de edición y de depuración


estándar.

- M-Lint Code Checker. Se encarga del análisis del código y emite


recomendaciones en cuanto a mejoras o modificaciones del mismo para
optimizar el rendimiento y mantenimiento.

- MATLAB Profiler. Se encarga de registrar el tiempo de ejecución de las líneas


de código que forman parte del programa.

Nota 1. Matlab ha incursionado en los sistemas móviles, mediante la


creación de herramientas de desarrollo relacionadas con el sistema
operativo Android, que se pueden encontrar en Google Play Store.

Existen tres grupos principales de aplicaciones móviles:


- Guías de referencia sobre Matlab.
- Control remoto de Matlab.
- Emuladores de Matlab para Android.
Para el primer caso se encuentra Matlab Quick Reference Guide. Es una guía
básica que muestra información sobre Matlab clasificada por categorías, donde
aparecen las funciones explicadas brevemente.
Para el segundo caso, existen aplicaciones que permiten controlar
remotamente Matlab, que se estará ejecutándose en un PC. Hay un par de
aplicaciones, muy sencillas que permiten ejecutar operaciones potentes.
1. Matlab Commander. Esta aplicación permite ejecutar diversos comandos de
Matlab de manera remota. La comunicación entre la aplicación y el
computador no está encriptada.

2. Matlab Connect Free Edition. Esta aplicación es similar a la anterior, con la


diferencia que a nivel gráfico es menos agradable para el usuario.
Ambas aplicaciones requieren de instalar un programa en el computador,
además de Matlab. Matlab Commander se ejecuta con un archivo con extensión .jar
en el computador y Matlab Connect con un .m dentro de Matlab.
Existe otra aplicación bastante interesante llamada Matlab Mobile, que
permite conectar el smarphone o Tableta a Matlab. Esta aplicación crea y edita
archivos, al igual que permite observar los resultados de los datos adquiridos de un
grupo de sensores.
Para el tercer caso, existen diversos emuladores, uno de ellos es Mathmatiz.
Este emulador permite realizar autocompletado de funciones, muy útil en un
dispositivo móvil. La aplicación tiene un teclado integrado, lo que facilita digitar
expresiones matemáticas.
Otro emulador es Addi; el cual es un proyecto de software libre, cuyo objetivo
es implementar de forma completa Octave para Matlab. La forma de funcionamiento
es similar a Mathmatiz, con la diferencia que posee ayuda en línea.
Ambos emuladores permiten realizar cálculos complejos de Matlab, por lo
que el desarrollo de scripts más estructurados es viable, máxime si se van a correr
en un móvil.
En Google Play Store se pueden encontrar diversas aplicaciones relacionadas
con Matlab, unas gratis y otras pagas, aquí se citan algunas que en el momento de
edición del libro estaban activas:
- Manual Matlab
- Matlab Tutorial
- Learn Matlab Pro
- Learn Matlab for Beginner
- Learn Matlab complete Guide
- Matlab Fuction
- Matlab Langauge
- Matlab Hep Learn
- MATLAB and Simulink Events
- Sapno ka Matlab

Las herramientas para Android están divididas en tres grupos principales:


- Matlab Quick Reference Guide (Guías de referencia de Matlab). Estas guías
aparecen clasificadas por categorías y se explican las funciones disponibles que
posee Matlab.

- Matlab Remote Control (Control remoto de Matlab). Es un conjunto de


aplicaciones (Matlab Commander, Matlab Connect Free Edition) que permite
controlar de forma remota a Matlab, se ejecuta desde un computador que asume
el papel de servidor, permitiendo con ello gestionar los comandos enviados
desde Android para devolver el resultado, bien sea numérico como gráfico.

Estas aplicaciones requieren de manera adicional, instalar un programa que


ejecute un .jar en el computador, esto para Matlab Commander, para Matlab
Connect se requiere un .m dentro de Matlab.

- Android Emulators Matlab (Emuladores de Matlab para Android). En realidad,


son varios emuladores, el primero de ellos es Mathmatiz, que se caracteriza por
tener la función de autocompletado de funciones, útil en un dispositivo móvil.
Esta aplicación presenta un teclado integrado que permite digitar las
expresiones matemáticas y/o scripts .m.

El segundo emulador es Addi, que es un proyecto de software libre que busca


ser implementado con la aplicación matemática Octave1 sobre Matlab,
complementando de esta manera su potencial computacional en materia de
cálculos matemáticos más complejos.

Addi es más completo que el de Mathmatiz en cuanto a funcionalidad y


herramientas matemáticas que puede gestionar, sumado a que cuenta con
ayuda en línea, es más estable y permanentemente se le está realizando
mejoras. Este es un aspecto a tener en cuenta a la hora de emplear este tipo de
herramienta, que aparte de tener soporte, esté constantemente actualizándose.

Las dos herramientas citadas son lo suficientemente funcionales para que corran
sobre Android emulando a la perfección Matlab en términos generales.

1.5 Escritorio de Matlab

Cuando se inicia Matlab, el escritorio (desktop) aparecerá con sus paneles


en la disposición (layout) por defecto (default). Vamos a ver con mayor detenimiento
estas partes:

1
Octave o GNU Octave es la contraparte de Matlab, con la diferencia que es software libre. Entre las
características que comparte con Matlab es cargar archivos .m, soportar parte de las funciones matemáticas que
forman parte de la biblioteca estándar de C de Matlab.
Command Window (ventana de comandos)

Es la región principal donde se ejecutan las operaciones directas en Matlab,


tales como cálculos, programas script, en la que se registran los resultados de las
mismas.

Figura 1.1. Interfaz gráfica de Matlab, que por defecto se establece de la forma como aparece
distribuida en la figura. Tenga en cuenta que esta interfaz se puede personalizar según conveniencia
del usuario.

En este espacio aparece por defecto dos flechas al lado de la función en el


command window llamado promp (>>)

Figura 1.2. El promp es un símbolo matemático que expresa que está activo Matlab y permite el
ingreso y salida de información.

Este símbolo tiene como objetivo indicar el inicio y final de una operación.

Command History (Historial de comandos)


Guarda todos los comandos que se han digitado en el Command Window.
Esta ventana es importante, porque permite revisar las tareas y/o ejercicios
realizados en sesiones previas, revisando el historial de comandos. También,
permite re-ejecutar los comandos que han sido ingresados previamente a través de
la línea de comandos.

Si no aparece directamente activo en la nueva versión, se puede localizar a


la parte superior derecha de Matlab, tal como se muestra en la imagen.

Figura 1.3. El command history por defecto está oculto, pero puede dejarse fijo en la interfaz
gráfica, al seleccionarse el botón Layout, luego, command history y Docket.

Workspace (Espacio de Trabajo)

Este espacio proporciona información acerca de las variables que se están


utilizando en el command window.

Matlab ofrece la posibilidad de cargar o guardar las variables que desee el


usuario. Los comandos relacionados para esta tarea que gestionan el workspace
son:

- load: carga el workspace desde un archivo, tiene varias funciones, por lo que se
recomienda consultar la ayuda que ofrece Matlab.

- save: guarda el workspace las variables solicitadas en el archivo de nombre


dado con el formato pedido con el argumento opcions. Para conocer los
formatos disponibles y sus posibles incompatibilidades se recomienda consultar
la ayuda que ofrece Matlab.

- diary: Esta función permite guardar todos los comandos y resultados en un


archivo cuyo nombre se asignó previamente. Se recomienda consultar la ayuda
que ofrece Matlab. Por ejemplo:

diary('nombrearchivo')
diary on
texto='graba todo lo que se coloque aquí';
diary off
texto2='ya ha culminado la grabación';

De lo anterior se infiere que por medio del Workspace se puede explorar


datos que se vayan creando o importando a partir de archivos.

Current Folder (Directorio Actual)

Muestra los ficheros creados y guardados en el subdirectorio de Matlab.

Como ejercicio se va a crear una carpeta que la vamos a denominar


“prueba”, en la cual se van a guardar los scripts que se desarrollen como ejercicios.
Para ello dar clic derecho sobre la pestaña Current Folder, allí se despliega una
serie de opciones, entre ellas New Folder, tal como señala la flecha en la figura 1.4.

Figura 1.4. Instrucción pata crear una carpeta de trabajo de Matlab.

Se cambia el nombre de New Folder a prueba (ver la flecha). Luego, la carpeta


de trabajo que se establece es prueba, como se comprobará en la
ventana Current folder.

El siguiente paso es establecer como carpeta principal la “carpeta prueba”,


esto con el fin que todos los scripts y/o demás archivos, sean guardados en la
mencionada carpeta. Para ello solo dar doble clic en la carpeta y con ello queda
todo listo.
Si desea verificar la existencia de la carpeta de otra manera, solo diríjase a
donde quedo la carpeta de trabajo de MATLAB, que para este caso en particular en
el Sistema Operativo Windows se crea en Mis documentos por defecto.

Cabe agregar, que un fichero tipo script se puede seleccionar con el


cursor para eliminarlo y cambiar de nombre en la ventana Current folder.

1.6 Entorno de trabajo de MATLAB

La última versión de Matlab es la R2020a cuando se editó este libro, en la


que se destaca en su interfaz gráfica, la introducción de la Cinta de Herramientas
o Toolstrip. En ella, aparecen organizadas las funciones del escritorio, que en
versiones anteriores se encuentra en los menús y barra de herramientas, tal como
se muestra en la figura 1.5:

Figura 1.5. Cinta de herramientas de la ventana principal de Matlab

Como se aprecia en la cinta, aparece un conjunto de pestañas globales


divididas en secciones (HOME, PLOTS y APPS), en la que cada una gestiona
controles, tales como botones y menús desplegables.

Es importante anotar que, si se desea maximizar el espacio ocupado por la


cinta para ver otros botones de Matlab, se puede dar clic derecho sobre cualquier
parte de la misma, luego seleccione Minimize Toolstrip. También, se puede dar
doble clic en cualquiera de las pestañas y automáticamente estas se minimizan, tal
como se observa en la figura 1.6:

Figura 1.6. Toolstrip minimizado.

Para restaurar temporalmente solo dar clic en una pestaña. Si se desea


restaurar definitivamente, dar clic derecho sobre la cinta y seleccionar Restore
Toolstrip, o en su defecto, dar doble clic en cualquiera de las pestañas.

Para la gestión de las pestañas globales, se procede a dar una explicación


general de las mismas:

La pestaña Home gestiona operaciones de propósito general sobre


archivos tales como: crear scripts (New Script), abrir (Open), crear, comparar y
buscar archivos, importar datos, salvar información en el workspace, y sobre esta,
crear, abrir o borrar variables. También, desde esta cinta se puede acceder a las
librerías de Simulink, administrar el espacio de trabajo o workspace y configurar la
distribución del escritorio (layout), tal como se muestra en la figura 1.7:

Figura 1.7. Pestaña principal Home.

La pestaña PLOTS se usa para crear gráficas y para ello se vale de una
galería que dispone Matlab, al igual que los toolbox que se instalen eventualmente.
Para el uso de esta galería, se debe seleccionar las variables a graficar en la
ventana Workspace y luego se escoge el tipo de visualización.

Cabe anotar que la galería según los datos de entrada, va a mostrar las
opciones de graficación más apropiadas, tal como se muestra parcialmente en la
figura 1.8:

Figura 1.8. Pestaña que relaciona las diversas opciones de graficas en 2D y 3D.

La pestaña APPS está destinada a la ejecución de aplicaciones interactivas


que se obtienen automáticamente con los Toolboxes que estén instalados. El ícono
que apunta hacia abajo, despliega la galería con más opciones, como se observa
en la figura 1.9:

Figura 1.9. Apps relacionadas con las aplicaciones interactivas de Matlab.

Los tres botones a la izquierda de la pestaña son más aplicaciones, que


dan espacio para instalar otras o para empaquetar dado el caso.

Pestañas contextuales
Las pestañas contextuales aparecen solo cuando se realizan tareas
específicas. Por ejemplo, si se usa el Editor de Matlab, éste va a desplegar tres
nuevas pestañas, Editor, Publish y View.

Normalmente el Editor no está acoplado al escritorio, y de estarlo las


pestañas citadas aparecen cerca de las pestañas globales, tal como se observa en
la figura 1.10:

Figura 1.10

La pestaña contextual Editor está compuesta por una serie de funciones


que permiten la edición de un archivo, en la que también se dispone de una sección
Debug para el depurado del código tal como se muestra en la figura 1.11:

Figura 1.11. Pestaña del editor que está relacionada con la creación y diseño de un script.

Si se coloca un "breakpoint" en el archivo y se hace "clic" en RUN, la


pestaña Editor toma el aspecto de la imagen siguiente:
Figura 1.12. Ubicación del botón Breakpoit.

La pestaña Publish es la que permite dar formato y almacenamiento a los


textos y/o archivos creados en Matlab, tal como se observa en la figura 1.13:

Figura 1.13

La pestaña View permite controlar la apariencia y layout de los archivos,


tal como se observa en la figura 1.14.

Figura 1.14.

Existen otras pestañas contextuales ubicadas en el Editor de Variables


(Variable Editor), que queda para el lector explorar.

Minimizar pestañas
Para aprovechar el espacio vertical de trabajo de Matlab se puede minimizar las
pestañas dando clic derecho en cualquier parte del Toolstrip y seleccionar
“Minimize Toolstrip” tal como indica la flecha en la imagen 1.15:

Figura 1.15.

Luego dar clic en este ícono, de esta manera las pestañas se minimizan luciendo
así:

Figura 1.16

Para restablecer las pestañas, se procede a ubicar el cursor en cualquier lugar del
Toolstrip, dar clic derecho, aparece la leyenda “Restore Toolstrip”, clic de nuevo
y queda completo el proceso.

1.7 Apps de Matlab

Las herramientas que forman parte de las Apps de Matlab poseen diversas
funcionalidades útiles en diversos campos científicos e ingeniería en general.

1.8 Comandos de ayuda general

Help

El comando help proporciona ayuda general sobre las herramientas que


dispone Matlab en cuanto a sus funciones disponibles.

Al digitar esta instrucción en el command Window, se despliega gran cantidad de


información relacionada con las funciones que dispone Matlab para diversas
aplicaciones, tal como se observa en la figura 1.17. Si se desea profundizar en
alguna función en particular, solo debe dar clic en alguna de ellas, y esta
automáticamente va a desplegar más información complementaria.
Figura 1.17. Al digitar la instrucción Help en la ventana de trabajo de Matlab, se despliegan las
funciones que dispone el usuario según sus necesidades.

Nota 2. La barra azul que aparece en la esquina superior derecha de la cinta


de herramientas, se usa para accesos rápidos al entorno de Matlab.

Para pedir ayuda sobre un comando específico o cualquier tema


relacionado con Matlab, se puede digitar las siguientes instrucciones help comando
o help tema. Observe los respectivos ejemplos en las figuras 1.18 y 1.19:

Figura 1.19. Como ejemplo, se digita la instrucción help filter, luego dar enter, en seguida se despliega
información sobre la función, en la que se define y se expone su sintaxis general, al igual que otros
comandos complementarios.
Figura 1.20. Al digitar un tema particular en la ventana de trabajo, Matlab brinda bastante
información acerca del mismo.

Existe otra opción de ayuda, que es dirigirse directamente a la pestaña


HOME y oprimir el botón Help, en la que se despliega varias opciones de búsqueda
según necesidades específicas. Si dado el caso desea saber sobre alguna función
en particular, puede digitarse en el espacio Search Documentation, en la parte
superior.

Doc

Es un comando similar a help, con la diferencia que el resultado de las


consultas se visualiza en una página web. Para tener acceso a la información
consignada en la página, debe registrarse. Digitar en el command Window:

>> doc

Demos

Es un comando de ayuda que permite obtener información adicional de las


funciones de Matlab, simulink y otras herramientas específicas del programa. Digitar
en el command Window:

>> demos

Comando secuencia

Este comando lookfor permite encontrar funciones o comandos que se


refieren a una secuencia en específico. Por ejemplo, al buscar ayuda para todos los
comandos que contienen la secuencia inv, se puede usar el comando lookfor inv.
>> lookfor inv

idlti - Linear Time-Invariant model with Identifiable Parameters.


ultidyn - Creates uncertain linear time-invariant block.
lti - Linear Time-Invariant Model objects.
invalidateaxis -Invalidate an axis to recompute limits and ticks
ifft - Inverse discrete Fourier transform.
ifft2 - Two-dimensional inverse discrete Fourier transform.
ifftn - N-dimensional inverse discrete Fourier transform.
ifftshift - Inverse FFT shift.
….

Editor

Tiene como objetivo crear y depurar los ficheros script, funciones y


programación en general. Para su apertura se presentan tres formas:

1. Seleccionar directamente en el botón New Script: En este caso, se abre el


editor estándar, cuya extensión una vez que se guarde es “.m”.

2. Seleccionar directamente en el botón New Live Script: Se abre el editor


especial, cuya extensión una vez que se guarde es “.mlx”. La diferencia de
este script respecto al primero, es que para su ejecución empleando la
instrucción RUN, no requiere que previamente se guarde el programa.
Además, su interfaz de presentación de los datos es más estilizado.

3. Dirigirse al botón New, el cual despliega una serie de opciones, tal como se
observa en la imagen 1. 21 (Script, Live Script, Function, Live Function,
Class, System Object, etc.).

Figura 1.21
Otra forma es teclear en la línea de comandos del espacio de trabajo de
Matlab, la palabra edit seguida del nombre que se le quiere asignar al programa.
Por ejemplo:

>> edit programa1

Figura 1.22

Como se aprecia en la figura 1.22, aparece un mensaje que indica que el


archivo no existe y pregunta si desea crearlo, a lo que se responde que sí. Luego,
aparece inmediatamente el entorno de programación.

Interfaz gráfica de Usuario

La interfaz gráfica de usuario o GUI (Graphical User Interfase) es un


programa que permite la interacción entre el usuario y la aplicación basado en
interacción visual por medio de iconos, menús o punteros. En el caso de Matlab la
GUI está compuesta por un conjunto de herramientas que permite el diseño y
edición de la interfaz de usuario. Dentro de los elementos más relevantes para crear
la GUI está los paneles, los botones de pulsación, menús desplegables, cuadros de
texto y barras de desplazamiento, entre otros.

Una vez creada la interfaz, se generan automáticamente dos ficheros; uno


con extensión “.fig” que contiene toda la información sobre la parte visual de la
interface, y el otro fichero con la extensión “.m” en la que aparece codificado la
respuesta a las acciones del usuario sobre los controles.

Para poder acceder de manera rápida al GUIDE, se digita en la ventana de


trabajo la palabra guide, o en su defecto se dirige a parte superior a la pestaña
New, y se selecciona la opción señalada en la figura 1.23, y se da clic en ella.
Figura 1.23. Ruta para abrir el recurso de Simulink.

Aparece en siguiente cuadro

Figura 1.26. Ventana para el acceso de la plantilla de la interfaz gráfica de usuario.

Se elige la opción por defecto, Blank GUI. Las otras opciones ofrecen una
plantilla en la que ya existen algunos controles (Uicontrols), o se encuentra
incorporado un gráfico y un menú activo.

Cuando se selecciona black GUI se despliega un conjunto de iconos que


permite crear la interfaz, más delante se profundizará sobre este tema.
Comandos especiales de Matlab

Matlab dispone de algunos comandos, que son de gran ayuda para consultar
aspectos puntuales sobre alguna instrucción en particular, o conocer acerca del
propio programa, sus funcionalidades, gestión de recursos, etc., tales como:

2.1 Ayuda

Se utiliza cuando no se entiende la sintaxis de un comando o función. Para ello, se


digita help y el nombre del comando o función en cuestión.

Por ejemplo: Proporciona ayuda sobre la instrucción sqrt (raíz cuadrada).


>> help sqrt

sqrt - Square root

This MATLAB function returns the square root of each element


of the array X.

B = sqrt(X)

See also nthroot, realsqrt, sqrtm

Reference page for sqrt


Other functions named sqrt

Digitar solo help, se despliegan todas las funciones que dispone Matlab en sus
librerías, tal como se ha explicado en la unidad 1.

2.2 Versión de Matlab

Es importante saber en ciertas ocasiones con qué versión de Matlab se está


trabajando, para ello digite la instrucción versión, pero en inglés.

>> version

2.3 Computador

Para conocer el tipo de equipo de cómputo y sistema operativo sobre el que está
instalado Matlab, se emplea la instrucción:

>> computer
Mostrar información de la memoria

Matlab puede mostrar información acerca de cuánta memoria está disponible y


cuánto está utilizando el software actualmente. La información mostrada en la
pantalla del computador incluye los siguientes elementos:

- Matriz máxima posible: Muestra el tamaño del bloque de memoria libre


contiguo más grande. Como tal, es un límite superior de la matriz más grande
que Matlab puede crear en este momento.

- Memoria disponible para todas las matrices: Matlab muestra la cantidad


total de memoria disponible para almacenar datos, que pueden ser gestionados
a través de dos acciones:

El espacio de direcciones virtual disponible para Matlab.

La memoria disponible total del sistema.

- Memoria utilizada por MATLAB: Muestra la cantidad total de memoria del


sistema reservada para los procesos de Matlab. Es la suma de la memoria
física y el uso potencial de archivos de intercambio.

- Memoria física (RAM): Muestra la cantidad disponible y total de memoria física


(RAM) en el equipo que ejecuta Matlab. La memoria física disponible es la
misma que tiene el Administrador de tareas de Windows: rendimiento/memoria
física y la memoria física total es la misma.

La sintaxis para estos elementos es la siguiente:

memory
userview = memory
[userview systemview] = memory

>> memory
Maximum possible array: 7893 MB (8.276e+09 bytes) *
Memory available for all arrays: 7893 MB (8.276e+09 bytes) *
Memory used by MATLAB: 1439 MB (1.508e+09 bytes)
Physical Memory (RAM): 8174 MB (8.571e+09 bytes)

* Limited by System Memory (physical + swap file) available.

La función de memoria sólo está disponible en los sistemas Microsoft Windows. Los
resultados dependen del hardware del computador y de la carga a la que está
expuesto el mismo.

>> userview = memory

userview =
MaxPossibleArrayBytes: 8.0443e+09
MemAvailableAllArrays: 8.0443e+09
MemUsedMATLAB: 1.5158e+09

Para la tercera sintaxis

>> [userview systemview] = memory

userview =

MaxPossibleArrayBytes: 8.0735e+09
MemAvailableAllArrays: 8.0735e+09
MemUsedMATLAB: 1.5169e+09

systemview =

VirtualAddressSpace: [1x1 struct]


SystemMemory: [1x1 struct]
PhysicalMemory: [1x1 struct]

El espacio de direcciones virtuales (VirtualAddressSpace), es la cantidad de


memoria virtual disponible y total para los procesos de Matlab, el cual devuelve la
información en dos campos: Disponible y Total.

La memoria del sistema (SystemMemory), es la cantidad de memoria disponible en


el sistema informático. Este número incluye la cantidad de memoria física disponible
y la cantidad de espacio de archivos de intercambio disponibles en el equipo que
ejecuta, el cual devuelve la información en el campo SystemMemory de la estructura
de devolución.

Licencia

Para conocer si Matlab es licenciado o no se emplea la instrucción license. Es


importante saber este detalle, porque de no ser licenciado, este programa posee
restricciones que imposibilitan la ejecución de ciertas librerías clave, sumado a las
vulneraciones de derecho de autor a la que se está sujeto.

>> license

2.6 Limpiar pantalla

Se emplea el comando clc, el cual borra o limpia toda la ventana de comandos,


pero no borra internamente el valor de las variables de la memoria.
2.7 Estructuras del lenguaje de MATLAB

Para ver la descripción completa de las estructuras del lenguaje de MATLAB que
son claves para la programación, digite:

>> help lang


Programming language constructs.

Control flow.
if - Conditionally execute statements.
else - Execute statement if previous IF condition failed.
elseif - Execute if previous IF failed and condition is true.
end - Terminate scope of control statements.
for - Repeat statements a specific number of times.
parfor - Parallel FOR-loop.
…..
…..

Para imprimir el directorio raíz de Matlab:

>> matlabroot
ans =

C:\Program Files\MATLAB\R2015a

2.8 Práctica 1

Crear un acceso directo para borrar la zona de trabajo del Command Window.

1. Se digita el command window clc.


2. Luego se va a command history, se busca clc, se da clic derecho y seleccionar
create Favorite, tal como se indica en la figura 1.21:

Figura 2.1
3. Se le da el nombre al acceso en el espacio label (etiqueta) tal como indica la
flecha en la figura 2.2, en este caso Limpiar ventana.

Figura 2.2

4. Para personalizar el icono se va a “Icon” en el botón señalado con la flecha


hacia abajo y se busca la imagen que se desee. Luego salvar.

5. Para verificar el proceso anterior, dirigirse a la pestaña HOME, luego, ubicar el


botón Favorites dando clic en él. Como se observa en la figura 2.3, aparece
un pequeño botón que al oprimirse podrá borrar lo consignado en el Comman
Window.

Figura 2.3

Con esta misma operación se puede personalizar cualquier comando para los
requerimientos y/o necesidades del usuario.

2.9 Borrar toda la pantalla

Se emplea el comando clear para borrar el contenido digitado (variables locales,


funciones o variables globales) tanto en el espacio de trabajo, como lo que hay
almacenado en el workspace.

El uso de clear debe ser generalizado en las operaciones que se realicen, esto se
debe, porque a medida que se inician variables sin declararlas, hace que se esté
acumulando memoria en uso, lo que da como resultado una pérdida de rendimiento
de la misma (memory leak). Matlab no libera memoria una vez terminada una
ejecución de una función que emplee variables internas por lo que es recomendable
evitar la pérdida de memoria, simplemente liberando la utilizada.
Cabe recordar que Matlab emplea bastantes recursos computacionales y es una
buena práctica mantener óptimo el programa para evitar problemas en los procesos
por falta de memoria, que deriva que el sistema se torne lento o se bloquee.

>> clear var_1

Observe el workspace, y notará que la variable ha sido borrada.

Nota 1. Si no se añade ninguna razón de variable al comando clear, éste


borrará todas las variables en el workspace.

>> clear
>> whos
>> who

Como se aprecia, no aparece ningún registro.

Con el comando clear all limpia todo, incluyendo lo que hay en el workspace.

Para hacer limpieza de elementos específicos de Matlab existen otras opciones


como:

clear variables: Equivale al comando clear.

clear global: Elimina las variables globales.

clear functions: Elimina todas las funciones compiladas.

Aunque no es obligatorio, lo habitual es colocar al inicio de un script un conjunto de


instrucciones “de limpieza” del tipo hold off, axis, subplot, clear all, close all,
close all hidden, clc,…

2.10 Calendar

Permite que Matlab muestre el calendario asociado a la fecha actual en la que se


está abriendo el programa, para ello solo digite calendar

>> calendar
Feb 2019
S M Tu W Th F S
0 0 0 0 0 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 0 0
0 0 0 0 0 0 0
También se puede especificar otro mes y año como argumento. La sintaxis general
es:

c = calendar
c = calendar(d)
c = calendar(y, m)

>> calendar(1995,8)
Aug 1995
S M Tu W Th F S
0 0 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 0 0
0 0 0 0 0 0 0

2.11 weekday

Esta instrucción devuelve el día de la semana para un dato serial numérico. La


sintaxis general es la siguiente:

- DayNumber = weekday(D). Devuelve un número que representa el día de la


semana para cada elemento en D.

- [DayNumber,DayName] = weekday(D). Devuelve abreviado los nombres en


inglés para el día de la semana, en DayName.

- [DayNumber,DayName] = weekday(D,DayForm). Devuelve el nombre del día


de la semana en el formato especificado por DayForm, en inglés de los EE.UU.

- [DayNumber,DayName] = weekday(D,language). Devuelve el nombre


abreviado del día de la semana en el idioma especificado local.

- [DayNumber,DayName] = weekday(D,DayForm,language). Devuelve el


nombre del día de la semana en el formato especificado y en el idioma de la
localidad especificada.

Ejemplos

1. Si D=7, el número del día es:

>> Ndia=weekday(7)
Ndia =
6

2. Que día es el 24 de diciembre del 2025


>>D = '24-Dec-2025';
>>[DayNumber,DayName] = weekday(D)

DayNumber =
4
DayName =
Wed

3. Devolver el nombre completo del día de la semana para un vector de


números de fecha en serie.

>>D = [750498;735236];
>>DayForm = 'long';
>>[DayNumber,DayName] = weekday(D,DayForm)

DayNumber =
6
4

DayName =
Friday
Wednesday

4. Qué día es el 3 de Agosto del 2020.

>>D = '03-ago-2020';
>>spanish='local'
>>[DayNumber,DayName] = weekday(D,spanish)

spanish =
local

DayNumber =
2

DayName =
Lun.

5. Regrese los nombres de los días en español usando el argumento de entrada


de idioma.

>>D = 828647;
>>DayForm = 'long';
>>language = 'local';
>>[DayNumber, DayName] = weekday(D,DayForm,language)

DayNumber =
7

DayName =
Sábado

2.12 Date

Se emplea el comando date (fecha) que muestra la fecha actual.

>> date
ans =

'09-Feb-2019'

Nota 2. La palabra ans que aparece después de ejecutar una operación, es


la abreviatura de respuesta (answer) o valor calculado de una expresión.

2.13 Now

Devuelve un número (serial date number) que contiene toda la información de la


fecha y hora actual.

Se utiliza como argumento de otras funciones.

>> now
ans =
7.3747e+05

El comando floor (now) devuelve la fecha actual como un número de fecha en serie,
y el comando rem(now,1) devuelve la hora actual como un número de fecha en
serie.

El comando datestr(now) devuelve la fecha y la hora actuales como una cadena.

>> floor (now)


ans =
737465

>> rem(now,1)

ans =

0.8534

>> datestr(now)

ans =

'09-Feb-2019 20:29:02'
2.14 Ver

Este comando muestra la versión y año de Matlab, al igual que las versiones de sus
librerías.

>> ver

Si quiere saber sobre una librería en particular, se digita, por ejemplo:

>> ver antenna


----------------------------------------------------------------------
MATLAB Version: 9.4.0.813654 (R2018a)
MATLAB License Number: 968398
Operating System: Microsoft Windows 10 Pro Version 10.0 (Build 17134)
Java Version: Java 1.8.0_144-b01 with Oracle Corporation Java HotSpot(TM)
64-Bit Server VM mixed mode
-------------------------------------------------------------------------
Antenna Toolbox Version 3.1 (R2018a)

2.15 Ruta de la carpeta de Matlab

Para conocer la ruta donde se encuentra la carpeta de Matlab se emplea la


instrucción pw. Recuerde que en esta carpeta residen todos los archivos creados
y/o agregados por el usuario que son guardados por defecto en ésta.

pwd
ans =
C:\Users\USER\Documents\MATLAB

2.16 Dir

Lista el directorio actual de la carpeta de Matlab, que se crea en el momento de


instalar el programa.

>> dir

Una variante a dir es la instrucción ls, así:

>> ls

Signo de Admiración y dir

El comando ¡dir se emplea para ejecutar un comando en la consola Ms-DOS del


sistema operativo de Windows para acceder a su sistema de directorio.

>> !dir

2.17 Crear o eliminar una carpeta


Para crear una carpeta en de Matlab, existen dos formas: la primera es ir
directamente a la carpeta de Matlab, dar clic derecho Nuevo-- Carpeta
Asignar Nombre.

La otra forma es directamente desde el command window, empleando la instrucción


mkdir (‘Nombre del archivo’).

>> mkdir('prueba')

Para eliminar una carpeta se digita rmdir (‘Nombre del archivo’).

>> rmdir('prueba')

2.18 What

El comando what al digitarse, muestra una lista de archivos con la extensión .m,
.MAT y .MEX, que se encuentran presentes en el Current Directory.

Cabe aclarar que el archivo .m, es todo aquel que se genera cuando se crea un
script en el editor de Matlab. Por ejemplo. Nombre_archivo.m

Esto significa que la extensión .m, es la que identifica por defecto cualquier archivo
de Matlab.

El archivo MAT, contiene datos de tipo binario, por lo que su forma de registro es
bajo la extensión .mat. Por ejemplo, Nombre_archivo.mat

El archivo MEX, representa un ejecutable compilado a partir del lenguaje de


programación Fortran o C, su extensión es .mex. Por ejemplo, Nombre_archivo.mex

M-files in the current directory C:\Users\Jairo\Documents\MATLAB

2.19 Who

Se emplea el comando who, que muestra la lista de variables que se están


utilizando en el espacio de trabajo actual, es decir, las variables que están en
memoria:

>> who
Your variables are:
ans

En este caso en particular al no haber ningún tipo de variable no se mostrará nada.


Existe una variante del comando anterior denominado whos, que muestra
información adicional acerca de la o las variables ingresadas al espacio de trabajo,
tales como el tamaño de memoria. Por ejemplo,
>> whos

Name Size Bytes Class Attributes


ans 1x19 38 char

Para este caso se muestra una variable de nombre ans, de tamaño matricial 1x19,
que está compuesto por 38 bytes y su clase es de tipo char.

Pruebe los comandos who global y whos global. Es importante comprender el


concepto de variable local y global para comunicar funciones y/o scripts de una
manera eficiente.

2.20 Reloj

El comando clock muestra la hora, incluyendo fecha y año.

>> clock
ans =

2019 8 3 14 28 33.06

Estos datos se interpretan como año, mes, día, hora, minutos y segundos. La
presentación de esta información puede cambiar según como se tenga configurado
el formato de presentación de los números reales.

Para que devuelva una cadena de caracteres con el día, mes, año, hora, minutos y
segundos se emplea la instrucción datestr(now).

>> datestr(now)
ans =
'09-Feb-2019 20:35:11'

Si queremos que devuelva el número del día de la semana. El primer día es el


domingo, el segundo el lunes, etc., se emplea la instrucción weekday(now).

>> weekday(now)
ans =
8

Etime

Esta instrucción muestra el tiempo transcurrido entre los vectores de fecha, la


sintaxis es:

E = etime (t2, t1). Devuelve el número de segundos entre dos vectores de fecha o
matrices de vectores de fecha, t1 y t2.
Calcule el tiempo transcurrido entre una hora específica y la hora actual, hasta una
precisión de 0,01 segundos.

Defina la fecha y hora inicial, y convierta a la forma de vector fecha.

format shortg
tr = 'March 28, 2016 11:55:00';
t1 = datevec(tr,'mmmm dd, yyyy HH:MM:SS')

t1 =
2016 3 28 11 55 0

Determinar la fecha y hora actual.

t2 = clock
t2 =
2017 2 1 22 43 43.328

La función de reloj devuelve la fecha y la hora actual como un vector fecha.

Empleando etime para calcular el número de segundos entre t1 y t2 es:

e = etime(t2,t1)
e =
9.0579e+07

2.21 Camino o ruta

El comando path cumple la función de imprimir en el espacio de trabajo, la ruta de


búsqueda de funciones específicas de MATLAB.

>> path

Se puede emplear el comando p=path, que devuelve una cadena de nombre p


que contiene la ruta de la carpeta.

2.22 Salir

Al digitar el comando quit en el command window automáticamente se sale del


programa de Matlab. Antes de usar este comando verifique haber guardado toda
la información del trabajo realizado. Otros comandos complementarios a quit son:

quit cancel
quit forcé

2.23 Exit
Este comando cierra Matlab. Antes de usarlo verifique haber guardado sus trabajos.

>> exit

2.24 Escape

Este comando se simboliza con el signo de admiración “!” que sirve para salir de
manera temporal de Matlab y consultar el directorio fuera del programa. Cabe
anotar que el sistema antivirus (en Microsoft) puede activarse al usar este
comando, así que antes de usarlo cerciórese de haber guardado el trabajo.

2.25 Comentarios

Para realizar comentarios en la consola de Matlab, se usa el símbolo % (tanto por


ciento) al comienzo de la línea, así:

>> % Esto es un comentario

Al emplearse correctamente este símbolo, debe aparecer en color verde, e implica


que todo lo que esté por delante de él será ignorado por el intérprete.

2.26 Símbolos especiales que usa Matlab

Coma. Se emplea para separar elementos de un vector, de constantes o variables.

>> a=4, b=-8, c =9


a =
4
b =
-8
c =
9

Punto y coma. Se interpreta como símbolo de retorno de carro. Se emplea para


concatenación de una sentencia en la misma línea y para suprimir la salida por
pantalla de algún resultado. Por ejemplo.

Sin punto y coma

>> 5
ans
5

Con punto y coma

>>5;
>>
Para que la información aparezca o no en el command window, solo se precisa
suprimir o colocar respectivamente en la parte final de la instrucción punto y coma
(;):

>> magic(4)
ans =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1

>> magic(4);

Como se observa en el segundo caso, no se muestra por pantalla la operación como


tal, suprimiendo la salida, quedando en espera de una instrucción o instrucciones
adicionales.

Es recomendable usar el punto y coma, cuando se requiere de otras operaciones


adicionales, y solo se desea ver el resultado final, aunque si no se está seguro de
lo que se hace, es bueno probar sin el punto y coma, y verificar las operaciones,
luego, colocar de nuevo y continuar con el proceso, por ejemplo:

>> x=5;
>> y=9;
>> z=x+y
z =
14
Comillas simples

Se emplean para introducir texto literal, por lo cual todo lo que se encuentre entre
estas comillas se toma como texto y no como una variable. Cabe agregar que para
saber que se está usando bien estas comillas, estas deben tomar color violeta, al
igual que el texto, sumado a que debe aparecer la figura con el nombre del título
dado, tal como se muestra a continuación. Por ejemplo.

>> title('Esto es una prueba')

Figura 2.4
Tres puntos (...): Se emplean al final de una línea de código extenso, lo que se
interpreta que toma la siguiente línea como continuación. Por ejemplo.

>> Empleado1={'Juan Carlos Zapata';'Bogotá';


... {'DNI',801289216,81005897,801254787};
... 'C Buenaventura 45 8,5';

Corchetes [ ]. Se emplean para definir vectores y matrices.

v = [0 1 2 3 4 5];

v = [0 1 2; 3 4 5];

Paréntesis ( ). Se emplean para definir la precedencia de expresiones algebraicas


y para subíndices en general.

x=-pi:0.1:2*pi;
f=16*sin(x).^3;
g=13*cos(x)-6*cos(2*x)-2*cos(3*x)-cos(4*x);
plot(x,f,x,g)

Nota 3. Cuando se comete un error, este aparecerá en Matlab resaltado en


color Rojo. También puede aparecer cuando una instrucción se ha digitado
mal en cuanto a su gramática, o cuando no cumple ciertos requisitos o
condiciones matemáticas o dado el caso operativas.

Nota 4. En caso de aparecer información o líneas en color naranja, se


interpreta como una alerta o warning. Esto significa que puede haber un
potencial conflicto entre comandos o instrucciones, o que existe una
instrucción mejor de la que se está empleando, lo cual no implica que la
operación no pueda realizarse o esté mal.

2.27 Atajos en la ventana de trabajo

Editar información directamente en la ventana de trabajo es una de las facilidades


de Matlab. Para ello se dispone de una serie de atajos de teclado bastante útiles.
Lista de teclas y flechas combinadas que pueden ser usadas en la ventana de
trabajo son:

Tecla Tecla de Operación


control
Recupera lo que se digito con
anterioridad en la ventana de trabajo, por
Fecha arriba
lo que permite recuperar comandos.
Recupera lo que se digito con
anterioridad en la ventana de trabajo, por
Fecha abajo
lo que permite recuperar comandos.
Fecha Desplaza el cursor un carácter a la
izquierda izquierda.

Fecha Desplaza el cursor un carácter a la


derecha derecha.
Ctrl-Enter Ejecutar sección
Ctrl + Shift Ejecutar sección y avanzar
+ Enter
F5 Ejecutar todas las secciones.
Ecuación Ctrl + Alt + G Permite llamar ecuaciones bajo el
LaTeX formato LaTex

Figura 2.5. Distribución de las teclas de flechas en un teclado estándar de computador.

Con el teclado realice las pruebas respectivas según la tabla mostrada. El conocer
y practicar estos comandos va a ser de gran ayuda a la hora de adquirir habilidades
en el manejo y gestión de comandos e instrucciones en el espacio de trabajo.

2.28 La Tecla Tab

Matlab por medio de la tecla TAB, permite mostrar un menú contextual de la


sentencia que se quiere digitar. Para ello, se precisa que se digite una o más letras
que permita al identificador de Matlab bridar las opciones del comando o instrucción
que se busca, desplegando de esta manera una ventana, tal como se muestra en
la figura 2.6:

Figura 2.6

2.29 Explorador de Windows

Desde Matlab se puede abrir el explorador de Windows mediante la instrucción:

>> !explorer

Esta instrucción es muy útil cuando se desea consultar información que está
directamente en el equipo de cómputo sin necesidad de cerrar Matlab o salir del
programa.

2.30 Lista de directorios

Esta lista contiene las funciones internas provistas por Matlab. Para ello se digita
las siguientes instrucciones:

X = [matlabroot '\toolbox\matlab'];
dir(X)

2.31 Funciones para análisis de datos

Para listar las funciones provistas por Matlab para el análisis de datos se emplea la
instrucción help datafun.

>> help datafun

2.32 Scripts

Se ha venido hablando de los scripts, pero aún no se ha creado alguno. Los Scripts
son un conjunto de comandos y/o instrucciones de MATLAB, que se almacenan en
archivos de texto plano. Para ello se procede a ir a la pestaña HOME y en el ícono
New Script o New Live Script (buscar el sub-ícono Script, tal como se indica en la
figura 2.7) se da clic, tal como lo indica las flechas, desplegándose el editor:
Figura 2.7. Opción para desplegar el editor de texto o script estándar o vivo (Live Script). Como se
observa existen varias opciones para ello.

Una vez se despliega el editor, éste aparece en la zona de trabajo tal como se
muestra en la figura 2.8, en la que normalmente divide el command window en dos
partes, aunque también puede ocurrir que se abra el editor en una nueva ventana.
Recuerde que se puede personalizar la disposición de cada ventana de la interfaz
gráfica.

Figura 2.8. La zona de trabajo de la script conocida como editor, permite al programador realizar sus
programas y guardarlos, luego llamarlos, bien desde el command Windows digitando el nombre del
archivo, o abriéndolos directamente desde el current folder dando clic sobre el archivo.
Una vez abierto el editor, se puede digitar operaciones, programas y funciones en
general, con la particularidad que se podrá guardar con cualquier nombre, en la que
se agrega automáticamente al final la extensión .m (por ejemplo “miscript.m”), por
lo que muchas veces estos archivos se le conocen como archivos-m.

Cabe agregar que el archivo se guarda en la carpeta de MATLAB, que podrá


verificarse al observar directamente el Current Folder. En caso contrario, lo
recomendable es guardar los scripts creados en la mencionada carpeta, esto por
cuestión de orden y direccionamiento de archivos y ejecución.

Para ejecutar el script, se puede dar doble clic directamente desde el Current Folder,
o digitando el nombre del archivo en el Command Window.

>> nombre_archivo

Para ejecutar el script se presentan varias opciones, tal como se observa en la


figura:

Figura 2.9

El icono Run, solo se ejecuta siempre y cuando se haya creado y guardado


previamente el script, Run and Advance, permite ejecutar un programa por
secciones o bloques en forma secuencial hasta terminar (no requiere que el script
haya sido guardado). Run Section, por el contrario, solo ejecuta un bloque o
sección del script.

El ícono de Run and time, se emplea cuando se desea saber cuál es tiempo de
ejecución de cada instrucción.

2.33 Práctica 2

Dada la información, digitar y ejecutar desde un script, teniendo en cuenta el uso de


las instrucciones citadas anteriormente. Analice tanto las operaciones como las
instrucciones y cree comentarios dentro del mismo script:

1. Calcular la velocidad en m/s, de un cuerpo que recorre 250 m en un tiempo de:

a. 12.4 segundos
b. 2.32 minutos
c. 0.28 horas

2. Si la fuerza aplicada sobre un cuerpo es de 30 N, determine la aceleración


cuando:

a. La masa es de 520 Kg.


b. 1250 g

3. El volumen de una caja está dado por la función:

𝑉 (𝑥 ) = 𝑥(31 − 2𝑥)(42 − 2𝑥)

Determinar V(1), V(2) y V(2.5)

4. Dadas las variables A, B, C y D, desarrollar las operaciones indicadas.

A=26; B=55; C=-34; D=21;

%% Operación 1

𝐶
𝐸 = 𝐴𝐵 − (5 + 𝐴)
𝐷

%% Operación 2

2𝐴 − 𝐷
𝐹= + 3𝐵
5𝐶

%% Operación 3

𝐴−15
𝐺 = 𝐷𝐶 + 18𝐹
6−𝐵

%% Operación 4

𝐷+5𝐶
𝐻 = 5𝐴 − 3𝐺 +
2𝐵+𝐹

%% Operación 5

1
8𝐺
𝐼 = 𝐸 2 + 𝐹 −2 +
𝐻

%% Operación 6

(𝐸 3 − 𝐼 ) 2 + 5
𝐽=
𝐴𝐺 − 𝐻(8𝐹 3 − 50)
5. Dados los valores u = -2, v=1/2, w=3, x=-4, y=9 y z=1/6. Resolver las ecuaciones
dadas aproximando a dos cifras decimales:

a. 4𝑢𝑣 + 𝑔𝑤 −2𝑥 − 8𝑤𝑧

2𝑥𝑦𝑧 2
b.
3𝑢2 𝑣𝑤

2𝑥−3𝑦
c.
𝑢𝑤+𝑥𝑦

d. 3(𝑢 − 2𝑥 )0.5𝑣 + 3𝑦𝑧

e. √𝑢2 − 2𝑢𝑣 + 𝑤

f. 3𝑥(4𝑦 + 3𝑧) − 2𝑦(6𝑥 − 5𝑧) − 25

(𝑤−2)2 (𝑦−5)2
g. √ +
2𝑣 3𝑧

4𝑥−3𝑦 𝑣
h.
√(𝑦−4)2 +2(𝑢+5)2

2𝑢−𝑣
i. (2𝑢2𝑢 𝑣(3𝑤 + 5𝑥))
7√𝑢2 +𝑣 2

j. 3𝑢2𝑥 − 2𝑣𝑤 5𝑧 + 5𝑦𝑥

6. El rendimiento de combustible R (en millas) de un vehículo está determinado por


la ecuación:
1 5
𝑅 = − 𝑣2 + 𝑣
30 2

Donde v es la velocidad medida en mi/h. Determine R para velocidades de 45,


60 y 70 mi/h.

7. Conductividad térmica. Se define como la capacidad de una sustancia o cuerpo


de transferir la energía cinética de sus moléculas a otras adyacentes. La fórmula
general es:
𝑇1 − 𝑇2
𝑄̇ = 𝑘𝐴
𝐿

Donde 𝑄̇ es la conductividad térmica medida en W/K·m= J/(m·s·K); k, es la


constante de conductividad térmica (W/m oC); A, superficie del sistema (m2); T2
y T1, son las temperaturas de las superficies interior y exterior respectivamente
(en oC) y L, el espesor de la superficie (m).

El techo de un inmueble en la noche es calentado eléctricamente, cuyas


dimensiones son de 7 m de largo, por 9 m de ancho, con un espesor de 0.26 m,
en la que se presenta una variación de temperaturas de las superficies interior y
exterior de 17 oC y 5 oC respectivamente durante 10 horas.

Determinar:

a. Conductividad térmica, cuando k=0.8142 W/m oC.


b. Cantidad de pérdida de calor del techo (en Wh). La ecuación a emplear es la
siguiente: 𝑄 = 𝑄̇ ∆𝑡

c. Costo por pérdida de calor para el propietario del inmueble, donde el valor
estimado de electricidad es de 0.085 dólar/kWh. La fórmula a emplear es:

Costo = Cantidad de pérdida de calor *Costo unitario de la energía

8. La disminución diaria de producción de un producto vegetal Dd está expresada


por la siguiente ecuación:

𝑆 3 + 𝑊 3 − (𝑆 + 𝑊 ) 2
𝐷𝑑 =
(𝑆 + 𝑊 ) 3

Donde S indica el índice solar y W la cantidad de agua que recibe el cultivo.

Si S = 9 y W = 5, cuál es el índice de disminución diaria de producción.

9. Cuál es el valor de Z, si x = 10 y y =-5

20𝑥 2 𝑦 3 − 12𝑥 3 𝑦 2 − 11𝑥𝑦 − 5


𝑍=
−5𝑥𝑦 4 + 4

10. Sea el polinomio 𝑃(𝑥 ) = 9𝑥 6 + 5𝑥 5 − 7𝑥 4 + 2𝑥 3 − 3𝑥 2 + 𝑥 − 10

Hallar P(2) y P(-2)

11. Si t = 5, determine el valor total de la ecuación.

2𝑡 3 + 4𝑡 2 − 5𝑡 9𝑡 2 − 5𝑡
+ 3
3𝑡 2 − 5𝑡 − 4 2𝑡 + 𝑡 − 7

12. Si x = 7, y = 10, a = -4 y b= 3, halle el valor de W.


(2𝑥 2 + 15𝑥𝑦 + 𝑦 2 )(3𝑎 + 7𝑏)
𝑊=
(𝑥 + 𝑦)(2𝑥𝑦 + 3𝑏𝑥 + 𝑦 2 + 𝑏𝑦)

13. Los momentos de inercia de una circunferencia maciza y de una corona circular
son respectivamente:
4 −𝑅4 )
𝜋𝑅 4 𝜋(𝑅𝑒𝑥𝑡 𝑖𝑛𝑡
𝐼𝑜 = ; 𝐼𝑜 =
2 2

Determine los momentos para un radio externo de 10 cm y un radio interno ¼


del externo.

14. El volumen de un recipiente está definido por la ecuación:

25
𝑉(𝑟) = 𝜋𝑟 2 ( − 1)
(𝑟 + 0.6)2
Hallar V(1.5), V(2) y V(2.5)

15. La transferencia de energía Q (en Joules) a un sistema, equivale al aumento de


energía del mismo, así:
𝑄 = ∆𝑈 = 𝑚𝑐(𝑇2 − 𝑇1 )

Donde m es la masa en Kg; c, es el calor específico (J/kg oC); T2 y T1, son las
temperaturas final e inicial respectivamente (en oC).

Se debe tener en cuenta las siguientes condiciones:

Si T1 > T2 el cuerpo cede calor, lo que implica que Q < 0


Si T1 < T2 el cuerpo recibe calor, lo que implica que Q > 0

Si una esfera de cobre de diámetro 9 cm se calienta de 110 oC hasta 155 oC,


determinar:

a. Transferencia total de calor si la densidad de la esfera es 8950 kg/m3 y el


calor específico 0.3951 k J/kg oC.

b. Razón promedio de transferencia del calor (en J/s=Watts) cuando ha


transcurrido 40 minutos. La fórmula a emplear es:

𝑄̇𝑝𝑟𝑜𝑚= 𝑄
∆𝑡

c. Flujo de calor. Este se define como la transferencia de calor por unidad de


tiempo por unidad de área (en W/m2), es decir, la razón de transferencia del
calor por unidad de área. Para este caso en particular el área es de la esfera
(πD2). La ecuación general es:
𝑄̇𝑝𝑟𝑜𝑚
𝑞̇ 𝑝𝑟𝑜𝑚=
𝐴

d. Si la transferencia de energía de una lámina de plomo (c = 480 J/kg.K) de 20


x 20 cm es de -2500 J. Determine la temperatura final, si la lámina se
encuentra a 200 oC. Cuál es el flujo de calor al cabo de 30 minutos.

16. La carga crítica de Euler depende de la longitud de la pieza, del material, de su


sección transversal y de las condiciones de unión, vinculación o sujeción en los
extremos. Para el caso de una pieza de sujeción, donde los extremos son
diferentes, la carga crítica de Euler viene dada por la ecuación:

𝜋 2 𝐸𝐼𝑚𝑖𝑛
𝐹𝑐𝑟𝑖𝑡 =
(𝛼𝐿)2

Donde Fcrit es la fuerza crítica; E es el módulo de Young del material; I min, es el


momento de inercia mínimo de la sección transversal de una barra; L, longitud
de la barra; 𝛼, constante que depende de las siguientes condiciones:

𝛼 = 0.5 empotrado-empotrado
𝛼 ≈ 0.7 articulado-empotrado
𝛼=2 libre-empotrado
Calcular Fcrit para los tres casos de 𝛼 de una barra de titanio de longitud 0.5 m,
cuyo módulo de Young es de 11.6x1010 N/m2 y un momento de inercia de 0.025
Kg m2.

17. Ecuación de estado Redlich–Kwong. Es una la ecuación más precisa que la de


Van der Waals y de los gases ideales a temperaturas superiores a la crítica. Esta
ecuación relaciona la temperatura, presión y volumen de los gases, así:

𝑅𝑇 𝑎
𝑃= −
𝑉 − 𝑏 𝑉(𝑉 + 𝑏)√𝑇

Donde R es la constante universal de los gases (0.518 kJ/(kgK)), T, Temperatura


absoluta (Kelvin=K), P, Presión absoluta (kPa) y V es el volumen de un kilogramo
de gas (m3/kg). Los parámetros a y b equivalen a:

𝑅2 𝑇𝑐2.5 𝑅𝑇𝑐
𝑎 = 0.427 𝑏 = 0.0866
𝑃𝑐 𝑃𝑐

Donde Pc = 4600 kPa y Tc = 191 K. Determinar la presión de un gas que está


confinado en un volumen de 2.5 m3 a temperaturas de 50, 45, 40 oC.

18. En el siguiente cuadro aparecen las fórmulas de los momentos de inercia de


algunos cuerpos de composición homogénea respecto a los ejes señalados.
Calcular los momentos de inercia cuando M=5.45 kg, R=15 cm, L= 0.2 m, R1 =
5 cm, R2=5.8, a= 18.5 cm y b=9.2 cm.

19. En un proceso isotérmico suponiendo que el aire se comporta como un gas ideal
la presión atmosférica se calcula como:

𝑚𝑔 𝑉1
𝑃𝑎 =
𝐴 𝑉1 − 𝑉2

Donde m es la masa del cuerpo; g, la aceleración de la gravedad; A, es el área


de un émbolo; V1 y V2, son los volúmenes ocupados por el mercurio en un
sistema de émbolos.

Se coloca una pesa de 1.45 kg sobre un manómetro abierto, en la que se deja


que el émbolo ascienda hasta una altura que corresponde a un volumen de 75.2
cm3. Al retirar la pesa, el émbolo regresa a la altura de equilibrio, que
corresponde a un volumen de 65.2 cm3.

a. Determine la presión atmosférica suponiendo que el émbolo es circular con


un diámetro de 2 cm.

b. Si la presión atmosférica es de 100730 Pa al colocar un cuerpo de 1 kg. Cuál


es el valor del volumen V1, cuya área del émbolo es de 0.3019 m2, donde el
volumen de equilibrio es de 67.5 cm3.

2.34 Mensajes de error

Matlab tiene la propiedad de indicar al usuario y/o programador, los posibles errores
que se están cometiendo a la hora de ejecutar una operación. Esto es importante,
cuando se desarrolla algún ejercicio en el command Window directamente o en un
script.

Los errores siempre van aparecer resaltados, bien sea con una línea en rojo debajo
de la variable u operación o como una línea roja en la parte derecha del script.
Cuando se ejecuta la operación con esta línea roja activa, aparecerá una leyenda,
en la que se indica cuál es el tipo de error de sintaxis, incluso en ciertos casos puede
sugerir al usuario que instrucción es la más apropiada.

Cabe mencionar, que se puede ubicar el cursor donde está la línea en rojo y
aparecerá una leyenda indicando el error, tal como se observa en la figura. Si dado
el caso, se desea profundizar más en el tema, se oprime el botón Details que se
encuentra a la derecha del mensaje, tal como se muestra en la figura,
desplegándose una pequeña ventana, explicando un poco más acerca del error y
las acciones a seguir.

Puede aparecer una línea o leyenda en color naranja, que indica una alerta (o
warning). Esta puede indicar que hay una operación que puede mejorarse en cuanto
a su estructura de presentación, pero no implica que exista un error real. Aunque no
debe subestimarse esta alerta, porque si se maneja un programa muy estructurado,
o la instrucción mostrada depende de otras, puede que, al ejecutarse el programa
u operación, exija más recursos computacionales de los esperados o genere a
posteriori un error.

También podría gustarte