Main Content


Add delay to neural network response


net = adddelay(net,n)


net = adddelay(net,n) takes these arguments,


Neural network


Number of delays

and returns the network with input delay connections increased, and output feedback delays decreased, by the specified number of delays n. The result is a network that behaves identically, except that outputs are produced n timesteps later.

If the number of delays n is not specified, a default of one delay is used.


collapse all

This example shows how to create, train, and simulate a time delay network in its original form, on an input time series X and target series T. Then the delay is removed and later added back. The first and third outputs will be identical, while the second result will include a new prediction for the following step.

Time Delay

[X,T] = simpleseries_dataset;
net1 = timedelaynet(1:2,20);
[Xs,Xi,Ai,Ts] = preparets(net1,X,T);
net1 = train(net1,Xs,Ts,Xi);

Figure Neural Network Training (19-Aug-2023 11:42:05) contains an object of type uigridlayout.

y1 = net1(Xs,Xi);

Remove Delay

net2 = removedelay(net1);
[Xs,Xi,Ai,Ts] = preparets(net2,X,T);
y2 = net2(Xs,Xi);

Add Delay

net3 = adddelay(net2);
[Xs,Xi,Ai,Ts] = preparets(net3,X,T);
y3 = net3(Xs,Xi);

Version History

Introduced in R2010b