int matlab y simulink

22
 Dinámica de Sistemas y Control - 2007  Autor: Ing. Gabriel Lorenzo Introducción a MATLAB MATLAB es el nombre abreviado de “MATrix LABoratory”. MATLAB es un programa para realizar cálculos numéricos con vectores y matrices, pudiéndose también trabajar con números escalares (tanto reales como complejos), con cadenas de caracteres y con otras estructuras de información. Además, MATLAB cuenta con un lenguaje de programación propio. Desde el punto de vista de control, MATLAB se puede considerar un entorno matemático de simulación que puede utilizarse para codificar  modelos y analizar los sistemas modelados. Permite el estudio de sistemas continuos, discretos, lineales y no lineales en el dominio temporal y de la frecuencia. Otra característica de MATLAB es que cuenta con numerosos paquetes adicionales llamados “toolboxes”. En el caso que nos ocupa se utilizará el Control System Toolbox, pero es importante tener en cuenta que existen diversos  toolboxes; cada uno de ellos destinado a una aplicación específica (control, estadística, procesamiento de señales, manejo de lenguaje simbólico, etc.). La presente introducción se plantea como una guía práctica a fin de permitir la familiarización con los comandos de MATLAB que serán frecuentemente utilizados a lo largo esta materia. El entorno de operación de MATLAB Existen numerosas referencias bibliográficas (además del tutorial del programa) en donde se explica en detalle el entorno operativo de MATLAB (algunas de ellas figuran en el listado de referencias de este apunte). El objetivo de esta sección es presentar cada uno de los componentes del entorno MATLAB y proporcionar una breve descripción de los mismos: Command Window: es la ventana principal del programa en donde se ejecutan los comandos e instrucciones lógicas. Workspace: Es el espacio de trabajo en donde se almacenan todas las variables definidas a través del “Command Window”. Éste puede ser guardado en un archivo binario (*.mat) y cargado nuevamente, en otra ejecución del programa. Command History: Almacena el listado de comandos ejecutados desde el “Command Window” de MATLAB. El historial se guarda automáticamente, quedando registradas cada una de las sesiones con fecha y hora. Una opción interesante, es seleccionar los comandos

Upload: masb29009

Post on 10-Jul-2015

125 views

Category:

Documents


1 download

TRANSCRIPT

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 1/22

Dinámica de Sistemas y Control - 2007  

Autor: Ing. Gabriel Lorenzo

Introducción a MATLAB 

MATLAB es el nombre abreviado de “MATrix LABoratory”. MATLAB es un programapara realizar cálculos numéricos con vectores y matrices, pudiéndose también trabajar con

números escalares (tanto reales como complejos), con cadenas de caracteres y con otras

estructuras de información. Además, MATLAB cuenta con un lenguaje de programación

propio.

Desde el punto de vista de control, MATLAB se puede considerar un entorno matemático

de simulación que puede utilizarse para codificar  modelos y analizar los sistemas

modelados. Permite el estudio de sistemas continuos, discretos, lineales y no lineales en el

dominio temporal y de la frecuencia.

Otra característica de MATLAB es que cuenta con numerosos paquetes adicionales

llamados “toolboxes”. En el caso que nos ocupa se utilizará el Control System Toolbox, pero es importante tener en cuenta que existen diversos  toolboxes; cada uno de ellos

destinado a una aplicación específica (control, estadística, procesamiento de señales,

manejo de lenguaje simbólico, etc.).

La presente introducción se plantea como una guía práctica a fin de permitir la

familiarización con los comandos de MATLAB que serán frecuentemente utilizados a lo

largo esta materia.

El entorno de operación de MATLAB 

Existen numerosas referencias bibliográficas (además del tutorial del programa) en donde

se explica en detalle el entorno operativo de MATLAB (algunas de ellas figuran en el

listado de referencias de este apunte). El objetivo de esta sección es presentar cada uno de

los componentes del entorno MATLAB y proporcionar una breve descripción de los

mismos:

Command Window: es la ventana principal del programa en donde se ejecutan los

comandos e instrucciones lógicas.

Workspace: Es el espacio de trabajo en donde se almacenan todas las variables definidas através del “Command Window”. Éste puede ser guardado en un archivo binario (*.mat) ycargado nuevamente, en otra ejecución del programa.

Command History:  Almacena el listado de comandos ejecutados desde el “CommandWindow” de MATLAB. El historial se guarda automáticamente, quedando registradas cadauna de las sesiones con fecha y hora. Una opción interesante, es seleccionar los comandos

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 2/22

