u = 0.9;
aX = zeros(2000, 1);
aY = zeros(2000, 1);
X = zeros(2000, 1);
Y = zeros(2000, 1);
X(1) = 0.3;
Y(1) = 0.3;
for i=2:2000
x = X(i - 1);
y = Y(i - 1);
t = 0.4 - 6 / (1 + x * x + y * y);
X(i) = 1 + u * (x * cos(t) - y * sin(t));
Y(i) = u * (x * sin(t) + y * cos(t));
end
for i=1:1500
aX(i) = X(i+1);
aY(i) = Y(i+1);
end
X = X';
Y = Y';
aX = aX';
aY = aY';
a = mapminmax(X);
b = mapminmax(Y);
p = [a' b']';
a = mapminmax(aX);
b = mapminmax(aY);
t = [a' b']';
net = newff([-1 1; -1 1],[20,20,20,20,2],{'tansig','tansig','tansig','tansig','purelin'});
net = init(net);
net.trainParam.show = 1;
net.trainParam.epochs = 300;
net.trainParam.goal = 1e-5;
[net,tr]=train(net,p,t);