I tried to design a timeseries neural net without a validation set and a straightforward 80/0/20 per cent ratio for the train/val/test data division split. The corresponding indices for a timeseries data set of size 100 should be

[ trainInd, valInd, testInd] = [ 1:80 , [] , 81:100 ]

I started with the most obvious command

[ trainInd, valInd, testInd] = divideblock(100, 0.8, 0.0, 0.2);

which bombed. I then tried the following variations. The resulting data splits are given:

[trainInd,valInd,testInd] = divideblock( 100) % 70/15/15

[trainInd,valInd,testInd] = divideblock( 100, 0.8) % 74/13/13

[trainInd,valInd,testInd] = divideblock( 100, 0.8, 0.0 ) % ERROR

[trainInd,valInd,testInd] = divideblock( 100, 0.8, 0.0, 0.2) % ERROR

[trainInd,valInd,testInd] = divideblock(100, 0.8, [], 0.2) %ERROR

Curious, I tried the same inputs on the other divide functions. However

1. 'divideind' never worked2. 'dividetrain' cannot produce val or test indices 3. 'dividerand' does not produce sequential indices4. 'divideint' produced the following results