relevantes del “Command History” y generar con ellos un archivo *.m (secuencias decomandos, también denominadas scripts).

Current Directory: especifica el directorio de trabajo de MATLAB

Listado de comandos útiles 

Todos los comandos que figuran a continuación se ejecutan desde el “Command Window”de MATLAB:

help: proporciona ayuda sobre un determinado ítem (toolbox, comando, etc.).

Ejemplo:

>> help symbolic %proporciona información sobre el Symbolic

toolbox de MATLAB. 

>> help plot %proporciona información sobre el comando PLOT

clc:  borra la pantalla del “Command Window” 

clear:  limpia las variables del “Workspace”. También se pueden borrar individualmenteescribiendo:

>> clear nombre_de_la_variable

whos: proporciona un listado de las variables definidas en el “Workspace”. Podemospreguntar también por variables individuales:

>> whos nombre_de_la_variable

open:  permite abrir los archivos que se encuentran en el “Current Directory” de MATLABespecificado, por ejemplo:

>> open nombre_del_archivo.m

Manejo de vectores 

Vector fila:

>> A=[2,4,5] 

ó 

>> A=[2 4 5] 

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 3/22

 

Nota: se puede ocultar el resultado de la operación agregando un punto y coma (;) al final

de la sentencia

Nota: los elementos del vector pueden separarse mediante una coma, o bien mediante un

espacio.

Vector columna:

>> B=[2;4;5]

o bien,

>> B=A' 

Nota: El símbolo ('), transpone el vector A para generar el vector columna B. Este comando

también puede ser utilizado para generar la transpuesta de una matriz dada.

Vectores con espaciamiento uniforme:

>> A=[1:10] %los valores aumentan sucesivamente una unidad 

>> A=[1:2:10] %los valores aumentan sucesivamente en dos unidades) 

>> A=[0.1:0.1:1] %los valores se incrementan en 0,1 

>> A=logspace(1,2,10) %genera 10 puntos entre las décadas 10^1 y

10^2, uniformemente espaciados en forma logarítmica: [10 10^1.1

10^1.2 10^1.3 10^1.4 10^1.5 10^1.6 10^1.7 10^1.8 10^1.9 10^2] 

Vectores de unos y ceros: 

>> A=zeros(1,10) %genera un vector fila con ceros 

>> B=ones(1,10) %genera un vector fila con unos 

Nota: zeros(m,n) genera una matriz de orden m×n con todos sus elementos iguales a cero,

lo mismo se aplica a la sentencia: ones (m,n)

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 4/22

Manejo de matrices 

Matriz estándar

>> A=[1,2,3;4,5,6] 

Matrices especiales 

Sintaxis  Tipo de matriz 

>> A=diag(v) matriz diagonal con el vector v como diagonal

>> A=ones(n) matriz de n × n con todos los valores iguales a uno

>> A=eye(n)  matriz identidad de n × n 

>> A=rand(n) matriz de n × n con elementos de valor aleatorio entre 0 y 1

(distribución uniforme)

>> A=randn(n) matriz de n × n cuyos elementos siguen una distribución

normal (media 0 y varianza 1)

Operaciones con matrices 

Sintaxis  Operación 

>> C=A*B matriz resultante del producto AB (si dicha operación es posible)

>> C=A.*B producto elemento por elemento (si size(A) = size(B), es

decir, si tienen el mismo tamaño)

>> inv(A)  A^-1, si A es cuadrada e invertible

>> pinv(A)  pseudoinversa de A.

>> C=A\B inv(A) * B, si existe inv(A): la barra inversa es la división

por la izquierda

>> x= A\b solución de: Ax = b si existe inv(A).

¡Véase help slash cuando A sea una matriz rectangular!

>> det(A)  determinante (si A es una matriz cuadrada)

>> rank(A) rango (número de pivotes = dimensión del espacio de filas y del

espacio de columnas)

>> size(A)  es el par de números [m n]

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 5/22

>> E=eig(X) E es un vector que contiene los autovalores de la matriz

cuadrada X ¡Ver help eig!

Creación de gráficos bidimensionales 

Existen diversos comandos para realizar gráficos bidimensionales en MATLAB (plot,

stem, bar, stair).

En particular nos interesa el comando PLOT ya que nos va a permitir graficar las

