Replicating NARX architecture?

Illustration
Wang_es - 2021-07-20T10:20:26+00:00
Question: Replicating NARX architecture?

inputDelays = 1:delay; hiddenLayerSize = 1; net = narxnet(inputDelays,feedbackDelays,hiddenLayerSize); [inputs,inputStates,layerStates,targets] = preparets(net,inputSeries,{},targetSeries); net.divideParam.trainRatio = 70/100; net.divideParam.valRatio = 30/100; [net,tr] = train(net,inputs,targets,inputStates,layerStates); nets = removedelay(net); a = nets.IW{1,1}; b = nets.IW{1,2}; c = nets.b{1}; d = nets.lw{2,1}; e = nets.b{2}; tansig(a * 1 + b * 11 + c) *d + e inputSeries = tonndata(1,true,false); targetSeries = tonndata(11,true,false); [xs,xis,ais,ts] = preparets(nets,inputSeries,{},targetSeries); ys = cell2mat( nets(xs,xis,ais)) Dear all, I am trying to replicate what the NARX network does. I am using the above code, and I am not getting correct results. In particular, ys is what you'd expect (12), but my replication using matrix multiplication is an order of magnitude wrong. What am I doing wrong? Thank you very much!  

Expert Answer

Profile picture of Kshitij Singh Kshitij Singh answered . 2025-11-20

 1. Please refrain from using numbers (e.g., 1, 11 and 12) 
     as variables 

 2. Show some results using the MATLAB narxnet data 
    obtained from the commands
         a. help narxnet and/or doc narxnet  
         b. help nndatasets and/or doc nndatasets

 3. Post enough information so that your work can be 
    duplicated, e.g.,  
      a. values of both delays
      b. initial state of the random number generator

4. See some of my examples in the NEWSGROUP and ANSWERS by searching with

narxnet tutorial 

and 

 narxnet


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!