Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MATLAB - GUIDE
Para estudiantes de Ingeniera Qumica
Melanio A. Coronado H. I.Q.
2013
Melanio A. Coronado H.
Melanio A. Coronado H.
CONTENIDO
Prlogo
19
31
43
65
77
99
119
145
163
177
197
211
Melanio A. Coronado H.
Melanio A. Coronado H.
PRLOGO
Este leccionario se propone impulsar, entre los estudiantes de la Universidad del Atlntico,
el uso de Matlab en virtud de su utilidad como cdigo de programacin matemtico para el
desarrollo de procedimientos de clculo requeridos en todos los mbitos del conocimiento
del programa de Ingeniera Qumica.
El presente documento ensea en 13 lecciones, el uso y programacin de cada uno de los
objetos, botones o controles disponibles en la plataforma. En cada leccin se plantea un
caso muy propio de algn clculo dentro de la Ingeniera Qumica, especialmente, solucin
de ecuaciones algebraicas y diferenciales, graficacin de funciones, haciendo especial
nfasis en el manejo de la solucin de ecuaciones diferenciales para el anlisis de la
dinmica de un sistema
El objeto de estudio se proyecta para elaborar, en varios documentos, un cubrimiento
completo de las potencialidades disponibles en la plataforma que permita al estudiante
adquirir una formacin avanzada en programacin matemtica con Matlab. Este es
considerado como un primer avance, que al trmino de su estudio pretende lograr que el
estudiante elabore interfaces sencillas que incluyan botones de las diferentes funciones
disponibles y que ejecuten procedimientos de clculos importantes en muchas de las
asignaturas del plan de estudios del programa de Ingeniera Qumica.
Melanio A. Coronado H.
Autor
Melanio A. Coronado H.
Melanio A. Coronado H.
Melanio A. Coronado H.
La Figura 1.2 muestra las partes del editor de interfaces: barra de ttulo, barra de mens,
barra de herramientas paleta de objetos (a la izquierda) y el rea de distribucin de estos
(rea cuadriculada). En la barra de mens se observan los correspondientes a File, Edit,
View, Layout, Tools y Help. En la barra de herramientas se notan iconos ya conocidos como
New (abrir un nuevo caso), Open (abrir un caso guardado), Save (guardar un archivo
elaborado), Cut (Cortar), Copy (Copiar), Paste (Pegar), etc. Se incluyen algunas opciones
complementarias para la construccin del GUI como la herramienta para la alineacin de
los componentes (Alignment Tool), el editor de mens (Menu Editor), el editor de
archivos punto m (M-File Editor), el mostrario de objetos (Object Browser), el
inspector de propiedades de objetos (Property Inspector) y el botn para la ejecucin de
la interfaz (Run Button). Estos ltimos se acceden desde la barra estndar o desde los
mens View y Tools.
Melanio A. Coronado H.
Push Button:
Edit Text:
Static Text
Radio Button:
Checkbox:
Listbox:
Popup Menu:
Toggle Button:
Button Group:
Slider:
Panel:
Table:
Axes:
ActiveX Control:
botn de presin
botn de edicin de texto
botn de edicin de texto esttico
botn de una opcin (radio botn)
botn cuadro de verificacin
botn cuadro de lista desplegable men desplegable
botn de men desplegable tabla bidimensional
botn de conmutacin
botn grupo de radio botones agrupacin de objetos
botn barra deslizable
botn panel de grupo de botones
botn tabla cuadrcula para edicin de datos
botn ejes rectangulares de representacin grfica
botn de controles ActiveX
9
Melanio A. Coronado H.
3. Sobre la ventana desplegada del GUIDE aada tres botones de presin, un botn
esttico, un men desplegable y un cuadro de ejes como se observa en la Figura 1.4.
Melanio A. Coronado H.
3. Para realizar los siguientes ajustes, se hacen las selecciones mostradas en la Figura
1.6 correspondiente a la ventana del asistente Align Objects.
a. Espaciado de 20 pixels entre los botones en direccin vertical
b. Alineacin a la izquierda en la direccin horizontal
Melanio A. Coronado H.
El archivo con extensin .fig (FIG-File) es el que contiene una descripcin completa
de la distribucin de las figuras en el GUI y de sus componentes: botones, mens,
ejes, etc. Cuando se realizan cambios en el GUI en el editor, los cambios se guardan
en el archivo FIG-File
La Figura 1.7 muestra la interfaz grfica de usuario elaborada anteriormente. Para hacerla
desplegar se tiene que guardar la construccin elaborada a travs del GUIDE y que ste
haya almacenado el archivo de extensin fig y el archivo de extensin m. Para el despliegue
del GUI se abre y se hace correr el archivo de extensin m.
Melanio A. Coronado H.
Al seleccionar una de estas plantillas, se despliega en el panel derecho una vista previa de
ella. En la Figura 1.8 se observa la seleccin y vista previa de la plantilla GUI with
Uicontrols
Melanio A. Coronado H.
14
Melanio A. Coronado H.
15
Melanio A. Coronado H.
Figura 1.15. Corrida del GUI de la plantilla GUIDE with Axes and Menu
Figura 1.16. Corrida del GUI de la plantilla GUIDE with Axes and Menu
16
Melanio A. Coronado H.
El GUI tambin incluye una barra de men con solamente un men denominado File que al
desplegarlo se puede observar que contiene las opciones Open, Print y Close.
17
Melanio A. Coronado H.
18
Melanio A. Coronado H.
19
Melanio A. Coronado H.
Melanio A. Coronado H.
21
Melanio A. Coronado H.
Melanio A. Coronado H.
Melanio A. Coronado H.
Componente Panel
El componente Panel se utiliza para reunir varios componentes en un grupo
dentro de un GUI. Esta agrupacin puede hacer que la interfaz se observe ms
fcil para el usuario. Un panel puede tener un ttulo y varios bordes.
Un panel hijo puede ser los controles y ejes de una interfaz de usuario como
tambin un grupo de botones y de otros paneles. La posicin de cada
componente dentro del panel se interpreta con relacin al panel. Si se mueve el
panel, su panel hijo se mueve con l y mantiene sus posiciones dentro del panel.
Melanio A. Coronado H.
25
Melanio A. Coronado H.
Propiedad String
La propiedad String, para el componente Static Text, asigna el nombre que
aparecer en la interfaz como leyenda distintiva del control. En la interfaz
mostrada en la Figura 2.5 se muestra el inspector de propiedades de un
componente de texto esttico y su instalacin se explica a continuacin:
26
Melanio A. Coronado H.
Propiedad FontSize
Se observa, en la Figura 2.5, que se han hecho los siguientes ajustes: la propiedad
Tag se dej en su valor por defecto, es decir, text1; la propiedad
ForegroundColor al color rojo; la propiedad FontWeight al valor bold y la
propiedad FontSize al valor 14. La primera es el nombre del control para
invocarlo dentro del archivo punto eme de Matlab, la segunda es el color del nombre
que se despliega, la tercera es el tipo negrita de la leyenda y la tercera el tamao de
la letra.
7. Siguiendo la elaboracin del GUIDE mostrado en la Figura 2.1 instale otros
tres botones Static Text y ajuste las propiedades String de cada uno de
ellos con las expresiones Sumando 1 para el primero, Sumando 2 para el
segundo y Total para el ltimo. Haga la alineacin de ellos para una
justificacin a la izquierda e igualmente espaciados en la orientacin vertical.
Ajuste las propiedades Tag, ForegroundColor, FontWeight y
FontSize en forma similar a la realizada con el botn de texto esttico
instalado de acuerdo al punto 6. La propiedad Tag ahora es text2, text3 y
text4, respectivamente.
Propiedad String
La propiedad String, para el componente Edit Text, asigna el valor que
aparecer en la interfaz como dentro del cuadro correspondiente. En la interfaz
mostrada en la Figura 2.6 se muestra el inspector de propiedades de un componente
de edicin de texto y su instalacin se explica a continuacin:
27
Melanio A. Coronado H.
28
Melanio A. Coronado H.
Propiedad String
Con la propiedad String se asigna el nombre que se quiere que se despliegue
como leyenda o ttulo en el frente de un botn Push Button.
Propiedad Tag
Con la propiedad Tag, GUIDE nombra la subfuncin callback en el archivo GUI
M-File. Esta propiedad se asigna antes de activar el GUI.
10. Instale un botn Push Button en el GUIDE. Despliegue el inspector de
propiedades y deslice la lista hasta encontrar la de nombre String. Cambie
el nombre que aparece por defecto, es decir, Push Button por la palabra
Sumar. El callback de este botn se codificar con las instrucciones
requeridas para que al presionarla se despliegue el resultado de la suma entre
los sumandos editados en los cuadros Edit Text.
29
Melanio A. Coronado H.
Melanio A. Coronado H.
INTRODUCCIN
Melanio A. Coronado H.
Se observa en la Figura 3.2 que, por ejemplo, para el botn de edicin de texto
cuyo Tag es edit1 se han insertado las funciones function
edit1_Callback(hObject, eventdata, handles) y function edit1_CreateFcn(hObjet,
evendata, handles). Al desplazarse hacia abajo, dentro del cdigo, se encuentran
similares funciones para los botones edit2 y edit3.
Para el propsito con que se construye la calculadora los callback de los botones
de edicin de texto no requieren de codificacin y, por el momento, se
recomienda no modificar el contenido dentro de la funcin CreateFcn.
En la Figura 3.3 se muestra otra seccin del archivo final.m con el objeto de
mostrar que en el espacio abierto en el archivo punto eme de Matlab para
codificar el radio botn Suma se han escrito un conjunto de ordenes que deben
cumplirse cuando dicho componente sea seleccionado.
32
Melanio A. Coronado H.
Melanio A. Coronado H.
Comando get
La palabra clave get se aplica para adquirir la informacin sobre las propiedades
o caractersticas de un objeto. La sintaxis de este comando es:
get(handles.Objeto, Propiedad)
Comando set
Con el comando set se ajustan las propiedades del botn o componente
programado en la funcin en la cual est incluido el ciclo de control. La sintaxis del
comando set es:
set(handles.Objeto, Propiedad, Valor de la Propiedad)
Melanio A. Coronado H.
35
Melanio A. Coronado H.
En los renglones desde el nmero 182 hasta el 187 se ajusta la propiedad Value
de cada uno de los radio botones de tal manera que al seleccionar el denominado
Suma se active (Propiedad Value igual a uno) y los otros cinco radio botones se
desactiven (Propiedad Value igual a cero). Observe el comentario escrito en el
rengln 180.
Del rengln 191 a 194 se ajusta la propiedad String de los bloques editores de
texto esttico dentro del panel OPERADORES Y RESULTADO y del bloque de
presin colocado en la parte inferior central. Los valores asignados, en este caso, son
los mismos colocados para desplegarse por defecto al abrirse la interfaz. Observe el
comentario escrito en el rengln 189.
Del rengln 198 a 200 se ajusta la propiedad String de los bloques de edicin de
texto, todos ellos a un valor de cero (0). Se hace notar que el cero digitado es de
naturaleza string y para utilizarlo como nmero para realizar operaciones aritmticas
se requiere la conversin de la naturaleza del carcter. Observe el comentario escrito
en el rengln 196.
Melanio A. Coronado H.
En forma similar al radio botn Suma, primero se ajustan los valores de la propiedad
Value de los radio botones, pero en este caso se ha de activar el radio botn Resta y
los otros cinco deben desactivarse. Las propiedades String de los botones de edicin
de texto esttico y del botn de presin deben ajustarse a los valores Minuendo,
Sustraendo, Diferencia y Restar. Las propiedades String de los botones de edicin
de texto se ajustan al valor cero (0).
Melanio A. Coronado H.
Melanio A. Coronado H.
set(handles.text2,'string','Base')
set(handles.text3,'string','Exponente')
set(handles.text4,'string','Resultado')
set(handles.pushbutton1,'string','Potenciacin')
% Ajuste de la propiedad String para los botones Edit Text
set(handles.edit1,'string','0')
set(handles.edit2,'string','0')
set(handles.edit3,'string','0')
Melanio A. Coronado H.
informacin ifelseifend para cuando se elija uno de los radio botones para
desarrollar una de las operaciones incluidas en la interfaz.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
if get(handles.suma,'value') == 1
% Si se seleccciona el radio botn suma
h = str2double(get(handles.edit1,'string')) + str2double(get(handles.edit2,'string'));
set(handles.edit3,'string',num2str(h))
elseif get(handles.resta,'value') == 1
% Pero si se seleccciona el radio botn resta
h = str2double(get(handles.edit1,'string')) - str2double(get(handles.edit2,'string'));
set(handles.edit3,'string',num2str(h))
elseif get(handles.multi,'value') == 1
% Pero si se seleccciona el radio botn multiplicacin
h = str2double(get(handles.edit1,'string')) * str2double(get(handles.edit2,'string'));
set(handles.edit3,'string',num2str(h))
elseif get(handles.divi,'value') == 1
% Pero si se seleccciona el radio botn divisin
h = str2double(get(handles.edit1,'string')) / str2double(get(handles.edit2,'string'));
set(handles.edit3,'string',num2str(h))
elseif get(handles.poten,'value') == 1
% Pero si se seleccciona el radio botn potenciacin
h = str2double(get(handles.edit1,'string')) ^ (str2double(get(handles.edit2,'string')));
set(handles.edit3,'string',num2str(h))
elseif get(handles.radi,'value') == 1
% Pero si se seleccciona el radio botn radicacin
h = str2double(get(handles.edit1,'string')) ^ (1/(str2double(get(handles.edit2,'string'))));
set(handles.edit3,'string',num2str(h))
end
40
Melanio A. Coronado H.
Con la orden anterior se suman los valores de las propiedades String digitadas sobre los
botones de edicin de texto edit1 y edit2 y capturadas con el comando get. Los valores
capturados de naturaleza string requieren convertirse en valores numricos para poderse
sumar, dicha conversin se realiza utilizando el comando str2double. Con esto el valor que
se le ha asignado a h se convierte a uno de naturaleza numrica.
Para mostrar el resultado en el botn de edicin de texto edit3, se hace necesario convertir
el valor numrico calculado para h a un valor de naturaleza string para poder ajustar con el
comando set la propiedad String de dicho control. Todo lo anterior se hace con la orden:
set(handles.edit3,'string',num2str(h))
Los otros condicionales realizan rdenes similares a la anterior pero para cada una
de las otras operaciones aritmticas incluidas dentro de la interfaz. Se sugiere al
usuario analizar cada uno de dichos condicionales y tener en cuenta que el lazo de
control condicional se debe cerrar con la palabra clave end.
Melanio A. Coronado H.
Melanio A. Coronado H.
Melanio A. Coronado H.
44
Melanio A. Coronado H.
45
Melanio A. Coronado H.
Melanio A. Coronado H.
Pueden darse ocasiones en que se quiere un manejo de la figura del GUI que sea
accesible desde la lnea de comandos. Por ejemplo, se podra requerir que el GUI
despliegue grficos creados en la lnea de comandos. Para este caso, se debera
seleccionar la opcin On(GUI may become Current Figure from Command Line).
Hay cuatro opciones para el acceso desde la lnea de comandos que son:
Callback (GUI becomes Current Figure within Callbacks)
Off (GUI never becomes Current Figure)
On (GUI may become Current Figure from Command Line)
Other (Use settings from Property Inspector)
Melanio A. Coronado H.
son
siempre
visibles
cuando
Opcin
HandleVisibility
IntegerHandle
Callback
Callback
Off
Off
Off
Off
On
On
On
Other
User specifies
User specifies
48
Melanio A. Coronado H.
Melanio A. Coronado H.
50
Melanio A. Coronado H.
Si se permite solamente una ventana, Matlab reutiliza la figura del GUI existente
cuando se aplica el comando para ejecutar el GUI. Si ya existe un GUI, Matlab lo
hace desplegar en el frente en vez de crear una nueva figura. Si se deja en claro esta
51
Melanio A. Coronado H.
opcin, Matlab crea una nueva figura GUI cada vez que se aplica el comando para
ejecutarla.
52
Melanio A. Coronado H.
Melanio A. Coronado H.
dY (t )
Y (t ) KX (t )
dt
Melanio A. Coronado H.
55
Melanio A. Coronado H.
Componente Axes
1. Instale un botn Axes con la localizacin y el tamao ajustados manualmente
como se observa en la Figura 4.5. Este componente se deja ajustado a las
propiedades asignadas por defecto.
56
Melanio A. Coronado H.
Inactivo
Melanio A. Coronado H.
Activo
Melanio A. Coronado H.
Object Browser
Melanio A. Coronado H.
Figura 4.11. Editor del orden de tabulacin de los botones del GUI
Del orden observado en el editor en el editor se deduce que el botn que aparece,
por defecto, seleccionado al abrir el GUI es el botn que aparece con la leyenda
Plot, que al presionar la tecla Tab se selecciona a continuacin el botn de edicin
de la constante de tiempo y as sucesivamente.
Figura 4.12. Editor del orden de tabulacin de los bloques del GUI
60
Melanio A. Coronado H.
Melanio A. Coronado H.
62
Melanio A. Coronado H.
Melanio A. Coronado H.
Los cuadros verificados dentro de las preferencias hacen que el GUIDE se observe
como lo muestra la Figura 4.19.
Melanio A. Coronado H.
INTRODUCCIN
5.2.
Una ecuacin diferencial lineal de primer orden con una variable de entrada y una
variable de salida se escribe, para anlisis dinmico, en la siguiente forma:
dY (t )
Y (t ) KX (t )
dt
t
Y (t ) Kh 1 exp
65
Melanio A. Coronado H.
El tiempo requerido para que la respuesta alcance el valor ltimo depende de los
valores de los parmetros asignados en la ecuacin diferencial, es decir, de la
magnitud del cambio paso en la variable de entrada y de los valores de la constante
de tiempo y de la ganancia
5.3.
Figura 5.2. GUI - Solucin de una ecuacin diferencial lineal de primer orden SISO
66
Melanio A. Coronado H.
En los cinco botones Edit Text el usuario digita los parmetros dinmicos del
sistema, es decir, la constante de tiempo, la ganancia, y los parmetros especficos
de la simulacin como el cambio paso en la variable de entrada, la condicin inicial
de la variable de salida y el tiempo de la solucin. Hecho lo anterior, y presionando
el botn Plot se despliega la respuesta grfica correspondiente a la solucin de la
ecuacin diferencial.
Si se desea realizar otro ejercicio, se presiona el botn Reset con lo cual se borran
los valores anteriormente digitados en los botones Edit Text y el usuario puede,
entonces, digitar los nuevos valores para los parmetros y observar la nueva
solucin grfica despus de presionar el botn Plot.
5.4.
Para la solucin de la ecuacin diferencial lineal de primer orden con una variable
de entrada y una variable de salida se hace necesario la captura de los parmetros
incluidos en la expresin matemtica, la elaboracin de una funcin donde se defina
la ecuacin diferencial y el desarrollo del procedimiento numrico que muestre al
usuario la respuesta grfica resultante. El cdigo mostrado a continuacin es la
funcin que define a la ecuacin diferencial planteada:
Melanio A. Coronado H.
Figura 5.3. Sintaxis de la funcin R_paso para resolver una ecuacin diferencial
68
Melanio A. Coronado H.
Function tau_edit1_CreateFcn
El cdigo de esta funcin es creada, por defecto, por Matlab dentro del archivo de
extensin punto eme. En la Figura 5.4 se muestra el segmento de dicho archivo,
correspondiente a las rdenes incluidas dentro de la funcin tau_edit1_CreateFcn
Function tau_edit1_Callback
En esta funcin se codifica la captura del valor introducido por el usuario en la
propiedad String del botn denominado tau_edit1_Callback. Para ello se
introduce las siguientes sentencias mostradas en la Figura 5.5.
69
Melanio A. Coronado H.
Melanio A. Coronado H.
71
Melanio A. Coronado H.
Function plot_pushbutton1_Callback
En esta funcin se escribe el cdigo que contiene las rdenes para capturar los datos
ingresados por el usuario para la solucin de la ecuacin diferencial, obtener los
resultados numricos de dicha solucin, graficar dichos datos y desplegar dicho
grfico en el botn Axes. La Figura 5.7 muestra el segmento del programa de
extensin punto eme donde se incluy la sintaxis para las ejecuciones anteriores.
Melanio A. Coronado H.
La sentencia nmero 90 define las variables que pueden utilizarse entre distintas
funciones. Es decir, que en una funcin donde se incluya una sentencia global
para un conjunto de variables como por ejemplo tau, K, estas podrn utilizarse
y emplear sus valores sin necesidad de definir dichas variables nuevamente.
Seguidamente se capturan y transforman los valores introducidos por el usuario en
los botones de edicin de texto (sentencias 94 98). Con la sentencia 102 se
resuelve la ecuacin diferencial con el comando ode45 y se grafica su resultado
con las leyendas para el ttulo y los ejes (sentencias 103 - 106). Por ltimo, al final
de la codificacin se define en la sentencia 110 el elemento (en este caso, el
elemento axes1) donde se desea mostrar la respuesta de la simulacin.
Function reset_pushbutton2_Callback
En esta funcin se escribe el cdigo que contiene las rdenes para borrar el grfico
desplegado dentro del botn axes, borrar todos los valores digitados en los botones
de edicin y ajustar dichos valores a cero. La Figura 5.8 muestra el segmento del
archivo de extensin punto que incluye la codificacin de la funcin
reseet_pushbutton2_Callback
Melanio A. Coronado H.
Las sentencias 290 294 ajustan la propiedad String de cada uno de los botones de
edicin al valor cero (0).
Con toda la anterior programacin se han completado las rdenes necesarias para
ejecutar la solucin de la ecuacin diferencial y mostrar los resultados grficos
obtenidos.
Melanio A. Coronado H.
Melanio A. Coronado H.
5.6. ASIGNACIN
Se deja como asignacin para el estudiante, el hacer los cambios en los tamaos de
los bloques y los tamaos de las letras en cada uno de los bloques de tal manera que
al aumentar el tamao de la interfaz la visin de ella se pueda leer con ms nitidez
que la observada con la elaboracin siguiendo esta leccin.
76
Melanio A. Coronado H.
Melanio A. Coronado H.
dy(t )
y(t ) Kx(t )
dt
(6.1)
dY (t )
Y (t ) KX (t )
dt
(6.2)
Y (t ) y(t ) y(0)
X (t ) x(t ) x(0)
Siendo,
G( s)
Y ( s)
K
X ( s) s 1
(6.3)
78
Melanio A. Coronado H.
dY (t )
Y (t ) Kh
dt
(6.4)
1 Kh
s s 1
(6.5)
Y (s)
t
Y (t ) Kh 1 exp
(6.6)
Melanio A. Coronado H.
dY (t )
Y (t ) Krt
dt
Y ( s)
1 Kr
s ss 1
(6.7)
(6.8)
t
Y (t ) Kr exp t
(6.9)
Melanio A. Coronado H.
dY (t )
Y (t ) KASen ( wt )
dt
(6.10)
KAw
s 1s 2 w2
(6.11)
Y (s)
Y (t )
Siendo,
KAw
KA
t
exp
Senwt
2
2
1 w
1 w
(6.12)
tan 1 (w )
81
Melanio A. Coronado H.
KA
1 ( w ) 2
Tiempo Muerto
El tiempo muerto es un atraso adicional al dinmico, que se observa en la respuesta
de un sistema y que se atribuye al tiempo que se requiere para transportar el efecto
de la perturbacin del sistema hasta puntos localizados a una cierta distancia. En el
dominio de Laplace este atraso se observa en la inclusin de un trmino exponencial
en la funcin de transferencia. Para sistemas SISO de primer y segundo orden lineal,
las funciones de transferencia con tiempo muerto corresponden a las siguientes
ecuaciones
82
Melanio A. Coronado H.
Primer Orden:
Ke sto
Y ( s)
X (s)
s 1
Segundo Orden:
Ke sto
Y (s) 2 2
X ( s)
s 2s 1
Figura 6.5. Respuesta paso de un sistema de primer orden con tiempo muerto
En forma similar, se pueden observar las respuestas con tiempo muerto para otras
perturbaciones y para sistemas de orden dos o mayor
Melanio A. Coronado H.
84
Melanio A. Coronado H.
3. Controles Static Text: Se instalan ocho controles de esta clase para anexar
leyendas a los botones (Edit Text) donde se introducen datos requeridos para
la solucin de la ecuacin diferencial. Se asignan las propiedades String
con las leyendas que se observan en la Figura 6.1, es decir, Constante de
Tiempo, Ganancia Estacionaria, Condicin Inicial, Tiempo Inicial,
Tiempo Final, Cambio Paso, Frecuencia, Tiempo Muerto.
Melanio A. Coronado H.
5. Controles Edit Text: Se instalan ocho controles de esta clase para que el
usuario introduzca los parmetros requeridos para la solucin de la ecuacin
diferencial (constante de tiempo, ganancia, condicin inicial, tiempo inicial,
tiempo final, cambio paso, frecuencia, y tiempo muerto). Se asigna a todos
ellos la propiedad String con un valor de cero.
La propiedad Visible de los botones donde se editan la frecuencia y el
tiempo muerto se ajustan al valor off y se hacen visibles cuando se
seleccionan el Radio Button Seno y el Check Box Tiempo Muerto,
respectivamente.
7. Controles Panel: Se instalan cuatro botones de esta clase para encerrar los
botones en cuadros separados para observarlos agrupados dentro de un
marco.
A cada uno de los paneles instalados se le asigna la propiedad String con el
nombre de Parmetros, Perturbacin, Entradas y Respuesta,
respectivamente. La propiedad ForegroundColor se ajusta a color rojo y la
propiedad TitlePosition (posicin del nombre del ttulo) a centertop
(centro arriba)
Para modificar los controles anteriores como aparecen en la Figura 6.1 solo se debe
hacer doble click sobre cada control y en la ventana Property Inspector buscar las
propiedades Background color, Fontsize y Fontweight para cambiar el
color, el tamao y el estilo (negrita), respectivamente, de la letra.
86
Melanio A. Coronado H.
Se deja como ejercicio para el usuario la seleccin de las anteriores propiedades para
la figura y los paneles instalados en el GUI.
6.4.
Ecuaciones diferenciales
Las ecuaciones diferenciales se transforman en el dominio de Laplace, es decir, se
plantean sus funciones de transferencia y se le aplican las operaciones requeridas
para obtener la respuesta mediante la aplicacin de un cambio paso.
87
Melanio A. Coronado H.
Melanio A. Coronado H.
Melanio A. Coronado H.
Melanio A. Coronado H.
91
Melanio A. Coronado H.
axes(handles.axes1)
% Seleccin del tipo de cambio paso en la variable de entrada
if (get(handles.radiobutton1, 'Value') == 1)
X = str2double(get(handles.edit6, 'String'));
% Seleccin del Tiempo Muerto
if (get(handles.checkbox1, 'Value') == 1) & (get(handles.checkbox2, 'Value') == 0)
cla;
Melanio A. Coronado H.
Melanio A. Coronado H.
to = str2double(get(handles.edit8, 'String'));
a = [1 0 w^2];
b = [tau 1];
den = conv(a, b);
h = tf([K*A*w 0], den, 'inputdelay', to);
[y1,t] = step(h, tspan(2));
plot(t, A*sin(w*t), 'r', t, y1, 'b')
xlabel('Tiempo', 'FontSize', 12);
ylabel('Respuesta', 'FontSize', 12);
title({'Sistema lineal primer orden SISO'; 'Respuesta Seno'}, 'Fontsize', 14);
legend('Variable de Entrada', 'Variable de Salida', 1);
elseif (get(handles.checkbox2, 'Value') == 1) & (get(handles.checkbox1, 'Value') == 1)
cla reset;
a = [1 0 w^2];
b = [tau 1];
den = conv(a, b);
h = tf([K*A*w 0], den);
[y, t] = step(h, tspan(2));
plot(t, A*sin(w*t), 'r', t, y, 'k');
hold on
to = str2double(get(handles.edit8, 'String'));
a = [1 0 w^2];
b = [tau 1];
den = conv(a, b);
h1 = tf([K*A*w 0], den, 'inputdelay', to);
[y, t] = step(h1, tspan(2));
plot(t, y, 'b');
xlabel('Tiempo', 'FontSize', 12);
ylabel('Respuesta', 'FontSize', 12);
title({'Sistema lineal primer orden SISO'; 'Respuesta Seno'}, 'Fontsize', 14);
legend('Variable de Entrada', 'Variable de Salida', 'Variable de Salida con Tiempo Muerto', 1);
end
end
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
Melanio A. Coronado H.
set(handles.radiobutton1,'Value',1);
set(handles.radiobutton3,'Value',0);
set(handles.radiobutton2,'Value',0);
set(handles.edit1,'String',0);
set(handles.edit5,'String',0);
set(handles.edit3,'String',0);
set(handles.edit4,'String',0);
set(handles.edit2,'String',0);
set(handles.edit6,'String',0);
set(handles.edit7,'String',0);
set(handles.edit8,'String',0);
set(handles.checkbox1,'Value',0);
set(handles.checkbox2,'Value',0);
set(handles.text7,'String','Cambio Paso');
set(handles.text9,'Visible','off');
set(handles.edit8,'Visible','off');
set(handles.text8,'Visible','off');
set(handles.edit7,'Visible','off');
Melanio A. Coronado H.
Melanio A. Coronado H.
Constante de tiempo = 8
Ganancia Estacionaria = 3
Condicin Inicial = 0
Tiempo Inicial = 0
Tiempo Final = 50
Melanio A. Coronado H.
Al acercar el puntero del mouse al radio botn Rampa, entonces se observa que la
leyenda Cambio paso es sustituida por la leyenda Pendiente. Dejando los mismos
valores de la corrida anterior y presionando el botn Resolver, se observan unas
respuestas grficas como se muestran en la Figura 6.15. Se deja al usuario el anlisis
de la respuesta y la verificacin de los resultados de acuerdo a lo esperado y segn
los valores asignados a los parmetros dinmicos.
Al acercar el puntero del mouse al radio botn Seno, entonces se observa que la
leyenda Cambio paso es sustituida por la leyenda Amplitud, que se despliega una
leyenda con el nombre Frecuencia y un botn de edicin de texto donde digitar la
frecuencia de la funcin seno de entrada. Asignado a la amplitud un valor de 2 y a la
frecuencia un valor de 0.5 y dejando los mismos valores de la corrida anterior y
presionando el botn Resolver, se observan unas respuestas grficas como se
muestran en la Figura 6.16.
Melanio A. Coronado H.
Melanio A. Coronado H.
forma similar se procedi para la seleccin del color del fondo de los botones de
texto esttico, pero en este caso la propiedad correspondiente es BackgroundColor.
7.2.
FUNCIONES BIDIMENSIONALES
Funcin peaks
La funcin peaks se puede conocer si dentro del espacio de trabajo de Matlab se
digita el comando edit peaks. Se despliega, con esto, un archivo punto eme
denominado peaks que contiene una funcin llamada peaks y dentro del cdigo se
puede leer la funcin bidimensional que es:
1
x
2
f ( x, y) 3 (1 x) 2 exp x 2 ( y 1) 2 10 x 3 y 5 exp x 2 y 2 exp x 1 y 2
3
5
(7.1)
Melanio A. Coronado H.
Funcin membrane
La funcin membrane se puede conocer si dentro del espacio de trabajo de Matlab se
digita el comando edit membrane. Se despliega, con esto, un archivo punto eme
denominado membrane que contiene una funcin llamada membrane que incluye
dentro de su expresin una funcin de Bessel que por su complejidad se omite su
escritura.
Al correrse el archivo membrane.m se despliega una grfica tridimensional en forma
superficial (comando surf) como la que se observa en la Figura 7.3.
Funcin sinc:
Funcin circle:
f ( x, y )
Sen x 2 y 2
x y
2
(7.2)
f ( x, y) x 2 y 11 y 2 x 7
(7.3)
Las Figuras 7.4(a) y 7.4(b) muestran las grficas de superficie de las funciones sinc
y circle, respectivamente.
101
Melanio A. Coronado H.
(a)
(b)
Figura 7.4. Grfico de superficie de: (a) Funcin sinc (b) Funcin circle
7.3.
surf(Z)
surf(Z, C)
surf(X, Y, Z)
surf(X, Y, Z, C)
102
Melanio A. Coronado H.
103
Melanio A. Coronado H.
mesh(Z)
meshc(Z, C)
mesh(X, Y, Z)
mesh(X, Y, Z, C)
(a)
(b)
Comando contour
Al construir un grfico de contorno se despliegan lneas de Z constantes para una
funcin bidimensional. La Figura 7.7 muestra el grfico de contorno correspondiente
a la funcin sinc cuya representacin tridimensional se muestra en la Figura 7.4(a).
104
Melanio A. Coronado H.
Melanio A. Coronado H.
Melanio A. Coronado H.
Melanio A. Coronado H.
Melanio A. Coronado H.
Se notan los callback para los botones instalados que lo requieren y otros
tres con nombres prueba, prueba_OpeningFcn y prueba_OutputFcn
Funcin prueba_OpeningFcn
Al seleccionar un callback en el men contextual, el cursor se mueve a la primera
lnea de ste. Una funcin importante es la nombrada como prueba_OpeningFcn
porque en ella se crean datos para el GUI o se ejecutan otras tareas antes de abrir la
interfaz. El cdigo en la funcin Opening Function se ejecuta justo antes de que
el GUI se haga visible al usuario. Se puede aadir cdigo a la funcin de apertura
para desarrollar tareas que necesitan hacerse antes que el usuario tenga acceso al
GUI, por ejemplo, la creacin de datos o la lectura de fuentes externas. Para acceder
a esta funcin proceda de la siguiente manera:
6. Presione el icono Show function que se encuentra en la barra de
herramientas del archivo GUI M-File y haga clic sobre
prueba_OpeningFcn para colocar el cursor del mouse en la primera lnea
de dicha funcin.
7. Digite el cdigo que se muestra dentro de la funcin prueba_OpeningFcn
y que se observa en la Figura 7.9
Melanio A. Coronado H.
Melanio A. Coronado H.
Melanio A. Coronado H.
Melanio A. Coronado H.
Melanio A. Coronado H.
up Menu. En los siguientes tres renglones se escriben las rdenes para las
leyendas en los tres ejes de la representacin
Figura 7.11. Cuadro de dilogo para guardar el GUI con los ltimos cambios
114
Melanio A. Coronado H.
Si esto sucede, presione el botn Si y guarde los archivos del GUI (prueba.m y
prueba.fig) en un directorio y una carpeta deseada.
Si el directorio donde se guarda el GUI no se encuentra en la ruta de Matlab, al
pretender abrir sus archivos GUIDE abre el siguiente cuadro de dilogo, Figura
7.12, permitiendo la opcin de cambiar el directorio usual al directorio que
contiene los archivos GUI o aadiendo dicho directorio a la ruta de Matlab.
Presione el botn Change Folder para cambiar de directorio
Figura 7.12. Confirmacin del directorio para guardar los archivos del GUI
Melanio A. Coronado H.
(a)
(b)
116
Melanio A. Coronado H.
(a)
(b)
117
Melanio A. Coronado H.
(a)
(b)
Se deja al usuario, como observacin, el despliegue de los tres tipos de grficos para
la funcin circle.
7.7. ASIGNACIONES
Hacer las siguientes modificaciones al GUI elaborado anteriormente para la
elaboracin de representaciones tridimensionales de funciones de dos variables
1.
2.
3.
4.
118
Melanio A. Coronado H.
Melanio A. Coronado H.
a2
d 2 y(t )
dy(t )
a1
ao y(t ) b1 x(t ) bo
2
dt
dt
(8.1)
a2 d 2Y (t ) a1 dY (t )
b
Y (t ) 1 X (t )
2
ao dt
ao dt
ao
(8.2)
Las relaciones entre los parmetros fsicos del sistema que se observan en la
ecuacin (8.2) suelen sustituirse por smbolos que expresan parmetros de
significado dinmico como son la constante de tiempo , el factor de
amortiguamiento y la ganancia K , resultando la ecuacin diferencial
caracterstica de un sistema lineal de segundo orden SISO as:
d 2Y (t )
dY (t )
2
Y (t ) KX (t )
2
dt
dt
(8.3)
120
Melanio A. Coronado H.
Siendo
a2
ao
1 a1 1 a1
2 ao 2 ao a2
b1
ao
Las anteriores ecuaciones expresan que estos tres parmetros se calculan con
ecuaciones en funcin de caractersticas fsicas del sistema. La constante de tiempo
expresa un atraso dinmico, el valor del factor de amortiguamiento determina el tipo
de respuesta del sistema y la ganancia tiene el mismo significado definido para los
sistemas de primer orden.
La ecuacin diferencial (8.3) es la forma estndar completa que expresa la dinmica
de un sistema lineal de segundo orden SISO. Para la solucin de la ecuacin (8.3) se
requieren las especificaciones de los parmetros dinmicos o en su defecto los
parmetros fsicos y el tipo de cambio que se ejerce a la variable de entrada. Es
importante anotar que por expresarse la ecuacin (8.3) en trminos de las variables
desviacin, los valores iniciales de cada una de ellas es cero.
La solucin de la ecuacin diferencial (8.3), tanto en el dominio del tiempo como en
el de Laplace, nos permite analizar la variacin en el tiempo de la variable
desviacin de salida ante un determinado tipo de cambio en la variable desviacin
de entrada, es decir, la dinmica del sistema cuyo fenmeno fsico se expresa
mediante dicha ecuacin.
Teniendo en cuenta que Y (0) 0, Y ' (0) 0 se puede reorganizar la igualdad anterior
y expresarla como la respuesta del sistema en el dominio de Laplace de la siguiente
manera:
Y ( s)
K
X ( s)
s 2 s 1
2
121
Melanio A. Coronado H.
G( s)
Y ( s)
K
2 2
X ( s) s 2 s 1
(8.4)
Respuesta paso
Para este tipo de cambio en la variable de entrada, la transformada de Laplace de la
respuesta del sistema es dada as:
1
Kh
Y ( s) 2 2
s s 2 s 1
(8.5)
Siendo h la magnitud del cambio paso. La forma de la ecuacin (8.5) hace fcil la
obtencin de su respuesta grfica porque basta con aplicar el comando step a la
expresin encerrada dentro del corchete.
Respuesta rampa
Para este tipo de cambio en la variable de entrada, la transformada de Laplace de la
respuesta del sistema es dada as:
Y ( s)
r
s2
K
Kr
2 s 2 2 s 1 s 2 s 3 2 s 2 s
(8.6)
122
Melanio A. Coronado H.
Respuesta seno
Para este tipo de cambio en la variable de entrada, la transformada de Laplace de la
respuesta del sistema es dada as:
Y ( s)
A
s 2
2
1
K
KAs
2 s 2 2 s 1 s s 2 2 2 s 2 2 s 1
(8.67
Melanio A. Coronado H.
Se nota entonces que al seleccionar esta ltima opcin se despliega otro pequeo
men contextual que incluye los diferentes tipos de callbacks aplicables al botn
button group. Entre las opciones se encuentra el callback tipo SelectionChangeFcn
que al seleccionarlo hace que se incluya dentro del archivo de extensin punto eme
de Matlab la funcin callaback correspondiente para el button group. (Observe la
Figura 8.3).
Melanio A. Coronado H.
Las propiedades que inicialmente se definen en un control button group son Title y
TitlePosition. En la Figura 8.4 se observa el inspector de propiedades del button
group instalado en el GUI mostrado en la Figura 8.1, la propiedad Title (Ttulo) se
ha ajustado con la palabra Perturbacin y la propiedad TitlePosition (Posicin del
ttulo) se ha ajustado al valor lefttop (Posicin superior izquierda) seleccionado del
men contextual situado a la derecha del nombre de la propiedad.
Campo de la estructura
Event Data
Descripcin
EventName
'SelectionChanged'
OldValue
NewValue
Melanio A. Coronado H.
Melanio A. Coronado H.
127
Melanio A. Coronado H.
Para todos los controles se deja la propiedad Tag con sus asignaciones por defecto.
A los archivos punto eme y punto fig se les asigna el nombre SISODOS.
Melanio A. Coronado H.
Melanio A. Coronado H.
130
Melanio A. Coronado H.
la
funcin
Melanio A. Coronado H.
(a)
(b)
Melanio A. Coronado H.
El cdigo comienza con las sentencias para el despliegue de una caja de dilogo
de espera como la que se observa en la Figura 8.7(a), borra la imagen y los ejes
del componente axes instalado y desplegado de acuerdo a las rdenes escritas en
la funcin de apertura y finalmente ajusta la propiedad Visible al valor on de los
133
Melanio A. Coronado H.
Melanio A. Coronado H.
Con el comando get (rengln 300) se captura el nuevo valor de la propiedad Tag
del botn de opcin seleccionado. Con el lazo de control switchend se
codifican cada una de las tres opciones posibles (radiobutton1, radiobutton2 y
radiobutton3).
Para la opcin radiobutton1 (Cambio Paso) se ajusta la propiedad String del
componente text5 a la expresin Magnitud del Paso y los botones text6 y edit6 se
hacen no visibles.
Para la opcin radiobutton2 (Cambio Rampa) se ajusta la propiedad String del
componente text5 a la expresin Pendiente y los botones text6 y edit6 se hacen
visibles.
Para la opcin radiobutton3 (Cambio Rampa) se ajusta la propiedad String del
componente text5 a la expresin Amplitud y los botones text6 y edit6 se hacen no
visibles
135
Melanio A. Coronado H.
Melanio A. Coronado H.
end
title('Respuesta Paso - Sistema de segundo orden', 'Fontsize', 14, 'Fontweight', 'bold');
xlabel('Tiempo', 'Fontsize', 12, 'Fontweight', 'bold');
ylabel('Respuesta', 'Fontsize', 12, 'Fontweight', 'bold');
elseif get(handles.radiobutton2, 'Value') == 1;
% Ajuste de propiedades de controles
set(handles.text5, 'String', 'Pendiente');
set(handles.text6, 'Visible', 'off');
set(handles.edit6,'Visible','off');
% Captura de datos
tau = str2double(get(handles.edit1, 'String'));
fi = str2double(get(handles.edit2, 'String'));
ka = str2double(get(handles.edit3, 'String'));
ti = str2double(get(handles.edit4, 'String'));
p = str2double(get(handles.edit5, 'String'));
to = str2double(get(handles.edit7, 'String'));
% Funcin de transferencia y respuesta paso
if to == 0
fts = tf([ka*p], [tau^2 2*tau*fi 1 0]);
[y1, t] = step(fts, ti);
figure(1)
plot(t, p*t, 'r', t, y1/ka, 'k')
grid
elseif to > 0
fts = tf([ka*p], [tau^2 2*tau*fi 1 0]);
ftc = tf([ka*p], [tau^2 2*tau*fi 1 0], 'inputdelay', to);
[y1, t] = step(fts, ti);
[y2, t] = step(ftc, ti);
figure(1)
plot(t, p*t, 'r', t, y1/ka, 'k', t, y2/ka, 'b')
grid
end
title('Respuesta Rampa - Sistema de segundo orden', 'Fontsize', 14, 'Fontweight', 'bold');
xlabel('Tiempo', 'Fontsize', 12, 'Fontweight', 'bold');
ylabel('Respuesta', 'Fontsize', 12, 'Fontweight', 'bold');
elseif get(handles.radiobutton3, 'Value') == 1;
% Ajuste de propiedades de controles
set(handles.text5, 'String', 'Amplitud');
set(handles.text6, 'Visible', 'on');
set(handles.edit6,'Visible','on');
% Captura de datos
137
Melanio A. Coronado H.
Melanio A. Coronado H.
Antes de cerrarse el GUI se despliega una caja de dilogo de pregunta con un ttulo
una leyenda y dos botones de presin como la que muestra la Figura 8.9. El
condicional ifend cumple la funcin de determinar el botn de presin sobre el
cual se hizo clic. En caso de ser No no cierra el GUI, es decir, lo mantiene abierto y
en caso de presionar Yes cierra todos los objetos abiertos y borra toda la memoria.
Melanio A. Coronado H.
Con el comando helpwin se despliega una ventana que muestra Matlab y que
contiene, a modo de ayuda, todo lo escrito como comentario en el archivo punto
eme (SISODOS.m) inmediatamente despus de la funcin encabezamiento de
todo el programa, en este caso function varargout = SISODOS(varargin). La
Figura 8.10 muestra la ventana de ayuda que se observa en este caso.
140
Melanio A. Coronado H.
escrito despus del rengln % SISODOS M-file for SISODOS.fig y la segunda parte
es lo escrito a la derecha de % See also.
141
Melanio A. Coronado H.
(a)
(b)
Figura 8.11. (a) GUI y (b) Respuesta paso grfica
Ecuacin diferencial lineal de segundo orden SISO
142
Melanio A. Coronado H.
(a)
(b)
Figura 8.12. (a) GUI y (b) Respuesta rampa grfica
Ecuacin diferencial lineal de segundo orden SISO
(a)
(b)
Melanio A. Coronado H.
8.8. ASIGNACIONES
Hacer los cambios que se requieran en los parmetros del GUI de tal manera que se
obtengan
1.
2.
3.
4.
144
Melanio A. Coronado H.
Melanio A. Coronado H.
con la leyenda Sin tiempo muerto. La propiedad Enable del botn de texto esttico
Coeficiente de amortiguamiento y de dos botones de edicin de texto se ajusta
inicialmente al valor Off y la propiedad Value del botn Toggle Button titulado Sin
tiempo muerto se ajusta al valor 0 para que no aparezca resaltado en color o azul (o
seleccionado) al desplegar el GUI por primera vez.
En el panel titulado Parmetros de entrada se encierra un botn de texto esttico
con la leyenda Cambio paso y un botn de edicin de texto
En el panel titulado Simulacin se encierra un botn de texto esttico con la leyenda
Tiempo de simulacin, un botn de edicin de texto y un botn de presin o Push
Button con la leyenda Ver respuesta.
La Figura 6.1 muestra el GUIDE elaborado y cuya construccin y programacin se
explica en esta leccin. Se puede observar en la barra de ttulo del GUIDE que los
archivos se denominan UsandoElToggleButton.fig y UsandoElToggleButton.m.
146
Melanio A. Coronado H.
Se nota entonces que al seleccionar esta ltima opcin se despliega otro pequeo
men contextual que incluye los diferentes tipos de callbacks aplicables al botn
button group. Entre las opciones se encuentra el callback tipo SelectionChangeFcn
que al seleccionarlo hace que se incluya dentro del archivo de extensin punto eme
de Matlab la funcin callaback correspondiente para el button group que se muestra
a continuacin.
% --- Executes when selected object is changed in uipanel1.
function uipanel1_SelectionChangeFcn(hObject, eventdata, handles)
% hObject handle to the selected object in uipanel1
% eventdata structure with the following fields (see UIBUTTONGROUP)
% EventName: string 'SelectionChanged' (read only)
% OldValue: handle of the previously selected object or empty if none was selected
% NewValue: handle of the currently selected object
% handles structure with handles and user data (see GUIDATA)
Del cdigo anterior se deduce que la propiedad Tag del button group titulado Orden
de la dinmica se ha ajustado a su valor por defecto uipanel1. La propiedad Title
(Ttulo) se ha ajustado con la palabra Orden de la dinmica y la propiedad
TitlePosition (Posicin del ttulo) se ha ajustado al valor lefttop (Posicin superior
izquierda) seleccionado del men contextual situado a la derecha del nombre de la
propiedad.
Melanio A. Coronado H.
Campo de la estructura
Event Data
Descripcin
EventName
'SelectionChanged'
OldValue
NewValue
Melanio A. Coronado H.
case 'togglebutton1'
set(handles.text3, 'enable', 'off')
set(handles.edit3, 'enable', 'off')
case 'togglebutton2'
set(handles.text3, 'enable', 'on')
set(handles.edit3, 'enable', 'on')
end
dY (t )
Y (t ) KX (t )
dt
d 2Y (t )
dY (t )
2
Y (t ) KX (t )
2
dt
dt
2
(9.1)
(9.2)
G(s)
Y ( s)
K
X ( s) s 1
(9.3)
149
Melanio A. Coronado H.
G( s)
Y ( s)
K
2
X ( s) s 2 s 1
(9.4)
Respuestas paso
Para este tipo de cambio en la variable de entrada, la transformada de Laplace de la
respuesta de un sistema lineal de primer orden SISO es dada as:
1 Kh
Y ( s)
s s 1
(9.5)
Siendo h la magnitud del cambio paso. La forma de la ecuacin (9.5) hace fcil la
obtencin de su respuesta grfica porque basta con aplicar el comando step a la
expresin encerrada dentro del corchete.
Respuesta rampa
Para este tipo de cambio en la variable de entrada, la transformada de Laplace de la
respuesta de un sistema lineal de primer orden SISO es dada as:
Y (s)
r
s2
K 1 Kr
s 1 s s 2 s
(9.6)
Melanio A. Coronado H.
comando step a la expresin encerrada dentro del corchete. Tngase en cuenta que el
denominador es de un grado tres.
Respuesta paso
Para este tipo de cambio en la variable de entrada, la transformada de Laplace de la
respuesta del sistema es dada as:
1
Kh
Y ( s) 2 2
s s 2 s 1
(9.7)
Siendo h la magnitud del cambio paso. La forma de la ecuacin (9.7) hace fcil la
obtencin de su respuesta grfica porque basta con aplicar el comando step a la
expresin encerrada dentro del corchete.
Respuesta rampa
Para este tipo de cambio en la variable de entrada, la transformada de Laplace de la
respuesta del sistema es dada as:
Y ( s)
r
s2
K
Kr
2 s 2 2 s 1 s 2 s 3 2 s 2 s
(9.8)
151
Melanio A. Coronado H.
Tiempo Muerto
El tiempo muerto es un atraso adicional al dinmico, que se observa en la respuesta
de un sistema y que se atribuye al tiempo que se requiere para transportar el efecto
de la perturbacin del sistema hasta puntos localizados a una cierta distancia. En el
dominio de Laplace este atraso se observa en la inclusin de un trmino exponencial
en la funcin de transferencia. Para sistemas SISO de primer y segundo orden lineal,
las funciones de transferencia con tiempo muerto corresponden a las siguientes
ecuaciones
Primer Orden:
Ke sto
Y ( s)
X (s)
s 1
Segundo Orden:
Ke sto
Y (s) 2 2
X ( s)
s 2s 1
152
Melanio A. Coronado H.
153
Melanio A. Coronado H.
3. Controles Static Text: Se instalan cinco controles de esta clase (text1, text2,
text3, text5 y text8) para anexar leyendas a los botones (Edit Text) donde se
introducen datos requeridos para la solucin de la ecuacin diferencial. Se
asignan las propiedades String con las leyendas que se observan en la
Figura 9.1, es decir, Ganancia, Constante de Tiempo, Coeficiente de
amortiguamiento, Cambio paso y Tiempo de simulacin.
El botn de texto esttico (text5) cuya propiedad String se ajusta a la leyenda
Cambio paso cambia el valor de dicha propiedad a la leyenda Pendiente
cuando se seleccione el radio botn con leyenda Rampa
Propiedad Enable de los botones de texto
La propiedad Enable de un botn de texto (tanto esttico como de edicin) es
de tipo binario (valor off - on), de tal manera que cuando se le asigna a la
propiedad el valor off el botn sea visible pero inactivo y cuando se le asigna
a la propiedad el valor on el botn es visible y activo.
El botn de texto esttico (text3) con leyenda Coeficiente de amortiguamiento
se le ha ajustado su propiedad Enable al valor off para que se observe pero en
forma inactiva al desplegarse el GUI por primera vez o cuando se encuentre
activo el Toggle Button con leyenda Primer orden.
4. Controles Edit Text: Se instalan seis controles de esta clase (edit1, edit2,
edit3, edit4, edit5 y edit8) para que el usuario introduzca los parmetros
requeridos para la solucin de la ecuacin diferencial (Ganancia, Constante
de tiempo, Coeficiente de amortiguamiento, Tiempo muerto, Cambio paso, y
Tiempo de simulacin). Los valores asignados, por defecto, a la propiedad
String de cada uno de ellos son los que se observan en la Figura 9.1.
A dos botones de edicin de texto (edit3 y edit4) se le ha ajustado su
propiedad Enable al valor off para que se observen pero en forma inactiva al
desplegarse el GUI por primera vez o cuando se encuentre activo el Toggle
Button con leyenda Primer orden o cuando se encuentre inactivo el Toggle
Button con leyenda Sin tiempo muerto
5. Controles Push Button: Se instalan un botones de presin para ejecutar, el
GUI. A la propiedad String se le asigna el nombre Ver respuesta.
6. Controles Panel: Se instalan tres botones de esta clase (uipanel2, unipanel5
y uipanel6) para encerrar los botones en cuadros separados para observarlos
agrupados dentro de un marco. El uipanel 2 encierra tres botones de texto
esttico (text1, text2 y text3), cuatro botones de edicin de texto (edit1, edit2,
154
Melanio A. Coronado H.
Melanio A. Coronado H.
Melanio A. Coronado H.
case 'togglebutton1'
set(handles.text3, 'enable', 'off')
set(handles.edit3, 'enable', 'off')
case 'togglebutton2'
set(handles.text3, 'enable', 'on')
set(handles.edit3, 'enable', 'on')
end
157
Melanio A. Coronado H.
158
Melanio A. Coronado H.
propiedad off (es visible pero inactivo), El usuario puede hacer las verificaciones de
lo propuesto en el cdigo
Melanio A. Coronado H.
Melanio A. Coronado H.
9.6.
Al presionar el toggle button con leyenda Segundo orden se observa que se activan
el botn de texto esttico con leyenda Coeficiente de amortiguamiento y el botn de
edicin de texto que est a su derecha y que por defecto muestra un valor de 0.5. Si
se presiona el botn Ver respuesta se despliega la respuesta grfica para un sistema
de segundo orden subamortiguado como lo muestra la Figura 9.5.
Melanio A. Coronado H.
Si ahora se presiona el botn Sin tiempo muerto y se ejecuta el GUI con tiempo
muerto asignando un valor de 2 en el botn de edicin de texto que aparece
colocado a su derecha se observa una respuesta grfica similar a la anterior pero con
un tiempo muerto de 2 unidades de tiempo. (Observe la Figura 9.6)
Figura 9.6. Respuesta paso de un sistema de segundo orden con tiempo muerto
Si ahora se presiona el radio botn Rampa y se dejan todos los valores asignados
anteriormente, se obtiene la respuesta rampa subamortiguada de un sistema de
segundo orden lineal como la que muestra la Figura 9.7.
Figura 9.7. Respuesta rampa con tiempo muerto de un sistema de segundo orden
lineal
162
Melanio A. Coronado H.
(a)
(b)
Melanio A. Coronado H.
RT
a
2
V b V ubV wb 2
(10.1)
Siendo
A*
(10.2)
aP
bP
y B*
2 2
RT
RT
164
Melanio A. Coronado H.
Cuatro ecuaciones de estado cbicas muy conocidas son las de Van der Waals,
Redlich-Kwong (RK), Soave-Redlich-Kwong (SRK) y Peng-Robinson (PR). Para
estas cuatro ecuaciones u y w tienen valores enteros y cuyos valores son los que
aparecen en la Tabla 10.1.
Ecuacin
RTc
8 Pc
0.08664 RTc
Pc
Soave-Redlich-Kwong 1
0.08664 RTc
Pc
Redlich-Kwong
a
27 R 2Tc
64 Pc
2.5
0.42748R 2Tc
PcT 0.5
0.42748R 2Tc
1 f 1 Tr0.5
Pc
-1
0.07780 RTc
Pc
0.45724 R 2Tc
1 f 1 Tr0.5
Pc
Se observa, en la Tabla 10.1, que los parmetros a y b para las cuatro ecuaciones
cbicas son funciones de la temperatura crtica Tc y la presin crtica Pc , pero en las
ecuaciones de Soave-Redlich-Kwong y Peng-Robinson, el parmetro a depende,
adicionalmente, del factor acntrico . La ecuacin utilizada, en esta leccin, para
calcular el factor acntrico de una sustancia es:
Siendo
3
log Pc 1
7 1
(10.3)
Tb
y Tb la temperatura de ebullicin normal de la sustancia.
Tc
165
Melanio A. Coronado H.
Melanio A. Coronado H.
Melanio A. Coronado H.
Melanio A. Coronado H.
function Ecuacionescubicas_proyecto_OpeningFcn(hObject,
handles, varargin)
eventdata,
Melanio A. Coronado H.
Botn listbox1
El cdigo elaborado para la funcin listbox1_Callback(hObject, evendata, handles)
es el que se muestra a continuacin:
% --- Executes on selection change in listbox1.
function listbox1_Callback(hObject, eventdata, handles)
% hObject handle to listbox1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns listbox1 contents as cell array
%
contents{get(hObject,'Value')} returns selected item from listbox1
inf=get(hObject,'Value');
gos=get(hObject,'String');
msgbox('Debe suministrar la siguiente informacin en las unidades correspondientes.','Mensaje');
Melanio A. Coronado H.
elseif get(handles.listbox1,'value') == 3
u = 1;
a = 0.42748*(R^2)*(Tc^2.5)/(Pc*(T^0.5));
b = 0.08664*R*Tc/(Pc);
A = (a*P)/(R*T)^2;
B = (b*P)/(R*T);
Raices = roots([1 -1 (A -B - B^2) -(A*B)]);
elseif get(handles.listbox1,'value') == 4
Theta = Tb/Tc;
Tr = T/Tc;
w = ((3/7)*(Theta/(1 - Theta))*log(Pc)) - 1;
fw = 0.48 + 1.574*w - 0.176*(w^2);
u = 1;
a = (0.42748*(R^2)*(Tc^2)/(Pc))*(1 + fw*(1 - (Tr^0.5)))^2;
b = 0.08664*R*Tc/(Pc);
A = (a*P)/(R*T)^2;
B = (b*P)/(R*T);
Raices = roots([1 -1 (A - B - B^2) -(A*B)]);
Melanio A. Coronado H.
Z = max(Ra);
V = n*R*T*Z/P;
set(handles.edit7, 'string', num2str(V));
Melanio A. Coronado H.
Melanio A. Coronado H.
if strcmp(ans, 'No')
return;
end
clear, clc, close all
174
Melanio A. Coronado H.
290.5 C
27.3 bares
110 C
Se sugiere al usuario hacer observaciones sobre los resultados que arroja el GUI
para condiciones por encima y por debajo de las crticas y a comparar los resultados
obtenidos cambiando la ecuacin de estado. La Figura 10.4 muestra el resultado del
volumen calculado con la ecuacin ideal y con la ecuacin de Redlich-Kwong para
unas condiciones del gas de:
Temperatura:
Presin.
Nmero de moles:
500 C
40 bares
2
Temperatura crtica:
277.8C
175
Melanio A. Coronado H.
Presin crtica.
Temperatura de ebullicin normal:
37.9 bares
94.5 C
500 C
40 bares
2
176
Melanio A. Coronado H.
Melanio A. Coronado H.
178
Melanio A. Coronado H.
dY (t )
Y (t ) KX (t )
dt
d 2Y (t )
dY (t )
2
Y (t ) KX (t )
2
dt
dt
2
(11.1)
(11.2)
G(s)
Y ( s)
K
X ( s) s 1
(11.3)
G( s)
Y ( s)
K
2
X ( s) s 2 s 1
(11.4)
Respuestas paso
Para este tipo de cambio en la variable de entrada, la transformada de Laplace de la
respuesta de un sistema lineal de primer orden SISO es dada as:
179
Melanio A. Coronado H.
1 Kh
Y ( s)
s s 1
(11.5)
Siendo h la magnitud del cambio paso. La forma de la ecuacin (11.5) hace fcil la
obtencin de su respuesta grfica porque basta con aplicar el comando step a la
expresin encerrada dentro del corchete.
Respuesta rampa
Para este tipo de cambio en la variable de entrada, la transformada de Laplace de la
respuesta de un sistema lineal de primer orden SISO es dada as:
Y (s)
r
s2
K 1 Kr
s 1 s s 2 s
(11.6)
Respuesta paso
Para este tipo de cambio en la variable de entrada, la transformada de Laplace de la
respuesta del sistema es dada as:
1
Kh
Y ( s) 2 2
s s 2 s 1
(11.7)
180
Melanio A. Coronado H.
Siendo h la magnitud del cambio paso. La forma de la ecuacin (11.5) hace fcil la
obtencin de su respuesta grfica porque basta con aplicar el comando step a la
expresin encerrada dentro del corchete.
Respuesta rampa
Para este tipo de cambio en la variable de entrada, la transformada de Laplace de la
respuesta del sistema es dada as:
Y ( s)
r
s2
K
Kr
2 s 2 2 s 1 s 2 s 3 2 s 2 s
(11.8)
Tiempo Muerto
El tiempo muerto es un atraso adicional al dinmico, que se observa en la respuesta
de un sistema y que se atribuye al tiempo que se requiere para transportar el efecto
de la perturbacin del sistema hasta puntos localizados a una cierta distancia. En el
dominio de Laplace este atraso se observa en la inclusin de un trmino exponencial
en la funcin de transferencia. Para sistemas SISO de primer y segundo orden lineal,
las funciones de transferencia con tiempo muerto corresponden a las siguientes
ecuaciones
Primer Orden:
Ke sto
Y ( s)
X (s)
s 1
Segundo Orden:
Ke sto
Y (s) 2 2
X ( s)
s 2s 1
181
Melanio A. Coronado H.
182
Melanio A. Coronado H.
3.
4.
5.
Controles Edit Text: Se instalan seis controles de esta clase (edit1, edit2,
edit3, edit4, edit5 y edit8) para que el usuario introduzca los parmetros
requeridos para la solucin de la ecuacin diferencial (Ganancia, Constante de
tiempo, Coeficiente de amortiguamiento, Tiempo muerto, Cambio paso, y
Tiempo de simulacin). Los valores asignados, por defecto, a la propiedad
String de cada uno de ellos son los que se observan en la Figura 11.1.
183
Melanio A. Coronado H.
7.
8.
Control Table: Se instala un control de esta clase (axes1) para desplegar los
valores numricos de la respuesta obtenida para la solucin de la ecuacin que
se ejecuta al presionar el botn Ver respuesta. Se muestran en una columna los
valores de los tiempos y en otra columna los respectivos valores de la
respuesta obtenida
Melanio A. Coronado H.
Melanio A. Coronado H.
Se deduce que con esta propiedad se definen, para la tabla, los ttulos o encabezados
de las columnas, el ancho de las columnas, la opcin de permitir la edicin de los
datos en la columna y el formato de los valores insertados en una columna. Debajo
del cuadro Column Headers se selecciona el radio botn que dice Show names
entered below as the column headers (Muestre los nombres ingresados abajo como
los encabezados de las columnas). En el panel titulado Column Definitions se han
definido dos columnas con encabezados Tiempo y Respuesta. Para cada una de estas
columnas se ha definido un ancho (Width(px)) de 90 pixeles y un formato numrico
(Numeric) para los valores a insertar en sus celdas. A la derecha se observa un
conjunto de iconos con los cuales se puede hacer edicin de las definiciones en las
columnas.
Al regresar a la ventana del inspector de propiedades del control uitable1 y presionar
el icono que aparece a la derecha del nombre de las propiedades ColumnFormat,
ColumName y ColumnWidth se despliega una ventana como la que se observa en la
Figura 11.3. Es decir, que son rutas alternas para definir las especificaciones de las
columnas de la tabla.
Al seleccionar la pgina Rows que se observa debajo de Columns en la ventana
Table Property Editor (Figura 11.3) se explican las definiciones introducidas para
las filas en la tabla instalada en el GUIDE de la Figura 11.1. Ver Figura 11.4.
Se selecciona el radio botn que dice Show numbered row headers (Muestre
nmeros como los encabezados de las filas). Debajo se han insertado cuatro filas que
aparecern visibles cuando se despliegue el GUI. A la derecha se observa un
conjunto de iconos con los cuales se puede hacer edicin de las definiciones en las
filas.
186
Melanio A. Coronado H.
187
Melanio A. Coronado H.
188
Melanio A. Coronado H.
Melanio A. Coronado H.
% handles
190
Melanio A. Coronado H.
case 1
set(handles.text5, 'string', 'Escaln')
case 2
set(handles.text5, 'string', 'Pendiente')
end
Melanio A. Coronado H.
Melanio A. Coronado H.
T0 = 0;
end
% Tiempo de simlulacion
Tf = str2double(get(handles.edit8, 'string'));
% evalua la funcion de transferencia con la respectiva entrada
cla()
switch get(handles.popupmenu1, 'value')
case 1
G = tf(num, den, 'inputdelay', T0);
[y, t] = step(G, Tf);
case 2
G = tf(num, [den 0], 'inputdelay', T0);
[y, t] = step(G, Tf);
end
% genera el respectivo grafico
cla(handles.axes1)
plot(handles.axes1, t, y, 'b')
grid(handles.axes1, 'on')
xlabel('Tiempo')
ylabel('Respuesta')
xlabel('Tiempo')
% escribe los resultados en la tabla
set(handles.uitable1, 'data', [t y])
Melanio A. Coronado H.
194
Melanio A. Coronado H.
Si ahora se presiona el botn Sin tiempo muerto y se ejecuta el GUI con tiempo
muerto asignando un valor de 2 en el botn de edicin de texto que aparece
colocado a su derecha se observa una respuesta grfica similar a la anterior pero con
un tiempo muerto de 2 unidades de tiempo. (Observe la Figura 11.10)
Si ahora se presiona la opcin Rampa, se asigna un coeficiente de amortiguamiento
de cero y se dejan todos los otros valores asignados anteriormente, se obtiene la
195
Melanio A. Coronado H.
Figura 11.10. Respuesta paso de un sistema de segundo orden con tiempo muerto
Figura 11.11. Respuesta rampa con tiempo muerto de un sistema de segundo orden
lineal
196
Melanio A. Coronado H.
197
Melanio A. Coronado H.
d 2Y (t )
dY (t )
2
Y (t ) KX (t )
2
dt
dt
(12.1)
G( s)
Y ( s)
K
2
X ( s) s 2 s 1
(12.2)
1
Kh
Y ( s) 2 2
s s 2 s 1
(12.3)
Siendo h la magnitud del cambio paso. La forma de la ecuacin (12.3) hace fcil la
obtencin de su respuesta grfica porque basta con aplicar el comando step a la
expresin encerrada dentro del corchete.
198
Melanio A. Coronado H.
Controles Static Text: Se instalan cinco controles de esta clase (text1, text2,
text3, text4 y text5) para anexar leyendas a los botones (Slider) donde se
manipulan los valores de los datos requeridos para la solucin de la ecuacin
diferencial. Se asignan las propiedades String con las leyendas que se
observan en la Figura 12.1, es decir, Atraso dinmico, Ganancia
estacionaria, Coeficiente de amortiguamiento, Tiempo de simulacin y
Cambio escaln.
2.
Controles Edit Text: Se instalan cinco controles de esta clase (edit2, edit3,
edit4, edit5 y edit6) para que se muestre el valor numrico asignado en cada
correspondiente slider. A cada control Edit Text se le asigna como propiedad
String el valor asignado a la propiedad Value del botn slider que se encuentra
a su izquierda, dichos valores se pueden observar en la Figura 12.1. Adems,
199
Melanio A. Coronado H.
se fija la propiedad Enable con el valor off con el objeto de que estos botones
no sean editables y que el cambio en su propiedad String sea ordenada por el
cdigo programado en el archivo de matlab.
3.
Slider
Propiedad Min
Propiedad Max
Value
Slider1
Slider2
Slider3
Slider4
Slider5
0
0
-3
0
0
10
10
+3
200
10
5
5
0
100
5
La propiedad String de los botones Edit Text se ajusta a los valores de la propiedad
Value de los botones slider que se observan en la tabla anterior.
En la Figura 12.3 se muestra la ventana inspector de propiedades del botn slider1
en donde se observan los valores de las propiedades Min (Valor 0), Max (Valor 10) y
200
Melanio A. Coronado H.
Melanio A. Coronado H.
202
Melanio A. Coronado H.
Inicialmente se capturan los valores de los parmetros dinmicos del sistema en cada
uno de los botones tipo slider. Se plantea entonces la funcin de transferencia de un
sistema de segundo orden capturando la matriz de los datos de tiempo y respuesta
evaluados en el procedimiento de solucin de la ecuacin. Finalmente se grafican
los datos anteriores y se colocan las leyendas para el eje x, el eje y y el ttulo del
grfico. Todo lo anterior dentro de la funcin hace que cuando se despliegue el GUI
se muestre como se observa en la Figura 12.3.
Botn slider1
Con el deslizamiento de la barra de este botn se cambia el valor de la constante de
tiempo y se ejecuta la solucin de la ecuacin diferencial con los valores asignados a
los parmetros de la ecuacin en cada uno de los otros botones slider. El cdigo
elaborado para dicha funcin es el que se muestra a continuacin:
203
Melanio A. Coronado H.
Botn slider2
Con el deslizamiento de la barra de este botn se cambia el valor de la ganancia
estacionaria y se ejecuta la solucin de la ecuacin diferencial con los valores
asignados a los parmetros de la ecuacin en cada uno de los otros botones slider.
El cdigo elaborado para dicha funcin es el que se muestra a continuacin:
204
Melanio A. Coronado H.
Botn slider3
Con el deslizamiento de la barra de este botn se cambia el valor del coeficiente de
amortiguamiento y se ejecuta la solucin de la ecuacin diferencial con los valores
asignados a los parmetros de la ecuacin en cada uno de los otros botones slider.
El cdigo elaborado para dicha funcin es el que se muestra a continuacin:
Botn slider4
Con el deslizamiento de la barra de este botn se cambia el valor del tiempo de la
simulacin y se ejecuta la solucin de la ecuacin diferencial con los valores
205
Melanio A. Coronado H.
asignados a los parmetros de la ecuacin en cada uno de los otros botones slider.
El cdigo elaborado para dicha funcin es el que se muestra a continuacin:
Botn slider5
Con el deslizamiento de la barra de este botn se cambia el valor del cambio escaln
en la variable de entrada y se ejecuta la solucin de la ecuacin diferencial con los
valores asignados a los parmetros de la ecuacin en cada uno de los otros botones
slider. El cdigo elaborado para dicha funcin es el que se muestra a continuacin:
206
Melanio A. Coronado H.
207
Melanio A. Coronado H.
movimiento del cuadro deslizante del correspondiente slider y dejando los valores
de los otros parmetros constantes.
Melanio A. Coronado H.
209
Melanio A. Coronado H.
210
Melanio A. Coronado H.
Melanio A. Coronado H.
Delete y Select All adems de otros submens importantes como Figure properties,
Axes properties, Current Object Properties y Colormap. Otras opciones incluidas
para el borrado de algunos recursos son Clear Figure, Clear Command Window,
Clear Command History y Clear Workspace. A continuacin se explican apartes de
algunas de las opciones incluidas en el men Edit.
(a)
(b)
Melanio A. Coronado H.
Por defecto aparece las opciones para modificar el color de la interfaz (Colormap y
Figure Color), y tambin se puede mostrar o esconder el nmero de la figura (Show
Figure Number) y cambiar el nombre de la ventana (Figure Name). Al presionar el
botn More Properties se despliega el inspector de propiedades de la figura. Si sobre
la interfaz se encuentra algn objeto como una flecha o un rectngulo por ejemplo,
al seleccionarlo se despliega sobre la misma ventana las opciones para cambiar sus
propiedades como color, estilo de lnea, tipo de lnea, etc., adems del botn More
properties que despliega el inspector de propiedades de dicho objeto.
Melanio A. Coronado H.
opcin Figure Properties, es decir, Figure Name, Colormap, Figure Color, Show
Figure Number.
(a)
(b)
Melanio A. Coronado H.
Melanio A. Coronado H.
Las ejecuciones que se alcanzan al presionar cada uno de los botones incluidos en la
barra de herramienta son ampliamente conocidas. Son rutas ms cortas para realizar
ciertas funciones que tambin se pueden ejecutar por otras rutas ms largas como
por ejemplo a travs de opciones incluidas en alguno de los mens.
Con las opciones incluidas en esta barra se manejan aspectos visuales de la figura
como por ejemplo la orientacin espacial, el desplazamiento horizontal o vertical y
la iluminacin, entre otros. Si se acerca el puntero del mouse se pueden observar los
nombres de los atajos as, de izquierda a derecha: Orbit Camera, Orbit Scene Light,
Pan/Tilt Camera, Move Camera Horizontally/Vertically, Move Camera
Forward/Back, Zoom Camera, Roll Camera, Principal Axis X, Principal Axis Y,
Principal Axis Z, No Principal Axis, Toggle Scene Light, Orthografic Projection,
Perspective Projection, Reset Camera and Scene Light y Stop Camera/Light Motion.
216
Melanio A. Coronado H.
Si se acerca el puntero del mouse a cada uno de los iconos de la barra se pueden
observar los nombres de los atajos as, de izquierda a derecha: Color, Edge Color,
Text Color, Font, Bold, Italic, Align Left, Align Center, Align Right, Insert Line,
Insert Arrow, Insert Double Arrow, Insert Text Arrow, Insert TextBox, Insert
Rectangle, Insert Elipse, Pin to axes y Align/Distribute. La Figura 13.10 muestra un
grfico de la funcin peaks incluyendo la barra de herramientas Camera Toolbar,
adems de la barra de mens y de la barra de herramientas Figure Toolbar.
La Figura 13.10 muestra el grfico de la funcin peaks incluyendo la barra Figure
Toolbar, la barra Camera Toolbar y la barra Plot Edit Toolbar.
217
Melanio A. Coronado H.
las opciones son: X Label, Y Label, Z Label, Title, Legend, Colorbar, Line, Arrow,
Text Arrow, Double Arrow, TextBox, Rectangle, Elipse, Axes y Light.
Melanio A. Coronado H.
superior. La Figura 13.12 muestra el grfico de la funcin peaks dentro del espacio
de trabajo de Matlab 2013a despus de haber seleccionado la opcin Dock Figure 1
del men Desktop.
Alrededor de la figura se observan las secciones que se abren, por defecto, con el
espacio de trabajo de Matlab, a la izquierda Current Folder, Details, debajo
Command Window y a la derecha Workspace y Command History. En la parte
superior derecha de la figura incrustada se encuentran un botn para cerrarla y otro
botn que al presionarlo se despliega el men contextual que aparece con las
opciones Minimize, Maximize, Undock, Undock Figure 1 y Close. Si se quiere
desvincular la figura del espacio de trabajo de Matlab se selecciona la opcin
Undock Figure 1 del men contextual.
Se observa que el panel abierto, en este caso, de Matlab es el denominado FIGURE
que muestra las barras que aparecen en la figura. Como un ejemplo de la utilidad de
algunos recursos no explicados anteriormente, se consideran los iconos de la barra
de herramientas nombrados como Hide Plot Tools y Show Plot Tools and Dock
Figure. Al seleccionar el segundo de los anteriores, se anexa a la derecha de la
figura una seccin titulada Plot Browser como se muestra en la Figura 13.13 con dos
cuadros de verificacin seleccionados. Si se omite la verificacin de la opcin
219
Melanio A. Coronado H.
220