respuestas y excitaciones de sistemas continuos.

Dado que MATLAB no es un lenguaje simbólico, las variables independientes y

dependientes a graficar deben ser definidas como vectores.

El comando PLOT presenta numerosas opciones para la presentación y edición de los

gráficos (tipo de línea, color, título de ejes, título de gráfico, etc.). A continuación se darán

algunos ejemplos prácticos de utilización de este comando. Se sugiere ampliar el contenido

de este apunte con la información proporcionada por la ayuda del programa.

>> x=[0:0.01:4*pi] %se define el vector x(var. independiente)

>> plot (x,sin(x)) %gráfico de la función sen (x) 

Otra opción hubiese sido:

>> x=[0:0.01:4*pi] %se define el vector x 

>> y= sin(x) %se define el vector y (variable dependiente) 

>> plot (x,y)

Podemos hacer una nueva gráfica:

>> z=[0:0.1:5] 

>> plot(z,exp(-z)) 

Como vemos, el gráfico en la ventana abierta se actualiza…si queremos conservar elgráfico original y abrir una nueva ventana usamos el comando FIGURE:

>> figure 

>> plot (x,cos(x)) %gráfico de la función sen (x), recordar la

variable x ya había sido definida en el Workspace del programa. 

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 6/22

La presentación de los gráficos puede ser mejorada de dos maneras:

1-  Mediante las opciones de los menús “Edit” e “Insert”, situados en la barra deherramientas de la ventana del gráfico.

2-  Introduciendo los comandos de edición, títulos de ejes, título de gráficos, etc.

mediante el Workspace desde el programa.

>> figure 

>> plot(z,exp(-z),'ro:') 

>> xlabel ('x') 

>> ylabel ('exp (-x)') 

>> title ('Función exponencial') 

En este caso graficamos la función exponencial en color rojo (r), con línea punteada (:) ycon un circulo (o) en cada uno de los puntos de la gráfica (ver el help del comando plot

para otras opciones de formato para graficar las curvas).

Para realizar gráficos múltiples es una única ventana se utiliza el comando SUBPLOT. La

sintaxis del comando es la siguiente:

>> subplot (m,n,p), plot (x,y)

m×n es el orden del arreglo que se va a utilizar para posicionar los gráficos y p denota la

posición del gráfico (el orden es contando fila por fila). La figura muestra un ejemplo para

un arreglo de m×n=2×2:

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 7/22

 

Por lo tanto, si elegimos un arreglo de 2×1 (2 filas y 1 columna) y queremos graficar la

función exponencial en la parte superior y la función seno en la parte inferior, utilizamos:

>> figure 

>> subplot (2,1,1), plot(z,exp(-z)) 

>> subplot (2,1,2), plot(x,sin(x)) 

Función transferencia 

La función transferencia de un sistema se define como la relación entre las transformadas

de Laplace de la variable de salida y la variable de entrada, cuando las condiciones iniciales

del sistema son nulas. El concepto de función transferencia es válido para el análisis

sistemas lineales e invariantes en el tiempo.

El comando de MATLAB empleado para la creación de funciones transferencia se

denomina TF y su sintaxis es la siguiente:

sys= tf(num,den)

donde:

“sys” es el identificador que elegimos para nuestr o sistema.

“num” es el vector de coeficientes que define al numerador de nuestra función

transferencia.

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 8/22

“den” es el vector de coeficientes que define al denominador de nuestra función

transferencia.

Tomando como ejemplo el caso de un amortiguador masa y resorte, mostrado en la figura:

Transformando:

Consideremos que

m=1 [kg]

b= 4 [N.s/m]

k=68 [N/m]

Para crear esta función transferencia, escribimos en el Workspace de MATLAB:

>> num=[1] 

>> den=[1 4 68] 

>> sys= tf (num,den) 

Se podría haber declarado primero las variables del problema y luego construido la función

transferencia:

>> m=1; 

>> b=4; 

>> k=68; 

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 9/22

>> num=[1] 

>> den= [m b k] 

>> sys= tf(num,den) 

Respuesta del sistema a excitaciones predefinidas 

Respuesta al impulso 

La excitación impulsiva nos permite conocer la respuesta natural del sistema, tal como

vemos a continuación:

Luego,

El conocimiento de la respuesta natural del sistema, brinda una posibilidad para inferir la

localización de los polos (raíces del denominador) en el plano complejo.

El comando para obtener la respuesta impulsiva de un sistema se denomina IMPULSE y

