Читать книгу: «Modelamiento y simulación de sistemas con Simulink», страница 7

Шрифт:

2.2.3 Componente Axes (ejes)

La aplicación mostrada en la figura 2.7 se realiza sobre la base del componente Axes. Dicha aplicación podría corresponder a una ventana de inicio de otras aplicaciones en la cual se puede establecer textos superpuestos sobre una imagen indicando el nombre del programa, el autor, etcétera; además de poder adicionar botones interactivos o menús desplegables para acceder a otras ventanas.

Figura 2.7. Aplicación con Axes. Fotografía de http://www.flickriver.com

Con la finalidad de replicar la aplicación mostrada en la figura 2.7, se presenta la secuencia con las instrucciones por realizar:

1. Tipear en la ventana de comandos: guide <enter >.

2. En la pestaña Create New GUI seleccionar la opción Blank GUI (Default) y OK.

3. Guardar el archivo (en la carpeta que el usuario crea conveniente) haciendo clic en File-Save as, con el nombre Axes (por ejemplo); y se crearán dos archivos que se abrirán al instante: el archivo Axes.m (contiene el código fuente del GUI) y el archivo Axes.fig. El archivo denominado Axes.m se puede cerrar, ya que principalmente se trabajará con el archivo Axes.fig.

4. Posicionarse en la ventana del archivo Axes.fig y arrastrar con el mouse la componente Axes (cuyo icono se encuentra ubicado en la parte izquierda de dicha ventana) al área de diseño. Posteriormente, redimensionar este componente haciendo que cubra todo el espacio del área de diseño.

5. Luego, en la barra de herramientas hacer clic en el icono que tiene por mensaje Editor y se abrirá instantáneamente el archivo Axes.m; e ir a la ubicación de la siguiente línea de código:

1 function Axes1_OpeningFcn ( hObject , eventdata , handles , varargin )

Posicionarse debajo de esta línea de código y tipear el siguiente grupo de instrucciones:

1 [x,map ]= imread (' Navajo .jpg ' , ' jpg ' );

2 image (x), hold on

3 text (25 ,40 , ' Presentación del Programa ' , ' Fontname ' , ' Arial ' , ' Fontsize ' ,25, ' Fontangle ' , ' Italic ' , ' Fontweight ' , ' Bold ' , ' color ' , ' y ' );

4 text (25 ,75 , ' Por: Miguel Raúl Guzmán Prado ' , ' Fontname ' , ' Comic Sans MS ' , ' Fontangle ' , ' Italic ' , ' Fontweight ' , ' Bold ' , ' Fontsize' ,14, 'color ' , ' c ');

5 text (25 ,100 , ' Ing. Raúl Franco Guzmán López ' , ' Fontname ' , ' Comic Sans MS ' , ' Fontangle ' , ' Italic ' , ' Fontweight ' , ' Bold ' , ' Fontsize ' ,14, ' color ' , ' c ' );

6. Finalmente, guardar los cambios en ambos archivos (Axes.m y Axes.fig) y correr la aplicación desde el archivo Axes.m o desde el archivo Axes.fig.

2.2.4 Componentes Push Button y Panel

La aplicación mostrada en la figura 2.8 se realiza sobre la base de los componentes Push Button y Panel.

Figura 2.8. Aplicación con Push Button y Panel

Esta aplicación presenta la creación de ventanas con diferentes tipos de mensajes: mensaje de advertencia, mensaje de error, mensaje de ayuda, mensaje de información y mensaje con interrogante, los cuales sirven en la orientación del uso adecuado de una aplicación. Dichos mensajes opcionales son enmarcados dentro de un panel para, posteriormente, establecer pertenencias. En orden de arriba hacia abajo, al hacer clic en cada uno de los mensajes se van a abrir las ventanas mostradas en las figuras 2.9, 2.10, 2.11, 2.12 y 2.13.


Figura 2.9. Mensaje de advertencia


Figura 2.10. Mensaje de error


Figura 2.11. Mensaje de ayuda


Figura 2.12. Mensaje personalizado


Figura 2.13. Mensaje de interrogación

Con la finalidad de replicar la aplicación mostrada en la figura 2.8, se presenta la secuencia con las instrucciones a realizar:

1. Tipear en la ventana de comandos: guide <enter >.

2. En la pestaña Create New GUI seleccionar la opción Blank GUI (Default) y OK.

