Hola Renatox
Para identificar sistemas, matlab tiene un toolbox que se llama ident, ahi podes estimar modelos parametricos y compararlos, pero tambien se puede estimar modelos por separado sin utilizar le toolbox...
Antes de utilizar el toolbox, debes acomodar cada curva en un vector separado, es decir, las curvas de salida debe ir en y1, y2, y3, etc como tantas curvas pusiste, y hacer lo mismo con las entradas que pusiste para cada curva de salida, es decir, x1, x2, x3, etc ... el tiempo no es necesario ponerlo pero si es importante saber el tiempo de muestreo, en este caso, 5ms. Te recomiendo que vuelvas a medir las curvas y des almenos como 5 muestras en cero, es decir, el vector de entrada y salida para la curva roja ( la 1 ) se verian asi:
x1 = [0 0 0 0 0 5 5 5 5 5 5 5 5 ] (NO SE QUE TENSION PUSISTE EN ESA CURVA LA ¡¡¡SUPUSE!!! COMO 5V)
y1 = [0 0 0 0 0 10 80 85 90 ....] (ESTOY SUPONIENDO!!)
No se si me entiendes, debes hacer lo mismo con las otras curvas puesto que no vi que graficaras el vector de entrada
x2 = [0 0 0 0 0 ... valor de tension de entrada en el motor de la curva rosada] (la tension que pusiste a la curva rosada con las primeras muestras en cero)
y2 = [0 0 0 0 0 ... Valores de la curva rosada]
y asi sucesivamente, todos los vectores deben tener la misma cantidad de elementos. Las muestras en cero son necesarias porque el metodo de identificacion necesita de muestras iniciales.
Ahora ya estomos listos para aplicar IDENT, y ponemos en matlab:
>>ident
Se abre un entorno grafico, arriba de los cuadros del lado izquierdo donde dice IMPORT DATA seleccionamos TIME DOMAIN DATA .. inmediatamente se nos abre una ventana que dice IMPORT DATA, en WORKSPACE VARIABLE en el campo de INPUT digitamos el primer vector de entrada x1 y en OUTPUT el vector de salida correspondiente a esa entrada, y1 .... le damos IMPORT y YES a todo... veremos que uno de los cuadros derechos tendrá una imagen con una curva con un color, si le damos click la deselccionamos y la imagen NO queda con el color resaltado y si le damos click nuevamente se selecciona y la imagen queda con el color resaltado, esto es para habilitar y deshabilitar las muestras ... la dejamos habilitada. Ahora importamos las otras curvas ... Segun tus datos tendriamos 5 curvas, lo que es igual a 5 imagenes en el lado izquierdo ... EL ESTIMADOR NO UTILIZA TODAS LAS CURVAS SOLO UNA, DEBES ESTIMAR UN MODELO PARA CADA CURVA Y SELECCIONAR EL MEJOR, para estimar un modelo debes seleccionar una de las imagenes del lado izquierdo y soltar donde dice WORKING DATA en el centro de la pantalla, veras que la curva de working data cambia de color segun la curva que deseamos estimar.
Para estimar, damos en ESTIMATE, en el centro de la pantalla, seleccionamos LINEAR PARAMETRIC MODELS... se abre otra ventana en donde podemos seleccionar el tipo de estimador, cada estimador es muy parecido, difieren en la estructura y en donde esta hubicado la señal de ruidosa, el OE es el mas basico porque supone que el ruido se suma en la salida del sistema, los demas calculan subsistemas para el ruido, para empezar seleccionamos OE, ahora en donde dice ORDERS seleccionamos el los ordenes de las ecuaciones ... OE supone el sistema de esta manera
B(z)
y = -------- · x + e, donde B(z) es el numerador del sistema, F(z) el denominador del sistema, x es la entrada (nuestro vector de muestras x1),
F(z)
y: la salida del sistema ( vector y1), y e: es una estimacion de la señal ruidosa.
en ORDERS se acomoda el orden del B(z), luego F(z) y por ultimo una suposicion de los retardos del sistema, pongamos en ORDER: 2 2 1, osea orden 2 y con un retardo. Si ponemos 0 en retardos puede que la estimacion sea incorrecta y poco precisa. Tambien podemos ponerle un nombre en NAME dejemolo en OE221
En esa misma ventana damos click a ESTIMATE para comenzar la estimacion, a los pocos segundos, matlab estima un modelo OE, al lado derecho de la pantalla principal se colocan los modelos estimados, en MODEL VIEW justamente debajo de los cuadros del lado derecho, seleccionamos MODEL OUTPUT y veremos la curva de los datos que importamos y la curva estimada OE, si agregamos otros modelos ARX, ARMAX, se podra comparar cual es que mejor se ajusta con el indicador BEST FIT.
Digamos que OE fue el que mejor se ajustó, para pasarlo al area de trabajo en matlab seleccionamos y soltamos la imagen de OE221 ( la que se puso en los cuadros del lado izquierdo ) en el cuadrito que dice TO WORKSPACE debajo de estimate .... Esto exporta el modelo al area de trabajo en matlab. En matlab podremos conocer los coeficientes del sistema digitando
>>OE221 // o el nombre que le pusiste
y nos mostrara algo como asi
Discrete-time IDPOLY model: y(t) = [B(q)/F(q)]u(t) + e(t)
B(q) = 0.7902 q^-1 - 0.2952 q^-2
F(q) = 1 + 0.9383 q^-1 + 0.6106 q^-2
Estimated using PEM from data set mydata
Loss function 0.00757948 and FPE 0.0227384
Sampling interval: 1
Vemos que matlab calculó B(z) y F(z) para acceder a esos vectores podemos dar:
>> oe221.b
ans =
0 0.7902 -0.2952
y
>> oe221.f
ans =
1.0000 0.9383 0.6106
y para pasarlo como un sistema:
>> H = tf(oe221.b, oe221.f, 0.005)
Transfer function:
0.7902 z - 0.2952
-----------------------
z^2 + 0.9383 z + 0.6106
Sampling time: 0.005
***** POR ULTIMO, podemos utilzar SISOTOOL para calcular un compensador....
Saludos... Espero que te sirva esta explicacion..
en:
http://www.ie.itcr.ac.cr/einteriano/control2/Laboratorio/3.Models.pdfhay un pdf con una explicacion sobre los estimadores ARX, ARMAX, OE, etc ...