su sintaxis es:

impulse (sys)

Si queremos examinar los polos de una función transferencia, una forma de calcularlos es

mediante el comando ROOTS.  Este comando  proporciona las raíces de un polinomio

definido a través de su vector de coeficientes (tal como lo hemos trabajado hasta el

momento).

>> m=1; 

>> b=4; 

>> k=68; 

>> num=[1] 

>> den= [m b k] 

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 10/22

>> sys= tf(num,den) % no es necesario repetir estos comandos si

la información correspondiente quedó cargada en el Workspace de

MATLAB. 

>> roots (den) 

>> impulse (sys) 

Como vemos, el sistema tiene 2 polos complejos conjugados (-2+8i ; -2-8i) ubicados en el

semiplano derecho del plano complejo. En este caso la respuesta al impulso del sistema es

una señal sub-amortiguada.

Se pueden explorar variantes, fijando los valores de m, b y k a fin de obtener polos reales

en el semiplano izquierdo, polos imaginarios y polos reales en el semiplano derecho (en

este caso con abstracción del sistema físico que representa la función transferencia). El

procedimiento se puede agilizar con el uso de un archivo *.m, tal como veremos másadelante.

Respuesta al escalón unitario 

La señal mayormente utilizada para la caracterización del sistema es el escalón unitario.

Esta excitación también introduce en el sistema una perturbación abrupta con la ventaja de

que, desde el punto de vista práctico, es más fácil de generar que la señal impulso.

Esto hace que las características de desempeño en el dominio del tiempo de un sistema de

control (de cualquier orden) sean especificadas, generalmente, en términos de su respuesta

transitoria a un escalón unitario.

El comando para obtener la respuesta impulsiva de un sistema se denomina STEP y su

sintaxis es:

step (sys)

Considerando el sistema masa-resorte-amortiguador, calculamos ahora su respuesta al

escalón:

>> m=1; 

>> b=4; 

>> k=68; 

>> num=[1] 

>> den= [m b k] 

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 11/22

>> sys= tf(num,den) %no es necesario repetir estos comandos si la

información correspondiente quedó cargada en el Workspace de

MATLAB. 

>> step (sys) 

Respuesta del sistema a excitaciones definidas por el usuario 

Para obtener la respuesta temporal del sistema ante excitaciones definidas por el usuario, se

utiliza el comando LSIM. 

lsim(sys,u,t)

Este comando grafica la respuesta del sistema a la señal de entrada descripta por u y t. El

vector “t” consiste en muestras  temporales regularmente espaciadas y “u” es una matriz,con tantas columnas como señales de entrada tenga el sistema y cuya i-ésima fila especifica

el valor de la entrada en el tiempo t(i).

Por ejemplo:

>> t = [0:0.01:10]; 

>> u = sin(t);

>> lsim(sys,u,t) 

Archivos *.m 

Los archivos *.m se utilizan para crear secuencias de comandos (scripts) y segmentos de

programa que pueden ser ejecutados al invocarlos desde la ventana de comando.

 Nota: Esto es así, siempre y cuando el “path” especificado en MATLAB (“Current

Directory”) indique el directorio en el cual se ha guardado el archivo *.m; por defecto setrabaja en: C:\MATLAB6p1\work 

Los archivos *.m también pueden ser utilizados para definir funciones.

La principal diferencia entre estas dos aplicaciones radica en que, en el primer caso, las

variables empleadas son globales (se definen en el Workspace); en tanto que para las

 funciones, las variables son de tipo local, debiendo declararse una lista de argumentos deentrada a la función y sus valores de retorno.

La creación de un archivo *.m puede realizarse mediante cualquier editor dado que se trata

simplemente de un archivo de texto sin formato. MATLAB brinda la opción de utilizar su

propio editor de texto, el cual se puede encontrar en:

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 12/22

FileNewMfile

Se aconseja utilizar este editor para la creación de los archivos *.m debido a que optimiza

la corrección de las secuencias de comando, brindando además diversas opciones paradepuración de programas (debug).

El comando “run”, permite correr las secuencias de comandos y los programas generados,

desde el mismo editor.

SCRIPTS 

Tomando como ejemplo el sistema visto anteriormente, podemos realizar la siguiente

secuencia de comandos para evaluar distintos valores de los parámetros m, b y k.

%PARAMETROS DE ENTRADA 

% m (masa) 

% b (friccion viscosa) 

