Академический Документы
Профессиональный Документы
Культура Документы
CONTENIDO
FUNCIÓN TRIM
FUNCIÓN LINMOD
1
Funciones-S
Una forma de resolver sistemas de ecuaciones diferenciales con MatLab es usando “Funciones S”.
Se trata de bloques que pueden incorporarse en Simulink y tienen la ventaja de ser construidos en
archivos .m y después conectados con otros bloques de Simulink.
t Variable de tiempo
x Vector de estados
u Vector de entradas
Valor entero que indica que grupo de información y/o de cálculos va a desempeñar la
flag
Función-S a través de Simulink
Es el vector principal de salidas del bloque. Este vector va a contener valores según el valor de
sys
la bandera “Flag”.
x0 Vector condiciones iniciales
2
Debe definirse como un arreglo vacío []. Es una variable reservada para uso futuro en
str
Simulink
Es un arreglo de dos columnas para definir el tiempo de muestreo.
Por ejemplo: para correr la function-S en tiempo continuo (“continuous simple”), ts se define
ts como [0 0]. Para correr la función-S a la misma velocidad que el bloque al cual esté conectada
(“inherited simple time”), ts se establece como [-1 0]. Para correr la function-S cada 0.25 s
(“discrete sample time”) empezando en 0.1 s después de que la simulación inició, ts se
establece como [0.25 0.1].
LOS TRES ÚLTIMOS ARGUMENTOS (x0, str, y ts) SON REQUERIDOS POR SIMULINK SOLO CUANDO
flag=0, DE OTRA FORMA, ESTOS SE IGNORAN.
En el bloque de Función-S se realizan seis tareas diferentes, cada una de estas se identifica con un
número:
Nivel I Nivel-2
Descripción
Flag Método al que se llama
Define las características básicas del bloque de la Function-S,
incluyendo las muestras de tiempo, condiciones iniciales de
3
SINTAXIS DE LAS TAREAS QUE SE DESEMPAÑAN EN LOS BLOQUES DE LAS FUNCIONES-S
Después de la primera línea, la función-S se divide en casos que dependen del valor de la bandera
“Flag”. La sintaxis es como se muesta a continuación:
Módulo II. Métodos y Modelos
CASE 0 (INICIALIZACIÓN):
Contiene la estructura de inicialización con información del modelo y las salidas: sys (conteniendo
la estructura de inicialización, x0, str y ts.
(a) Se define un vector renglón que especifica el número de entradas, salidas y otras
características del modelo matemático. Para ello se invoca el comando simsizes, el cual
regresa una estructura inicializada con nombre s. Al final, se define la salida sys usando
nuevamente el comando simsizes con una estructura variable como argumento (s en el
ejemplo que se muestra a continuación). Esta última instrucción traduce los valores de la
estructura s en un vector renglón que es enviado a Simulink a través de la salida sys.
4
s=simsizes;
s.NumContStates=Número de estados continuos;
s.NumDiscStates=Número de estados discretos;
s.NumOutputs=Número de salidas;
s.NumInputs=Número de entradas;
s.DirFeedthrough= 1 cuando las salidas dependen algebraicamente de las entradas, 0
cuando no existe esta dependencia;
s.NumSampleTimes=1 (Número de muestras de tiempo);
sys=simsizes(s);
sys=[vector de derivadas];
Contiene la salida asociada a los casos 2, 4 y 9, que para los tres casos es un arreglo vacío.
Además contiene cualquier instrucción para terminar el programa.
sys=[];
otherwise
error(['unhanled flag=',num2str(flag)]);
5
BLOQUE DE FUNCIONES-S EN SIMULINK
6
Funcion trim
función descripción
Encuentra el punto de equilibrio cerca del
[x,u,y,dx] = trim('sys')
estado inicial del sistema, x0
x0, u0 y y0 son el vector de estados, el vector
de entradas y el vector de salidas que estarán
[x,u,y,dx] = trim('sys',x0,u0,y0)
fijos mientras la función intenta encontrar el
estado estable.
ix, iu e iy indica cuales valores de x0, u0 y y0 se
[x,u,y,dx] = trim('sys',x0,u0,y0,ix,iu,iy)
mantienen fijos.
‘sys’= nombre del modelo (bloque de una función-S que contiene el modelo del sistema).
7
Funcion linmod
La función es:
[A,B,C,D] = linmod('sys', x, u)
‘sys’= nombre del bloque que contiene el modelo no lineal del sistema.
x= las variables de estado especificadas
u= entradas