Ataurima-Arellano, M. (2014) Introducción Al Modelamiento de Sistemas Dinámicos Con Simulink

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

Introduccin al Modelamiento de Sistemas Dinmicos con Simulink

Miguel Ataurima Arellano


[email protected]

24 de febrero de 2014

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

ndice
1. Simulink 1.1. Diseo basado en modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Caractersticas Principales de Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. Principios de Operacin y Gestin de Simulink 2.1. Construccin de un Diagrama de Bloques Simulink . . . . . . . . . . 2.2. Parametrizacin de los Bloques Simulink y de la Simulacin . . . . . 2.2.1. Parametrizacin de los Bloques . . . . . . . . . . . . . . . . 2.2.2. Parametrizacin de Simulacin (Parmetros Generales) . . . 3. Solucin de Ecuaciones Diferenciales con Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4 6 7 13 25 25 41 54

EXPOSITOR: Miguel Ataurima Arellano

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

1.

Simulink
Es un entorno de diagramas de bloque para la simulacin multidominio y el diseo basado en modelos . Admite el diseo y la simulacin a nivel de sistema, la generacin automtica de cdigo y la prueba y vericacin continuas de los sistemas embebidos. Simulink ofrece un editor grco, bibliotecas de bloques personalizables y un conjunto de solvers, para modelar y simular sistemas dinmicos. Se integra con MATLAB; sin embargo, su cdigo fuente no es abierto.

EXPOSITOR: Miguel Ataurima Arellano

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

1.1.

Diseo basado en modelos


Modelar un sistema dinmico implica la especicacin de procesos lineales o no lineales dependientes del tiempo, que pueden ser descritos usando: Ecuaciones diferenciales (tiempo continuo) o ecuaciones en diferencia (tiempo discreto), o Diagramas de bloque. Los diagramas de bloques son un intento de entender el comportamiento del sistema por medio de una representacin grca, que esencialmente consiste de: Bloques, que son representaciones de los componentes individuales del sistema, y Flujos de seales, que relacionan las salidas con las entradas entre las bloques. Simulink representa los sistemas dinmicos mediante diagramas de bloques , para ello usa una interfaz grca para convertir un diagrama de bloques de esta clase (casi) directamente en un modelo Simulink y luego simular el funcionamiento del sistema. Un uso bien fundamentado de Simulink requiere ciertos conocimientos de tecnologa de control y la teora de sistemas.

EXPOSITOR: Miguel Ataurima Arellano

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

Los sistemas dinmicos continuos se describen por ecuaciones diferenciales; por lo tanto, cuando se describe el sistema con un diagrama de bloques y se simula la reaccin del sistema a una seal de entrada, se est buscando la solucin numrica de la ecuacin diferencial en la que se basa el sistema. Toda ecuacin diferencial que se desee resolver numricamente con Simulink, deber ser convertida en un diagrama de bloques. OBSERVACIN: En este nivel introductorio nos limitaremos a un tema central, la solucin numrica de simples ecuaciones diferenciales.

EXPOSITOR: Miguel Ataurima Arellano

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

1.2.

Caractersticas Principales de Simulink


Editor grco para crear y gestionar diagramas de bloques jerrquicos. Bibliotecas de bloques predenidos para modelar sistemas continuos y discretos. Motor de simulacin con solvers de ecuaciones diferenciales ordinarias de paso jo y paso variable. Scopes y data displays para ver los resultados de la simulacin. Herramientas de gestin de proyectos y datos para administrar los archivos y los datos del modelo. Herramientas de anlisis de modelos para perfeccionar la arquitectura del modelo y aumentar la velocidad de simulacin. Bloque MATLAB Function para importar algoritmos de MATLAB en modelos. Legacy Code Tool para importar cdigo C y C++ a los modelos.

EXPOSITOR: Miguel Ataurima Arellano

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

2.

Principios de Operacin y Gestin de Simulink


El programa se inicia desde la ventana de comandos de MATLAB. Las tres formas de iniciar Simulink son:

1. Desde la Ventana de Comandos, digitamos el comando >> simulink aperturndose a continuacin el Simulink Library Browser.

