Haz una pregunta
  Foros de Electrónica » Temas de Interés » Automatización, Electrónica industrial y de Potencia
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

10/08/2014 #1


Problema con estimación de parámetros en Matlab
Saludos,

No tengo mucha experiencia en Matlab y en la uni me pidieron un trabajo previo para realizar identificación de sistemas. Recibo un archivo con datos tomados de un tanque, que es el proceso a controlar. Los datos están en 4 columnas, la primera corresponde al tiempo, la segunda a la entrada sin offset, la tercera la entrada actual con offset y la cuarta la salida actual con offset. Con esos datos debo calcular la señal de salida quitándole el offset, y luego realizar una estimación de los parámetros del sistema usando mínimos cuadrados con los datos de entrada y salida sin offset. Hasta acá he podido seguir y creo que está todo correcto, sin embargo como último paso debo simular el sistema usando el comando filter de Matlab, sin embargo al hacerlo no obtengo datos de salida que se correspondan con los de entrada, sino algo así cono un pulso infinito, y no he logrado dar con el problema. Creo que me estoy dejando algo al usar el filter, y por eso no puedo simular los datos. Dejo mi programa, los datos de entrada y la salida mala que estoy obteniendo para ver si por favor pueden guiarme con lo que podría estar haciendo mal en Matlab. Cordiales saludos.

Programa:
Código:
clc
clear
load Student_data.mat %carga los datos en la matriz Log
%%
vtime=Log(:,1);% toa los datos del tiempo de la matriz Log
per=(vtime(2)-vtime(1))/1000 % calcula el período de muestreo
time=[0:per:per*length(vtime)-per]; % crea un nuevo vector de tiempo, empezando desde cero
not_off_input=Log(:,2); % datos de entrada sin offset
off_input=Log(:,3);% datos de entrada con offset
off_output=Log(:,4);%datos de salida con offet
plot(time,off_input); hold on% 
plot(time, off_output);hold on% entrada actual vs salida actual
%%
avv=mean(off_output(1:168))%promedio de los datos de salida con offset hasta el elemento 168
not_off_output=off_output-avv;% resta del promedio para obtener los datos de salida sin offset
figure
plot(time,not_off_input);hold on
plot(time, not_off_output);hold on%entrada sin offset vs salida sin offset
%%
col1=not_off_output(5:(length(not_off_output)/2)-1); % primera columna de la matriz de identificacion, desde el 5to elemento hasta ele elemento de la mitad 
col2=not_off_output(4:(length(not_off_output)/2)-2);
col3=not_off_input(5:(length(not_off_output)/2)-1);
col4=not_off_input(4:(length(not_off_output)/2)-2);
psi=[col1 col2 col3 col4]; %forma la matriz de identificación
y=not_off_output(6:length(not_off_output)/2);% crea la matriz de salidas
theta=y\psi;% calcula la matriz de errores, de donde salen los parámetros
a1=-theta(1);
a2=-theta(2);
b1=theta(3);
b2=theta(4);
%%
figure
out_fil=filter([0 b1 b2],[1 a1 a2],not_off_input);% uso del comando filter para simular los datos 
plot(time,out_fil);hold on 
clc
clear
Entrada:



Salida, dañada:

11/08/2014 #2


Alguien que me de una mano con esto, se lo agradecería muchísimo.

Saludos
11/08/2014 #3

Avatar de Eduardo

Subí el archivo student_data.mat. Es más fácil revisarlo ejecutando el código.
11/08/2014 #4


Eduardo,

Gracias por tu tiempo ya que sigo sin encontrar el error. Adjunto los datos.

Cordiales Saludos
Archivos Adjuntos
Tipo de Archivo: rar Student_data.rar (11,2 KB (Kilobytes), 3 visitas)
11/08/2014 #5

Avatar de Eduardo

No lo puedo leer, me sale esto:

Código:
??? Error using ==> load
Unable to read MAT file Student_data.mat

File may be corrupt.
Cambialo a ascii.
11/08/2014 #6


Ahí debiera cargar, saludos
Archivos Adjuntos
Tipo de Archivo: txt Student_data.txt (44,1 KB (Kilobytes), 0 visitas)
11/08/2014 #7

Avatar de Eduardo

Donde escribiste:

Código:
theta=y\psi;% calcula la matriz de errores, de donde salen los parбmetros
es al revés:

Código:
theta=psi\y;% calcula la matriz de errores, de donde salen los parбmetros

Saludos.
11/08/2014 #8


Increíble.

Muchísimas gracias, cuando uno está bloqueado no ve estas cosas.

Saludos
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Automatización, Electrónica industrial y de Potencia

En esta categoría se discuten temas relacionados con la automatización, la electrónica industrial y la instrumentación.

Cerrar
Foros de Electrónica » Temas de Interés » Automatización, Electrónica industrial y de Potencia

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.