%% UgTsNarxFeedback
% 
%% load data

% Copyright 2015 The MathWorks, Inc.

load magdata
y = con2seq(y);
u = con2seq(u);

%% create network
d1 = [1:2];
d2 = [1:2];
narx_net = narxnet(d1,d2,10);
narx_net.divideFcn = '';
narx_net.trainParam.min_grad = 1e-10;
[p,Pi,Ai,t] = preparets(narx_net,u,{},y);

%% train network
narx_net = train(narx_net,p,t,Pi);

%% simulate network
yp = sim(narx_net,p,Pi);
e = cell2mat(yp)-cell2mat(t);
plot(e)

%% close loop
narx_net_closed = closeloop(narx_net);

%% view open
view(narx_net)

%% view closed
view(narx_net_closed)

%%  prediction
y1 = y(1700:2600);
u1 = u(1700:2600);
[p1,Pi1,Ai1,t1] = preparets(narx_net_closed,u1,{},y1);
yp1 = narx_net_closed(p1,Pi1,Ai1);
TS = size(t1,2);
plot(1:TS,cell2mat(t1),'b',1:TS,cell2mat(yp1),'r')