EXPOSITOR: Miguel Ataurima Arellano

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

El Simulink Library Brower (SLB) visualiza las bibliotecas de bloques disponibles (segn la instalacin) organizadas en grupos funcionales, los cuales a su vez pueden contener subgrupos.

EXPOSITOR: Miguel Ataurima Arellano

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

Por defecto, el SLB se posiciona en la biblioteca Simulink, la cual contiene: La biblioteca Sources, conteniendo bloques para la produccin de seales (funciones):

EXPOSITOR: Miguel Ataurima Arellano

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

La biblioteca Continuous, conteniendo bloques bsicos para el tratamiendo de Seales en tiempo contnuo.

y muchas otras ms.

EXPOSITOR: Miguel Ataurima Arellano

10

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

2. Si contamos con un archivo modelo, por ejemplo lowpass_filter.mdl, usaremos el comando >> open_system(lowpass_filter.mdl) cargndose en memoria y visualizndose grcamente el modelo Simulink del sistema dinmico que representa.

EXPOSITOR: Miguel Ataurima Arellano

11

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

3. Si se desea solo trabajar con la biblioteca Simulink, usaremos el comando >> open_system(simulink.mdl) apareciendo una ventana en la cual los smbolos para las diferentes clases de bloques de funciones son solo visulizadas en forma de conos.

EXPOSITOR: Miguel Ataurima Arellano

12

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

2.1.

Construccin de un Diagrama de Bloques Simulink


Si se desea crear nuestro propio sistema de simulacin usando las bibliotecas de bloque, primero se tiene abrir una ventana vaca seleccionando la opcin File|New Model en el SLB.

EXPOSITOR: Miguel Ataurima Arellano

13

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

Inmediatamente se visualizar el entorno de trabajo para la creacin del modelo Simulink (*.mdl)

Los modelos (diagramas de bloques) ya existentes pueden ser abiertos bajo sus nombres de archivo seleccionando la opcin File | Open. OBSERVACIN: Es recomendable que una ventana vaca sea guardada inmediatamente con algn nombre de archivo adecuado como un archio mdl (mdl=model) usando la opcin File|Save As.
EXPOSITOR: Miguel Ataurima Arellano 14 [email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

EJEMPLO: Crear un modelo con los bloques que permitan gracar una seal senoidal y obtenga su integral. Para esto realizaremos los siguientes pasos: 1. Iniciamos Simulink 2. Creamos un Nuevo Modelo 3. Guardamos el nuevo modelo con el nombre de archivo s_test1.mdl 4. Aadir el bloque Sine Wave que permitir simular la seal senoidal Para esto, a partir del SLB abrimos la biblioteca de bloques Simulink (visualizada por defecto), nos dirigimos a la subbiblioteca Sources y nalmente con el mouse arrastramos el bloque Sine Wave hacia el modelo s_test1. (OPCIONAL) Si no se desea usar el nombre sine wave, entonces se puede dar clic con el mouse en la lnea de texto sine wave y editar el nombre con el teclado. De esta manera renombramos el bloque como Fuente.

EXPOSITOR: Miguel Ataurima Arellano

15

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

El sistema s_test1.mdl tendr una forma como la siguiente

EXPOSITOR: Miguel Ataurima Arellano

16

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

5. Aadir el bloque Integrator que permita integrar la seal de salida del bloque Fuente Para esto, a partir del SLB abrimos la biblioteca de funciones Continous. Arrastramos el bloque Integrator a partir de esta biblioteca a la ventana de s_test1 y usando el mouse conectamos la salida del bloque Fuente a la entrada del bloque Integrator . Al inicio la habilidad para hacer la conexin toma algo de prctica.

EXPOSITOR: Miguel Ataurima Arellano

17

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

NOTA: Es siempre mejor dibujar la lnea de conexin en sentido opuesto a la direccin de propagacin de la seal desde la entrada del bloque objetivo haca la salida del bloque fuente; esto es, desde el Integrador hacia la Seal Fuente en este ejemplo. en el bloque Integrator, esta relacionada con la transformada NOTA: Obseve que la entrada 1 s de Laplace de la integracin. Muchos de los bloques de funciones lineales estn caracterizados por la transformada de Laplace o la Transformada Z (la contraparte discreta de la transformada de Laplace).

EXPOSITOR: Miguel Ataurima Arellano

18

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

6. Extender el sistema de prueba s_test1 de tal manera que la seal senoidal y su integral puedan ser vistas en una nica ventana. Para hacer esto: a) Elegimos el bloque Simulink|Signal Routing|Mux y lo aadimos al sistema. b ) Elegimos el bloque Simulink|Sinks|Scope y lo aadimos al sistema.