3. Guardar el archivo (en la carpeta que el usuario crea conveniente) haciendo click en File-Save as, con el nombre Push_Button (por ejemplo); y se crearán dos archivos que se abrirán al instante: el archivo Push_Button.m (contiene el código fuente del GUI) y el archivo Push_Button.fig. El archivo denominado Push_Button.m se puede cerrar, ya que principalmente se trabajará con el archivo Push_Button.fig.

4. Posicionarse en la ventana del archivo Push_Button.fig y arrastrar con el mouse la componente Push Button (cuyo icono se encuentra ubicado en la parte izquierda de dicha ventana) al área de diseño 5 veces, para crear los cinco tipos de mensajes. Posteriormente, hacer doble clic en cada uno de los componentes Push Button creados, con lo cual se abrirá su ventana Inspector en donde habrá que ir a la propiedad String para editar los nombres de cada uno de los mensajes Aviso, Error, Ayuda, Información y Pregunta.

5. Seleccionar con el mouse los cinco componentes Push Button creados y luego hacer clic en el icono con mensaje Align Objects ubicado en la barra de herramientas; el cual mostrará una ventana con opciones para realizar el alineamiento vertical y horizontal de dichos componentes.

6. Similarmente a como se agregaron los componentes Push Button, se agregará el componente Panel; luego de agregarlo, redimensionarlo de forma conveniente con respecto a los botones ya creados. Posteriormente, hacer doble clic en el componente Panel creado, con lo cual se abrirá su ventana Inspector en donde habrá que ir a la propiedad Title para editar la frase Mensajes al usuario.

7. Seleccionar los cinco componentes Push Button y arrastrarlos hacia el Panel para darles la ubicación de su presentación final.

8. A continuación, seleccionar un componente Push Button creado y hacer anticlic sobre él; luego, elegir las opciones View Callbacks-Callback y se abrirá instantáneamente el archivo Push_Button.m; tras lo cual ubicarse en la parte final de la línea sombreada, general espacios verticalmente y tipear las siguientes líneas de código:

1 warndlg ( ‘ Esto es un aviso ‘ , ‘ Curso GUIDE ‘ );

2 errordlg ( ‘ Esto es un mensaje de error ‘ , ‘ Curso GUIDE ‘ );

3 helpdlg ( ‘ Esto es una ayuda ‘ , ‘ Curso GUIDE ‘ );

4 msgbox ( ‘ Esto es un cuadro de mensaje personalizado por el usuario ‘ ↵, ‘ Curso GUIDE ‘ );

5 questdlg ( ‘ Esto es una pregunta ‘ , ‘ Curso GUIDE ‘ );

Se aclara que el orden mostrado del código que se debe definir para cada botón va de arriba hacia abajo; en otras palabras, la línea 1 es para el botón Aviso, la línea 2 para el botón Error, y así sucesivamente.

9. Finalmente, guardar los cambios en ambos archivos (Push_Button.m y Push_Button.fig) y proceder a correr la aplicación desde el archivo Push_ Button.m o desde el archivo Push_Button.fig.

2.2.5 Componente Listbox

La aplicación mostrada en la figura 2.14 hace alusión a uno de los alcances del componente Listbox. Esta aplicación presenta una lista de los principales goleadores de los mundiales.

Figura 2.14. Aplicación con Listbox

Con la finalidad de replicar la aplicación mostrada en la figura 2.14, se presenta la secuencia con las instrucciones por realizar:

1. Tipear en la ventana de comandos: guide <enter >.

2. En la pestaña Create New GUI seleccionar la opción Blank GUI (Default) y OK.

3. Guardar el archivo (en la carpeta que el usuario crea conveniente) haciendo click en File-Save as, con el nombre Listbox (por ejemplo); y se crearán dos archivos que se abrirán al instante: el archivo Listbox.m (contiene el código fuente del GUI) y el archivo Listbox.fig. El archivo denominado Listbox.m se puede cerrar, ya que principalmente se trabajará con el archivo Listbox.fig.

4. Posicionarse en la ventana del archivo Listbox.fig y arrastrar con el mouse la componente Listbox (cuyo icono se encuentra ubicado en la parte izquierda de dicha ventana) al área de diseño. Similarmente, añadir dos veces el componente Static Text; uno de ellos será usado para el título y el otro para dar una breve descripción de cada jugador.

5. Hacer doble clic sobre el componente Listbox creado, con lo cual se abrirá su ventana Inspector donde habrá que ir a la propiedad String para ingresar por línea los siguientes nombres: Miroslav Klose, Ronaldo, Gerd Müller, Just Fontaine, Pelé, Jürgen Klinsmann, Sandor Kocsis, Gabriel Batistuta, Teófilo Cubillas, Crzegorz Lato, Gary Lineker, Thomas Müller y Helmut Rahn. Posteriormente, redimensionar el Listbox con respecto a la lista de nombres ingresada.