% k (constante del resorte) 

% OPCIONES DE GRAFICACION 

% (1) respuesta al impulso 

% (2) respuesta al escalon 

% (3) se muestran ambos transitorios 

clc 

m= input ('m: '); 

b= input ('b: '); 

k= input ('k: '); 

num=[1]; 

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 13/22

den= [m b k]; 

sys= tf(num,den)

roots (den) 

v= input ('seleccione opcion: '); 

if v==1 

impulse (sys) 

elseif v==2 

step (sys) 

elseif v==3 

subplot (2,1,1), impulse (sys) 

subplot (2,1,2), step (sys) 

end 

Nota: Si escribimos: help “nombre del archivo *.m” en el “Command Window” deMATLAB, aparecerán las líneas de comentario que figuran antes de la primera instrucción.

Esto proporciona una referencia rápida del script o función generada.

FUNCIONES 

Ahora veamos un ejemplo de como se define una función en MATLAB mediante ficheros

*.m. Para ello se propone la función triángulo, definida tal como se muestra a continuación:

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 14/22

 

function [y]=triangle (x) 

%Funcion Triangulo 

% Definicion: 

% y= 2x 0 <= x <0.5 

% y= 2-2x 0.5 <= x <=1 

for i= 1:length(x) 

if 0<=x(i) & x(i)<0.5 

y(i)=2*x(i); 

elseif 0.5<=x(i) & x(i)<=1 

y(i)=2-2*x(i); 

else 

y(i)=0; 

end 

end 

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 15/22

La función puede ser guardada con un nombre arbitrario (nombre_de_la_función.m) en el

directorio de trabajo que hayamos elegido. Con este nombre, se invoca a la función desde

el Command Window de MATLAB (en este caso se eligió el nombre “triangle”,coincidente con el empleado en la definición de la función).

Por supuesto, esta función puede ser utilizada como excitación para nuestro sistema, como

vemos en el siguiente ejemplo:

>> t = [0:0.01:10]; 

>> u = triangle(t);

>> lsim(sys,u,t) 

SIMULINK 

Simulink es un paquete de software integrado a MATLAB que permite modelar, simular y

analizar sistemas dinámicos.

La simulación de un sistema dinámico se realiza, primero, creando un modelo gráfico del

sistema a ser simulado mediante el editor de Simulik y luego simulando su comportamiento

un rango de tiempo especificado.

Como ejemplo de aplicación, veremos como modelar y simular el sistema masa-resorte-

amortiguador.

Para abrir el editor de Simulink tenemos dos opciones.

1- Desde MATLAB: FileNewModel

2- Desde el “Simulink library browser”. El “Simulink library browser” se abre desde labarra de herramientas de MATLAB haciendo clic en el símbolo:

Finalmente, podemos abrir el editor de Simulink mediante FileNewModel, o bien

haciendo clic en el símbolo:

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 16/22

En la librería “Simulink” del library browser, se encuentran los bloques que utilizaremospara construir y analizar nuestro modelo. En particular estos bloques se hallan en los

menús: “Continuous”, “Sinks” y “Sources”. 

El primer modelo que haremos nos permitirá evaluar la respuesta de nuestro sistema ante

una excitación del tipo escalón unitario, para ello arrastramos y soltamos los componentes

de la librería que se muestran en la tabla y los vinculamos entre sí mediante conectores.

Bloque  Menú 

Transfer Fcn Continuous

Step Sources

Scope Sinks

Haciendo doble-clic sobre los bloques podemos editar los parámetros de cada uno de ellos.

En el caso de la excitación, la definición por defecto es apropiada, en tanto que para el caso

de la función transferencia; Simulink pide que se introduzcan los vectores de coeficientes

del numerador y denominador (análogamente a lo visto para la definición de una función

transferencia desde el Command Window).

La representación gráfica del modelo es la siguiente:

El modelo se simula ejecutando el comando “Start” del menú “Simulation”: 

SimulationStart 

O bien, haciendo clic sobre el símbolo:

La respuesta del sistema dinámico se observa haciendo doble clic en el bloque Scope.

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 17/22

 

Los parámetros de simulación pueden ser configurados mediante la opción “Simulation parameters…” del menú “Simulation”: 

Simulation Simulation parameters… 

Como puede observarse, en esta ventana se especifican el tiempo de simulación, método

numérico empleado y opciones de salida.

Interacción con el Workspace 