EXPOSITOR: Miguel Ataurima Arellano

19

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

c ) Luego, realizamos las siguientes interconexiones: 1) La salida del bloque Seal Fuente con la entrada del bloque Integrator, 2) La salida del bloque Integrator con la primera entrada del bloque Mux, y 3) La salida del bloque Mux con la entrada del bloque Scope.

EXPOSITOR: Miguel Ataurima Arellano

20

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

NOTA: Conexin entre bloques (Interconexin: Bloque-Bloque) El puntero del mouse posee el aspecto cotidiando de una echa (seleccin normal). Cuando se desea hacer una interconexin de bloques, el puntero del mouse debe ser dirigido hacia alguno de los puertos de entrada o salida de algun bloque Simulink y slo cuando cambia su aspecto al de una cruz (seleccin precisa), es que cualquier evento (clic izquierdo, clic derecho, doble clic, etc.) que se d en ese instante estar asociado a dicho puerto de entrada o salida. Para realizar una conexin en Simulink lo que se debe hacer es dirigir el mouse haca algn puerto (de entrada o salida) de algn bloque de inters, constantar que el puntero del mouse adopte la forma de una cruz, y en se instante dar clic izquierdo del mouse y sin dejar de presionar el botn izquierdo dirigir el puntero hacia el puerto (de entrada o salida) o alguna seal (lnea de interconexin), con quien deseamos establecer una nueva interconexin, durante este proceso la lnea de interconexin (incompleta an) se mostrar con guiones rojos (lo cual indica que la conexin aun no esta terminada o no es reconocida) y slo cuando se muestre como una lnea negra continua es que la conexin ya es reconocida y recin podemos soltar el botn izquierdo del mouse para denir la nueva interconexin.

EXPOSITOR: Miguel Ataurima Arellano

21

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

Tomando en cuenta la nota anterior, procedemos a realizar las tres interconexiones solicitadas

EXPOSITOR: Miguel Ataurima Arellano

22

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

d ) Finalmente, pasamos la seal de salida del bloque Fuente a la segunda entrada del bloque Mux. NOTA: Paso de una seal a un bloque (Interconexin: Seal-Bloque) Slo cuando se desea que una seal de salida transmitida por medio de una lnea de inerconexin hacia otro bloque destino, sea pasada (sin que se deje de seguir enviando la misma seal hacia el bloque al que originalmente llega la seal) a un nuevo bloque destino, es que tenemos que desarrollar la conexin a partir del puerto de entrada del nuevo bloque destino hacia algn punto de la lnea de interconexin de donde queremos obtener la seal.

EXPOSITOR: Miguel Ataurima Arellano

23

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

Tomando en cuenta la nota anterior, procedemos a realizar las la interconexin del segundo puerto de entrada del bloque Mux con algn punto sobre la lnea (portadora de la seal) que conecta los bloques Seal Fuente e Integrator

EXPOSITOR: Miguel Ataurima Arellano

24

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

2.2.
2.2.1.

Parametrizacin de los Bloques Simulink y de la Simulacin


Parametrizacin de los Bloques

Para asignar valores a los parmetros de cada bloque, deberemos de abrir la lista de parmetros del bloque dndo doble clic en el correspondiente smbolo del bloque.

EXPOSITOR: Miguel Ataurima Arellano

25

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

