% ESTIMACI�N DE PAR�METROS - ARX

% datos experimentales
t = 0:20;
u = [1 1 1 -1 1 -1 -1 1 -1 1 1 1 1 -1 -1 1 -1 1 -1 -1 -1]; % entrada
y = [0 -0.0889 0.0137 0.1564 0.4618 0.1771 0.3446 0.2171 -0.1558 0.0485 -0.1879 -0.1123 0.0463 0.2003 0.5007 0.3846 -0.0172 0.1513 -0.1162 0.1134 0.0502]; % salida

% set de identificaci�n
t1 = t(1:12);u1 = u(1:12); y1 = y(1:12);

% set de validaci�n
t2 = t(13:end); u2 = u(13:end); y2 = y(13:end);

plot(t1,y1,'o',t2,y2,'ro');ylabel('y');xlabel('t')

X = [y1(2:11)' y1(1:10)' u1(2:11)' u1(1:10)'];
Y = y1(3:12)';

b = inv(X'*X)*X'*Y; disp(b)

for i = 3:length(t)
    yk(i) = b(1)*y(i-1) + b(2)*y(i-2) + b(3)*u(i-1) + b(4)*u(i-2);
end
hold on
plot(t(3:end),yk(3:end))