6. Hacer doble click sobre el componente Static Text (correspondiente al título del ejemplo), con lo cual se abrirá su ventana Inspector en donde habrá que ir a la propiedad String para ingresar la frase Goleadores de los mundiales. De ser necesario, modificar la ubicación y tamaño de dicho componente.

7. Ahora, hacer doble clic sobre el otro componente Static Text (correspondiente a una breve descripción del jugador), con lo cual se abrirá su ventana Inspector donde habrá que ir a la propiedad String para ingresar la frase 16 goles en 24 partidos durante 4 mundiales jugando por la selección. De ser necesario, modifíquese la ubicación y el tamaño de dicho componente.

8. A continuación, seleccionar el componente Listbox creado y hacer anticlic sobre él; luego, elegir las opciones View Callbacks-Callback y se abrirá instantáneamente el archivo Listbox.m; tras lo cual ubicarse en la parte final de la línea sombreada, generar espacios verticalmente y tipear las siguientes líneas de código:

1 info =get( hObject , ' Value ' );

2 if info == 1

3 set( handles .text1 , ' string ' , ' 16 goles en 24 partidos durante 4 mundiales jugando por la selección de Alemania ' );

4 elseif info == 2

5 set( handles .text1 , ' string ' , ' 15 goles en 19 partidos durante 4 mundiales jugando por la selección de Brasil ' );

6 elseif info == 3

7 set( handles .text1, ' string ' , ' 14 goles en 13 partidos durante 2 mundiales jugando por la selección de Alemania ' );

8 elseif info == 4

9 set( handles .text1, ' string ' , ' 13 goles en 6 partidos durante 1 mundiales jugando por la selección de Francia ' );

10 elseif info == 5

11 set( handles .text1, ' string ' , ' 12 goles en 14 partidos durante 4 mundiales jugando por la selección de Brasil ' );

12 elseif info == 6

13 set( handles .text1, ' string ' , ' 11 goles en 17 partidos durante 3 mundiales jugando por la selección de Alemania ' );

14 elseif info == 7

15 set( handles .text1, ' string ' , ' 11 goles en 5 partidos durante 1 mundiales jugando por la selección de Hungría ' );

16 elseif info == 8

17 set( handles .text1, ' string ' , ' 10 goles en 12 partidos durante 3 mundiales jugando por la selección de Argentina ' );

18 elseif info == 9

19 set( handles .text1, ' string ' , ' 10 goles en 13 partidos durante 3 mundiales jugando por la selección de Perú ' );

20 elseif info == 10

21 set( handles .text1, ' string ' , ' 10 goles en 20 partidos durante 3 mundiales jugando por la selección de Polonia ' );

22 elseif info == 11

23 set( handles .text1, ' string ' , ' 10 goles en 12 partidos durante 2 mundiales jugando por la selección de Inglaterra ' );

24 elseif info == 12

25 set( handles .text1, ' string ' , ' 10 goles en 13 partidos durante 2 mundiales jugando por la selección de Alemania ' );

26 else

27 set( handles .text1, ' string ' , ' 10 goles en 10 partidos durante 2 mundiales jugando por la selección de Alemania ' );

28 end

9. Finalmente, guardar los cambios en ambos archivos (Listbox.m y Listbox. fig) y proceder a correr la aplicación desde el archivo Listbox.m o desde el archivo Listbox.fig.

2.2.6 Componente Table

La aplicación mostrada en la figura 2.15 hace alusión a uno de los alcances del componente Table. Dicha aplicación inserta en una tabla una matriz mágica (matriz cuya suma obtenida de sus componentes por fila, columna y diagonal resulta ser la misma), previa asignación del orden de dicha matriz cuadrada.

Figura 2.15. Aplicación con Table

Con la finalidad de replicar la aplicación mostrada en la figura 2.15, se presenta la secuencia con las instrucciones a realizar:

1. Tipear en la ventana de comandos: guide <enter >.

2. En la pestaña Create New GUI seleccionar la opción Blank GUI (Default) y OK.

3. Guardar el archivo (en la carpeta que el usuario crea conveniente) haciendo clic en File-Save as, con el nombre Table (por ejemplo); y se crearán dos archivos que se abrirán al instante: el archivo Table.m (contiene el código fuente del GUI) y el archivo Table.fig. El archivo denominado Table.m se puede cerrar, ya que principalmente se trabajará con el archivo Table.fig.