EJEMPLO: Crear un modelo con los bloques que permitan gracar una seal senoidal y obtenga su integral. Para esto realizaremos los siguientes pasos: 1. Abra la lista de parmetros del bloque Mux y constante que: a) El parmetro Number of inputs esta predenido en el valor 2. b ) El parmetro Display Options esta predenido en la opcin bar.

EXPOSITOR: Miguel Ataurima Arellano

26

[email protected]

y put)

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

2. Abra la lista de parmetros del bloque Fuente (Sine Wave) e identique sus valores por defecto
TIPO: Basado en el tiempo TIPO: Basado en la muestra

y(t )

A sin( t

y(t )

A sin(2 (k

o) / p)

A b

A b p o

EXPOSITOR: Miguel Ataurima Arellano

27

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

Luego, modique los valores de los siguientes parmetros Sine type: Time based Amplitude: 2 Frequency (rad/sec): 2*pi Phase (rad): pi/4 Los valores de los restantes parmetros quedan inalterados.

EXPOSITOR: Miguel Ataurima Arellano

28

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

3. Abra la lista de parmetros del bloque Integrator e identique sus valores por defecto.
Smbolo del Bloque Integrator
y(t )

Parmetros del Bloque Integrator

1 s
y(t0 )

y(t )

Ecuacin del Bloque Integrator


dy dt dy
t t0

y(t ) y(t )dt


t t0 t t0

dy

y( )d y( )d

y(t )

y(t0 )

y(t )

y(t0 )

t t0

y( )d

donde

t0 : Start Time y(t0 ) : Initial Condition

EXPOSITOR: Miguel Ataurima Arellano

29

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

utilizando la notacin de los manuales de Simulink, hacemos u (t) = y (t), quedando como ecuacin del bloque
t

y (t) =
t0

u ( ) d + y (t0 )

En este caso, dejaremos todos los parmetros con sus valores por defecto. Ntese que por defecto la condicin inicial es y (t0 ) = 0.

EXPOSITOR: Miguel Ataurima Arellano

30

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

4. Abra la lista de parmetros del bloque Scope e identique sus valores por defecto. Para acceder a los parmetros del bloque Scope deberemos en primer lugar, dar doble clic en el bloque Scope y luego dar clic en el botn Parameters. Los parmetros se visualizarn a continuacin distribuidos en tres paneles General, History y Style. En la siguiente gura mostramos solo dos paneles.

EXPOSITOR: Miguel Ataurima Arellano

31

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

1. Doble clic en el bloque Scope 2. Clic en Parmetros

EXPOSITOR: Miguel Ataurima Arellano

32

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

En la pestaa General, se presentan dos paneles Axes, en donde se puede especicar en la propiedad Number of axes el nmero de entradas (ejes) que tendr el bloque Scope (por defecto, 1), el rango de tiempo en la propiedad Time Range, y otras propiedades mas que sern detalladas en su momento. Sampling, ser detallada ms adelante. En la pestaa History, se presentan dos casillas de vericacin: Limit data points to last (por defecto activada) restringe la cantidad de puntos (observaciones de la muestra total) que se han de gracar en el bloque Scope a un valor determinado (5000 por defecto). En caso nuestra simulacin exceda del lmite solo se gracar la ltima parte tal que no exceda del maximo. En caso no deseemos esta restriccin simplemente desactivamos la casilla. Save data to workspace (por defecto desactivada) nos brinda la posibilidad de que la seal de lectura del bloque Scope sea almacenada directamente como una variable de MATLAB. Para lo cual se deber de activar e ingresar un nombre para la variable en la propiedad Variable name y especicar uno de los posibles formatos de escritura: Estructura con tiempo (por defecto), Estructura y Arreglo.

EXPOSITOR: Miguel Ataurima Arellano

33

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

NOTA: La visualizacin de la seal en el bloque Scope es congurable solo despus de la simulacin a travs de los botones de la barra de herramientas. Como el Scope no se abre automticamente despus de la simulacin, ste debe ser abierto manualmente (despus de la simulacin). Ahora, modique los valores de los parmetros de la pestaa History: Limit data points to last: Desactivado Save data to workspace: Activado Variable Name: S_test1_signals Format: Array

EXPOSITOR: Miguel Ataurima Arellano

34

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

5. Aadir anotaciones al modelo Consiste en aadir texto de manera libre en el modelo de tal forma que podamos describirlo, esto es, colocar un ttulo, sus detalles de su creacin (autor, ltima fecha de modicacin, etc.), etc. Es el equivalente a aadir comentarios (documentar) a un cdigo fuente. Para lograr esto bastar con dar doble clic en la parte libre del modelo donde sea necesario insertar texto, y proceder a redactarlo. Por ejemplo, aadamos en el centro de la parte superior el ttulo Ejemplo de un simple sistema Simulink, y en el centro de la parte inferior datos de la fecha de creacin y el autor.

EXPOSITOR: Miguel Ataurima Arellano

35

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

Ambos textos son editables, se puede arrastar con el mouse hacia alguna nueva posicin deseada, pueden ser editados dndoles doble clic, y se le pueden especicar propiedades dndoles clic derecho y eligiendo la opcin Properties.
EXPOSITOR: Miguel Ataurima Arellano 36 [email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

6. Etiquetar las seales Para ello bastar con dar doble clic sobre las echas portadoras de seal y de inmediato digitar la etiqueta deseada. Estas etiquetas se desplazarn junto con las echas portadoras de seal asociadas de manera automtica. En nuestro ejemplo, asignemos la etiqueta Fuente a seal de salida del bloque Fuente y la etiqueta Integral a la seal de salida del bloque Integrator. En caso sea necesario desplace con el mouse el nodo que pasa la seal de la Fuente al bloque Mux.

EXPOSITOR: Miguel Ataurima Arellano

37

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

EXPOSITOR: Miguel Ataurima Arellano

38

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

Luego, cambiamos el parmetro Display Options del bloque Mux al valor signals, redimensionamos el bloque y nalmente observamos que las etiquetas de las seales son visualizadas en las entradas del bloque Mux.

EXPOSITOR: Miguel Ataurima Arellano

39

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

7. Guardar los cambios realizados en el sistema (parametrizacin y anotaciones) Para ello eligiremos File|Save.

EXPOSITOR: Miguel Ataurima Arellano

40

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

2.2.2.

Parametrizacin de Simulacin (Parmetros Generales)

Nos permitir establecer valores para la duracin de la simulacin, los procedimientos de solucin numricos, etc. Esto lo lograremos eligiendo Simulation|Model Conguration Parameters.

EXPOSITOR: Miguel Ataurima Arellano

41

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

EJEMPLO: Establecer los siguientes parmetros de simulacin al sistema creado en el ejemplo anterior. Tiempo de Simulacin [t0 , T ] (en segundos) Inicio de Simulacin (t0 , Start Time) : 0 Finalizacin de Symulacin (T , Stop Time): 20 Opciones del Solver Tipo (Type) Paso Fijo (Fixed-step) Solver (Mtodo de ntegracin numrica) ode3 (Bogacki-Shampine1 ) Tamao del paso jo 0.01
El mtodo Bogacki-Shampine es un mtodo para la solucin numrica de ecuaciones diferenciales ordinarias , que fue propuesta por Przemyslaw Bogacki y Lawrence F. Shampine en 1989 ( Bogacki y Shampine 1989 ). El mtodo BogackiShampine es un mtodo de Runge-Kutta de orden tres con cuatro etapas con la propiedad First Same As Last (FSAL), de modo que se utiliza aproximadamente tres evaluaciones de la funcin por paso. Tiene un mtodo de segundo orden interno que puede ser utilizado para implementar un tamao de paso adaptativo.
1

EXPOSITOR: Miguel Ataurima Arellano

42

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

Para esto realizaremos los siguientes pasos: 1. Abrir la ventana de conguracin de los parmetros del modelo Para ello elegimos Simulation|Model Conguration Parameters. Visualice los valores de los parmetros por defecto, grupo de parmetros Solver

EXPOSITOR: Miguel Ataurima Arellano

43

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

EXPOSITOR: Miguel Ataurima Arellano

44

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

Aqu es relevante distinguir lo siguiente: En el panel izquierdo se presentan la vista de rbol Select:, que organiza la totalidad de parmetros requeridos para llevar a cabo la simulacin del modelo. Por defecto, se tiene seleccionada la opcin Solver. En el panel derecho se visualizarn sub-paneles que agrupan, por categoras, a los parmetros pertenecientes a la opcin seleccionada en el Panel Izquierdo. Por defecto, al tener seleccionada la opcin Solver, se visualizarn los parmetros vinculados a dicha opcin. Luego, elegir el grupo de parmetros Data Import/Export en el Panel Izquierdo y visualice los parmetros asociados

EXPOSITOR: Miguel Ataurima Arellano

45

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

EXPOSITOR: Miguel Ataurima Arellano

46

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

2. En el grupo de parmetros Solver: Realizar las modicaciones solicitadas en el enunciado del ejemplo; y Desactive la restriccin que limita el amacenamiento de las variables tiempo, estados y salida conformada por una cantidad ja de ultimos puntos (observaciones); para ello desactivamos la casilla de vericacin Limits data points to last del grupo de parmetros Data Import/Export. 3. Iniciar la simulacin y visualizar las seales de salida resultantes de la simulacin Para iniciar la simulacin del modelo, elegimos Simulation|Run o damos clic en Luego, para visualizar los resultados damos doble clic al bloque Scope.

EXPOSITOR: Miguel Ataurima Arellano

47

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

EXPOSITOR: Miguel Ataurima Arellano

48

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

4. Visualizamos las variables de salida resultantes de la simulacin Estas variables son las que hemos congurado para que sean almacenadas en el workspace al nalizar la simulacin. Para ello, desde la ventana de comando digitamos el comando whos vericando la presencia de las variables S_test1_signals y tout >> whos Name Size Bytes Class Attributes S_test1_signals 1x1 49066 struct tout 2001x1 16008 double

5. Analicemos los campos que componen la estructura S_test1_signals >> S_test1_signals S_test1_signals = time: [2001x1 double] signals: [1x1 struct] blockName: s_test1/Scope

observamos que: La variable time contiene valores de simulacin desde 0 (start time) hasta 20 (stop time) con un paso jo de 0.01 (xed-step), razon por la cual ste vector contiene 2001 elementos (observaciones);
EXPOSITOR: Miguel Ataurima Arellano 49 [email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

La variable blockName es una cadena de texto que contiene el nombre del modelo seguido del bloque en el que se haya la salida; y,

La variable signals es a su vez otra estructura cuyos campos se muestran a continuacin

>> S_test1_signals.signals ans = values: [2001x2 double] dimensions: 2 label: title: plotStyle: [0 0]

6. Observamos que la variable values, contiene las dos seales de salida, una por columna. Por lo tanto, podemos tambin visualizar la grca resultando digitando desde la ventana de comandos

>> plot(tout,S_test1_signals.signals.values) >> ylim([-5 5])

Obteniendo como resultado

EXPOSITOR: Miguel Ataurima Arellano

50

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

EXPOSITOR: Miguel Ataurima Arellano

51

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

Ejercicios
1. Pruebe el sistema s_test1 con diferentes tamaos paso de simulacin y usando el parmetro step size. Compare, en particular, el clculo del tiempo (nmero de observaciones) para un tamao de paso de 0.00001, usando ode3 (paso jo) directamente con step size; y luego, con la respuesta usando ode23 (paso variable). Interpretar los resultados. Son muy diferentes las grcas de las salidas resultantes? 2. Porqu el resultado de la simulacin del sistema de prueba s_test1 muestra la solucin de la ecuacin diferencial con valor inicial y (t) = x(t), y (0) = 0 ? Cul de las seales es x(t) y cual y (t)? 3. Disee el sistema de prueba Simulink s_soldiff para el bloque Derivative. Para esto es mejor modicar el sistema s_test1. Luego realice los mismos experimentos que en el problema 1. 4. Piense en como uno podria resolver el problema de valor inicial u (t) = 2u(t), u(0) = 1
EXPOSITOR: Miguel Ataurima Arellano 52 [email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

utilizando Simulink y con la ayuda del bloque Integrator y establecer un sistema de Simulink para este problema. Compare la solucin numrica resultante con la solucin exacta.

EXPOSITOR: Miguel Ataurima Arellano

53

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

3.

Solucin de Ecuaciones Diferenciales con Simulink


y (t) = y (t), y (0) = 1, y (0) = 0 Sistema Simulink
(t ) y (t ) y y(t )

1. Resolver

(0) = 0 y
y(t )

y(0) = 1

EXPOSITOR: Miguel Ataurima Arellano

54

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

Salida

EXPOSITOR: Miguel Ataurima Arellano

55

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

2. Resolver la Ecuacin Diferencial Logstica p (t) = p(t) p2 (t) con = 0,05, = 0,0000025,p(0) = 1000 Sistema Simulink
p(t )

(t ) p

p(t )

p 2 (t )

p 2 (t )

EXPOSITOR: Miguel Ataurima Arellano

56

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

Salida

EXPOSITOR: Miguel Ataurima Arellano

57

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

3. Crear un sistema el modelo de oscilaciones mecnica mx (t) + b sign(x (t)) x 2 (t) + cx(t) = 0 N con m = 0,5 kg, b = 0,00411 kg (0) = 0 m m , c = 155,2 m , x(0) = 1 m, y x s Sistema Simulink
c /m

(t ) x
b /m

(t ) x

x (t )

(t )) sgn(x

(t ))x 2 (t ) sgn(x
2 (t ) x

EXPOSITOR: Miguel Ataurima Arellano

58

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

Salida

EXPOSITOR: Miguel Ataurima Arellano

59

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

Ejercicios
1. Estamos interesados en la solucin de la ecuacin diferencial llamada del pndulo matemtico (t) = g sen((t)), l g = 9,81 m s2

donde (t) es el angulo que el pndulo (de longitud l) forma en el tiempo relativo a su posicin de equilibrio

EXPOSITOR: Miguel Ataurima Arellano

60

[email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

(t) = 0, disee y pruebe un sistema Simulink para la solucin de considerando l = 10, (0) = , 4 la ecuacin diferencial del pndulo matemtico. 2. Disee y pruebe un sistema Simulink para resolver el problema de valor inicial y (t) + y (t) = 0, y (0) = 1, y (0) = 0

Compara este resultado con la solucin exacta. Luego, incorpore la capacidad de simular una perturbacin (esto es, una no homogeneidad, introducioendo en el lado derecho de la ecuacin diferencial una funcin u(t) = 0, denominada funcin de peturbacin) en el sistema Simulink. Obtenga la solucin considerando la siguiente funcin de perturbacin u(t) = et . 3. Resuelva el problema de valor inicial ty (t) + 2y (t) + 4y (t) = 4, y (1) = 1, y (1) = 1 mediante un sistema Simulink. 4. Resolver el sistema de ecuaciones diferenciales de primer orden y 1 (t) = 3y1 (t) 2y2 (t), y 2 (t) = 4y1 (t) + 2y2 (t), y1 (0) = 1 y2 (0) = 1

mediante un modelo Simulink. Compare la solucin numrica obtenida con la solucin exacta, la cual puede ser calculada a mano o con la ayuda del Symbolic Math Toolbox.
EXPOSITOR: Miguel Ataurima Arellano 61 [email protected]

UNIVERSIDAD NACIONAL DE INGENIERA Facultad de Ingeniera Elctrica y Electrnica

MATLAB para Ciencias e Ingeniera Introduccin a Simulink

5. El pndulo matemtico doble est conformado por dos pndulos matemticos simples de longitudes l1 y l2 acoplados, de los que cuelgan las masas m1 y m2 respectivamente. Dado un instante de tiempo t, los hilos inextensibles forman ngulos 1 y 2 con la vertical. El sistema de ecuaciones diferenciales de segundo orden para este sistema es m2 2 = 0 1 (t) + g1 + l2 l1 m1 + m2 1 (t) + g2 + 1 = 0 l2 l1

EXPOSITOR: Miguel Ataurima Arellano

62

[email protected]

También podría gustarte