Una de las capacidades más interesantes de Simulink es la posibilidad de interactuar con el

Workspace de MATLAB. Esto permite utilizar variables definidas en el Workspace como

excitaciones y escribir en el mismo los resultados de las simulaciones.

Una forma de realizar esto es configurando el tab “Workspace I/O” de la opción“Simulation parameters…”: 

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 18/22

 

En esta ventana se especifican las variables que se cargan desde el Workspace y lasvariables que serán guardadas en el Workspace como resultado de la simulación.

Supongamos que deseamos evaluar la respuesta de nuestro sistema ante la excitación

“triangle” definida previamente. Para esto es necesario ejecutar en el “Command Window”de MATLAB.

>> tin=[0:0.01:10]' 

>> uin=[triangle(t)]' 

Esto genera dos vectores columna; uno con las muestras temporales y el otro con los

valores correspondientes de la excitación.

Nota: Las variables que pasamos a Simulink desde el Workspace de MATLAB, deben estar

definidas como vectores columna.

Simulink guardará en el Workspace los vectores “tout” y “yout” correspondientes a larespuesta dinámica del sistema. La salida será guardada en este caso como un arreglo

(vector); existen otras opciones de formato de los valores de salida: structure y structure

with time.

Para que nuestro modelo tome valores desde el Workspace y los guarde allí, una vez que la

ventana “Workspace I/O” fue configurada, debemos agregarle al mismo los puertos deentrada (In1) y salida (Out1). Estos se hallan en los menús “Sources” y “Sinks”,respectivamente:

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 19/22

 

Al simular el modelo, aparecen automáticamente en el listado de variables del Workspace

“tout” y “yout”. 

Otra manera de lograr la interacción entre Simulink y las variables definidas en MATLAB

es mediante los bloques “From Workspace” y “To Workspace”. La utilización de estos

bloques permite prescindir  de la configuración del tab “Workspace I/O”. 

Un ejemplo de aplicación de estos bloques se muestra a continuación:

Haciendo doble clic sobre el bloque “From Workspace” entramos a su ventana deconfiguración:

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 20/22

 

En este caso, “entrada” se define como un vector de n2; la primera columna corresponde

al vector tiempo (n es la cantidad de muestras temporales que tomamos) y la segunda

columna corresponde a la excitación (u(t)).

La definición de “entrada” fue efectuada en el Command Window de MATLAB de lasiguiente forma:

>> tin=[0:0.01:10]'; 

>> uin=[triangle(t)]'; 

>> entrada= [tin uin]; 

Para el bloque “To Workspace”, la ventana de configuración es:  

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 21/22

 

En ella, especificamos el nombre y tipo de variable que deseamos que sea escrita en el

Workspace de MATLAB conteniendo los resultados de la simulación.

Comentario sobre el Symbolic toolbox 

El “Simbolic toolbox” de MATLAB, permite realizar operaciones en lenguaje simbólico.

Escribiendo: “help symbolic” en el “command window” de MATLAB, la ayuda nosmostrará todas las posibilidades de cálculo que pueden ser realizadas mediante este

paquete.

En esta introducción se mostrará simplemente como se calculan transformadas de Laplace

y sus inversas. Se utiliza, a modo de ejemplo, ejercicios de la guía práctica número 1.

Cálculo de la transformada de Laplace de una función:

>> syms ('t') 

>> f=2*exp(-t)*cos(10*t)-t^4+6*exp(10-t); 

>> F=laplace(f) 

Cálculo de la transformada inversa de Laplace:

>> syms ('s') 

>> F=(2*exp(-0.5*s))/(s^2+-6*s+13)-(s-1)/(s^2+-2*s+2) 

>> f=ilaplace(F) 

5/10/2018 Int Matlab y Simulink - slidepdf.com

http://slidepdf.com/reader/full/int-matlab-y-simulink 22/22

Referencias 

[1] Tutorial de MATLAB (MATLAB Help)

[2] “Aprenda MATLAB 6.1 como si estuviera en primero”.  Javier García de Jalón José 

 Ignacio Rodríguez, Alfonso Brazales. Escuela Técnica Superior de Ingenieros Industriales.

Universidad Politécnica de Madrid

[3] Modelado, simulación y control de sistemas dinámicos. Parte I: Tutorial básico de

MATLAB. P.F. Puleston, F. Valenciaga. Departamento de electrotecnia. Facultad de

Ingeniería Universidad Nacional de La Plata.