Subscript indices must either be real positive integers or logicals.

1 visualización (últimos 30 días)
The code is:
%%%NARX code %% 1. Importing data
load input; load target; % %%S = load('magdata'); % %%X = con2seq(S.u); % %%T = con2seq(S.y); % To scale the data it is converted to its log value:
%loginput = log(input); % logtarget = log(target); % X = tonndata(loginput,false,false); % T = tonndata(logtarget,false,false); X = con2seq(input); T = con2seq(target); %% 2. Data preparation N = 15; % Multi-step ahead prediction % Input and target series are divided in two groups of data: % 1st group: used to train the network
inputSeries = X(1:end-N); targetSeries = T(1:end-N); % 2nd group: this is the new data used for simulation. inputSeriesVal will % be used for predicting new targets. targetSeriesVal will be used for % network validation after prediction inputSeriesVal = X(end-N+1:end); targetSeriesVal = T(end-N+1:end);% This is generally not available
%% 3. Network Architecture delay = 2; neuronsHiddenLayer = 50; % Network Creation net = narxnet(1:delay,1:delay,neuronsHiddenLayer); %% 4. Training the network [Xs,Xi,Ai,Ts] = preparets(net,inputSeries,{},targetSeries); net = train(net,Xs,Ts,Xi,Ai); view(net) Y = net(Xs,Xi,Ai); % Performance for the series-parallel implementation, only % one-step-ahead prediction perf = perform(net,Ts,Y); %% 5. Multi-step ahead prediction inputSeriesPred = [inputSeries(end-delay+1:end),inputSeriesVal]; targetSeriesPred = [targetSeries(end-delay+1:end), con2seq(nan(1,N))]; netc = closeloop(net); view(netc) [Xs,Xi,Ai,Ts] = preparets(netc,inputSeriesPred,{},targetSeriesPred); yPred = netc(Xs,Xi,Ai); perf = perform(net,yPred,targetSeriesVal); figure; plot([cell2mat(targetSeries),nan(1,N); nan(1,length(targetSeries)),cell2mat(yPred); nan(1,length(targetSeries)),cell2mat(targetSeriesVal)]') legend('Original Targets','Network Predictions','Expected Outputs')
  2 comentarios
David Young
David Young el 11 de Mzo. de 2015
As you can see yourself, the code isn't readable, so you are unlikely to get an answer. You can fix this using the "{} Code" button.
You should also include a statement of what the problem is and which line of code produces an error message.

Iniciar sesión para comentar.

Respuesta aceptada

Image Analyst
Image Analyst el 11 de Mzo. de 2015

Más respuestas (1)

Deep Gogoi
Deep Gogoi el 16 de Mzo. de 2015
I have enclosed my .m file . I can't remove the error at line number 29. The error is
" Subscript indices must either be real positive integers or logicals.
Error in ==> rainfall at 29 inputSeriesVal = X(end-N+1:end);
"

Categorías

Más información sobre Marine and Underwater Vehicles en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by