Sie sind auf Seite 1von 10

Lab 1 Introducción al Matlab/Simulink para el Control

Matlab proporciona un conjunto amplio de funciones disponibles para resolver un sistema


de ecuaciones diferenciales. El ajuste de los parámetros de comandos (Command
parameter settings) permiten solamente la solución del problema del valor inicial (initial
value problem) por integración numérica (simulation) de las ecuaciones
diferenciales/sistemas de ecuaciones diferenciales.

Las ecuaciones diferenciales ordinarias de cualquier orden pueden representarse en forma


explícita para el problema del valor inicial como un sistema de ecuaciones diferenciales de
primer orden.

Condición inicial
y(t0)=y0
Donde f es un vector de funciones, y representa el vector de variables de estado.
En Matlab se usa las EDO solver : ode23 ode45, ode113,ode15s,ode23s,ode23t,ode23tb

[T,Y]=solver(odefun,tspan,y0,options)

solver: Método de integración como ode23 ode45, ode113,ode15s,ode23s,ode23t,ode23tb


odefun: función del Matlab de extensión m, que implementa la parte derecha de la EDO,
como un sistema de ecuaciones .Esta debe ser creada como m-function del Matlab.
tspan: vector de intervalo de tiempo de integración ( corresponde al intervalo de tiempo de
simulación) [ tini tfin].
y0: vector de valores iniciales.
Options: Además se pueden modificar los parámetros de integración las opciones con
odeset. Ver el help odeset
T : devuelve el tiempo de simulación.
Y: devuelve la matriz de vectores de estado.

Ejemplo de aplicación

Simular un péndulo con fricción proporcional a la velocidad.


La varilla de longitud l tiene masa despreciable. No se toma en cuenta la fricción del aire.

1
El primer paso es transformar la EDO en un sistema de ecuaciones diferenciales de primer
orden, usando las variables de estado y1= , y2 =φ̇ .

El segundo paso es implementar la m-function pendelf ( guardar como pendelf.m)

Llamada a la simulación y salida gráfica en la ventana de comandos del Matlab

>> [t,y]=ode23(@pendelf, [0, 10], [0.8 0]); plot(t,y(:,1),t,y(:,2)); legend('y_1', 'y_2'); grid on;

2
Resultados de la simulación

3
y1

2 y2

-1

-2

-3

-4
0 1 2 3 4 5 6 7 8 9 10

Simulación de una planta de orden 1 con una entrada escalón después de 2 segundos

Llamada a la simulación y salida gráfica

>> [t,y]=ode23(@PT1f, [0, 14], [0]); plot(t,y); legend('y'); grid on;

3
1
y
0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 2 4 6 8 10 12 14

Toolbox de Control

Para resolver problemas de ingeniería de control, el Toolbox de Control está disponible. En


el caso de la dinámica de sistemas LTI son cuatro los modelos:

1) La función de transferencia (transfer function) tf


2) El espacio estado ( state space) ss
3) Polo, Cero y ganancia ( zero-pole-Gain) zpk
4) Modelo de frecuencia (frecuency response data frd

Lista de Operadores y funciones

step, impulse, lsim, initial, ltiview, pzmap, bode, nyquist, nichols, sigma,pole,zero,etc

Con el comando help investigue cada una de estas funciones.

Definición del Sistema LTI

1) Función de transferencia (Modelo tf)


SISO

4
Sist. Continuo Def. de Coef. Del polinomio Definición Simbólica

(T.Laplace) G 1 ( s )=tf (num , den)

a s 2+ bs+c num=[ a b c ] =[ 1 2 10 ] >> s = tf(’s’); >>


G 1 ( s )=
d s 2+ es+ f G1=(s^2+2*s+10)/(7*s^2+s+2)
den=[ d e f ] =[ 7 1 2 ]

Ejm:
Transfer function:
> G1 = tf( [1 2 10] , [7 1 2] ) s^2 + 2 s + 10
-----------------
Transfer function: 7 s^2 + s + 2
s^2 + 2 s + 10
-----------------
7 s^2 + s + 2

MIMO

5
Ejemplo:
>> s=tf('s');
>> g11 = 1/(s+1);

>> g12 = 1/(2*s^2 + s + 1);


>> g21 = 1/(s+3);
>> g22 = 3;

>> G =[g11 g12; g21 g22]


>>step(G)

Step Response
From: In(1) From: In(2)
1.5

1
To: Out(1)

0.5
Amplitude

0
4

3
To: Out(2)

0
0 5 10 15 20 0 5 10 15 20
Time (seconds)

num {i, j } Es un vector j contiene los coeficientes del numerador de la función


de transferencia Gij, desde la entrada j hasta la salida i.

den {i , j } Es un vector que contiene los coeficientes del denominador de la


función de transferencia Gij, desde la entrada j a la salida i.

6
Ejemplo
>> num = {1,1; 1,3};
>> den ={[1 1], [2 1 1]; [1 3],[1]};
>> G=tf(num,den)

La Matriz G puede calcularse directamente a partir de la definición de espacio estado


(A,B,C,D)

7
Convirtiendo directamente
>> G2=tf(ss(A,B,C,D)) % otra forma

2) Definición de Pole, Zero y Ganancia ZPK


SISO

Sist. Continuo Def. de coeficientes

(T.Laplace) G 2 ( s )=zpk (z , p , k )

( s− z1 ) ..(s−z n ) z=[ 1 ]
G2 ( s )=k
( s− p1 ) ..(s− p n)
p= [−2 −3 ]

k =[ 4 ]

Ejm:
> G2 = zpk(1,[-2 -3],4)
Zero/pole/gain:
4 (s-1)
---------------
(s+2) (s+3)
MIMO
Es más fácil trabajar primero con el objeto LTI tf y luego convertirlo directamente
con zpk

El Ejemplo del motor DC de Matriz de transferencia pasado puede convertirse en


zpk directamente como:
>> GG=zpk(tf(G))

8
3) Modelo de Espacio Estado (ss)
El siguiente modelo LTI es para sistemas continuos con n estados, p entradas y q
salidas.

Diagrama de simulación

Definición del sistema de espacio estado con Matlab


G3 = ss(A,B,C,D)

9
Ejemplo

>> G3=ss([-2 -1.5;2 0],[1;0],[1 1],0)

Fuente: Automotive Systems Engineering (ASE) - Einführung in Matlab und


Simulink
Hochschule HeilBronn

Para Simulink , leer el archivo correspondiente al Mini-Curso de Simulink

10

Das könnte Ihnen auch gefallen