Effacer les filtres
Effacer les filtres

Subscript indices must either be real positive integers or logicals.

1 vue (au cours des 30 derniers jours)
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 commentaires
David Young
David Young le 11 Mar 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.

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 11 Mar 2015

Plus de réponses (1)

Deep Gogoi
Deep Gogoi le 16 Mar 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);
"

Catégories

En savoir plus sur Image Data Workflows dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by