MATLAB Answers


Dynamic Neural Network [NARX] - How to use training set

Asked by Wompy
on 19 Sep 2013
Latest activity Commented on by Greg Heath
on 29 Sep 2013


I have process with laser power and velocity as inputs and temperature as output and i want to model the process with a neural network. Later on, an adaptive controller of the process based on model (with prediction) would be a possible future project. So currently I use a PID controller for the laser to reach a certain temperature, the velocity is an external influence. I worked through the Neural Network Toolbox book by Demuth and I made some assumptions that I hope are correct, please help me out with this:

-I consider a NARX to be the right architecture since the upcoming temperature heavily depends on previous temperatures.

-Levenberg-Marquardt is according to the book the most powerful algo for function analysis

- This procedure is the right approach:

So I have ran the process 30 times (starting with zero laser power, zero velocity and room temperature) and no I want to feed them into the network. Is the batch mode here the right approach? If not, how do merge the data for the input (I would assume one epoch is one run of the process). Is it even possible to have multiple inputs (power,velocity) in such a network?

Thanks for every bit of information that you can provide! Kind regards, Wompy



No products are associated with this question.

1 Answer

Answer by Greg Heath
on 19 Sep 2013
 Accepted answer

Most neural networks are , in general, multi-input/multi-output. Just interpret the input, hidden and output variables as column vectors. If you go to

help nndatasets

you can find a MATLAB dataset that will represent most of the troubling features of your problem.

Practice on that. If you have problems, post relevant code and error messages.

Hope this helps.

Thank you for formally accepting my answer



on 19 Sep 2013

Thanks Greg for your quick answer, I took the polution dataset out of the help page and it helped a lot in understanding those cell structures. Still I would like to know if my assumptions above are so far correct. I am also still not sure if I understood epoch correctly. Using 20 000 Cells with that input pair and one output value, nntraintool only needed 14 epoches (does this mean 14-out-of-20000) to set up the model. Is this due to the low complexity of my artificial data (i added some gaussian noise)?

Greg Heath
on 29 Sep 2013

What assumptions? Be specific

What about epoch? Be specific

What do you mean by 20000 Cells? cell has a specific meaning in MATLAB

Each epoch processes all of the data once.

What artificial data?

Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!