4. Posicionarse en la ventana del archivo Table.fig y arrastrar con el mouse la componente Table (cuyo icono se encuentra ubicado en la parte izquierda de dicha ventana) al área de diseño. Similarmente, añadir los componentes Static Text, Edit Text y Push Button; considerar el mismo orden presentado en la figura 2.15.

5. Hacer doble clic sobre el componente Static Text, con lo cual se abrirá su ventana Inspector donde habrá que ir a la propiedad String para ingresar la frase Orden de la matriz cuadrada:. De ser necesario, modificar la ubicación y tamaño de dicho componente. Seguidamente, lo mismo para el componente Edit Text, pero en esta ocasión en la propiedad String se borrará el contenido predeterminado. Por último, en la propiedad String del componente Push Button se ingresa la palabra Insertar.

6. A continuación, seleccionar el componente Push Button creado y hacer anticlic sobre él; luego, elegir las opciones View Callbacks-Callback y se abrirá instantáneamente el archivo Table.m; tras lo cual, ubicarse en la parte final de la línea sombreada, generar espacios verticalmente y tipear las siguientes líneas de código:

1 numero = str2double (get( handles .edit1 , ' String ' ));

2 set( handles . uitable1 , ' data ' ,magic ( numero ))

7. Finalmente, guardar los cambios en ambos archivos (Table.m y Table.fig) y proceder a correr la aplicación desde el archivo Table.m o desde el archivo Table.fig.

2.2.7 Componente Slider

La aplicación mostrada en la figura 2.16 hace alusión a uno de los alcances del componente Slider. Dicha aplicación presenta el uso de la componente Slider para aumentar o disminuir el ancho de línea de un trazo determinado.

Figura 2.16. Aplicación con Slider

Con la finalidad de replicar la aplicación mostrada en la figura 2.16, se presenta la secuencia con las instrucciones por realizar:

1. Tipear en la ventana de comandos: guide <enter >.

2. En la pestaña Create New GUI seleccionar la opción Blank GUI (Default) y OK.

3. Guardar el archivo (en la carpeta que el usuario crea conveniente) haciendo clic en File-Save as, con el nombre Slider (por ejemplo); y se crearán dos archivos que se abrirán al instante: el archivo Slider.m (contiene el código fuente del GUI) y el archivo Slider.fig. El archivo denominado Slider.m se puede cerrar, ya que principalmente se trabajará con el archivo Slider.fig.

4. Posicionarse en la ventana del archivo Slider.fig y arrastrar con el mouse el componente Slider (cuyo icono se encuentra ubicado en la parte izquierda de dicha ventana) al área de diseño. Similarmente, añadir el componente Axes; considerar el mismo orden presentado en la figura 2.16.

5. Hacer doble clic sobre el componente Slider, con lo cual se abrirá su ventana Inspector donde habrá que ir a las propiedades Min y Max para ingresar los números 0 y 10, respectivamente.

6. Luego, en la barra de herramientas hacer clic en el icono que tiene por mensaje Editor y se abrirá instantáneamente el archivo Slider.m; en el cual ubicarse en la parte final de la siguiente línea de código:

3 function Axes1_OpeningFcn ( hObject , eventdata , handles , varargin )

Ahora, posicionarse debajo de esta línea de código y tipear el siguiente grupo de instrucciones:

1 x = 0:0.02:25;

2 y = sin(x);

3 plot (x,y)

4 grid on

5 set(gca , ‘ GridAlpha ‘ ,0.40);

7. Retornando al archivo Slider.fig, seleccionar el componente Slider creado y hacer anticlic sobre él; luego, elegir las opciones View Callbacks-Call-back y se abrirá instantáneamente el archivo Slider.m; tras lo cual ubicarse en la parte final de la línea sombreada, generar espacios verticalmente y tipear las siguientes líneas de código:

1 numero = get( hObject , ' Value ' )

2 x = 0:0.02:25;

3 y = sin(x);

4 if numero == 0

5 plot (x,y)

6 grid on

7 set(gca , ' GridAlpha ' ,0.40);

8 else

9 plot (x,y, ' Linewidth ' ,numero )

10 grid on

11 set(gca , ' GridAlpha ' ,0.40);

12 End

8. Finalmente, guardar los cambios en ambos archivos (Slider.m y Slider. fig) y proceder a correr la aplicación desde el archivo Slider.m o desde el archivo Slider.fig.

2.2.8 Componente Check Box

La aplicación mostrada en la figura 2.17 hace alusión a uno de los alcances del componente Check Box. En esta aplicación se plantea elegir el tipo de línea (continua o discontinua) para trazar una función, fijar una cuadrícula para acompañar al trazo y la posibilidad de establecer los componentes Check Box y Axes a su configuración inicial.

Figura 2.17. Aplicación con Check Box

Con la finalidad de replicar la aplicación mostrada en la figura 2.17 se presenta la secuencia con las instrucciones por realizar:

1. Tipear en la ventana de comandos: guide <enter >.

2. En la pestaña Create New GUI seleccionar la opción Blank GUI (Default) y OK.

3. Guardar el archivo (en la carpeta que el usuario crea conveniente) haciendo clic en File-Save as, con el nombre Check_Box (por ejemplo); y se crearán dos archivos que se abrirán al instante: el archivo Check_Box.m (contiene el código fuente del GUI) y el archivo Check_Box.fig. El archivo denominado Check_Box.m se puede cerrar, ya que principalmente se trabajará con el archivo Check_Box.fig.

4. Posicionarse en la ventana del archivo Check_Box.fig y arrastrar con el mouse la componente Check Box (cuyo icono se encuentra ubicado en la parte izquierda de dicha ventana) al área de diseño dos veces. Similarmente, añadir dos veces el componente Push Button y una vez el componente Axes; considerar el mismo orden presentado en la figura 2.17.

5. Hacer doble clic sobre el primer componente Check Box, con lo cual se abrirá su ventana Inspector en donde habrá que ir a la propiedad String para ingresar la frase Línea discontinua. Similarmente, lo mismo para el segundo componente Check Box, pero en esta ocasión en la propiedad String ingresar la palabra Cuadrícula. Seguidamente, lo mismo para los componentes Push Button, donde en la propiedad String de uno se ingresará la palabra Gráfica y en la propiedad String del otro se ingresará la palabra Limpiar.

6. Seleccionar el componente Push Button de nombre Gráfica y hacer anticlic sobre él; luego, elegir las opciones View Callbacks-Callback y se abrirá instantáneamente el archivo Check_Box.m; tras lo cual, ubicarse en la parte final de la línea sombreada, aperturar espacios verticalmente y tipear las siguientes líneas de código:

1 valor1 =get( handles . checkbox1 , ' Value ' )

2 valor2 =get( handles . checkbox2 , ' Value ' )

3 x =[0:0.01:15];

4 y=sin (2*x);

5 if valor1 ==0 & valor2 ==0

6 plot (x,y)

7 elseif valor1 ==1 & valor2 ==0

8 plot (x,y, ' -- ' )

9 elseif valor1 ==0 & valor2 ==1

10 plot (x,y)

11 grid on

12 else

13 plot (x,y, ' -- ' )

14 grid on

15 End

7. Seleccionar el componente Push Button de nombre “Limpiar” y hacer anticlic sobre él; luego, elegir las opciones View Callbacks-Callback y se abrirá instantáneamente el archivo Check_Box.m; tras lo cual, ubicarse en la parte final de la línea sombreada, generar espacios verticalmente y tipear las siguientes líneas de código:

1 cla

2 set( handles . checkbox1 , ' Value ' ,0)

3 set( handles . checkbox2 , ' Value ' ,0)

4 grid off

8. Finalmente, guardar los cambios en ambos archivos (Check_Box.m y Check_Box.fig) y proceder a correr la aplicación desde el archivo Check_ Box.m o desde el archivo Check_Box.fig.

Покупайте книги и получайте бонусы в Литрес, Читай-городе и Буквоеде.

Участвовать в бонусной программе

Жанры и теги

Возрастное ограничение:
0+
Объем:
599 стр. 649 иллюстраций
ISBN:
9789972455339
Издатель:
Правообладатель:
Bookwire
Формат скачивания:
Текст
Средний рейтинг 2 на основе 1 оценок
По подписке
Текст, доступен аудиоформат
Средний рейтинг 0 на основе 0 оценок
Аудио
Средний рейтинг 5 на основе 1 оценок
Подкаст
Средний рейтинг 0 на основе 0 оценок
Текст
Средний рейтинг 5 на основе 5 оценок
По подписке
Текст PDF
Средний рейтинг 0 на основе 0 оценок
Подкаст
Средний рейтинг 0 на основе 0 оценок
Текст PDF
Средний рейтинг 5 на основе 1 оценок
По подписке