NARX for Multi Input Multi Output system Identification

9 visualizaciones (últimos 30 días)
Hello, Can anyone please help how to use NARX method from the Neural Networks Tool box to perform system identification for a system that has Multi inputs Multi Outputs.Thanks.

Respuesta aceptada

Greg Heath
Greg Heath el 10 de Mzo. de 2013
1. Write and test your code assuming SISO
2. Convert to MIMO and test
3. If you have problems or questions, post relevant code and error messsages
Hope this helps.
Thank you for formally accepting my answer
Greg
  2 comentarios
Karima
Karima el 10 de Mzo. de 2013
Dear Greg, Thanks for answering my question , I'm actually using the NN Toolbox , it's just the first step of defining the input and output vectors that is kind of hard for me. I would be really greatful if you could help me. Knowing that the system that I need to model has 3inputs and 2outputs .
Thanks for your help
Greg Heath
Greg Heath el 10 de Mzo. de 2013
The sizes of the input and target matrices are
[ I N ] = size(x) % [ 3 N ]
[ O N ] = size(t) % [ 2 N ]

Iniciar sesión para comentar.

Más respuestas (2)

Ahmed Hakim
Ahmed Hakim el 1 de Abr. de 2013
Hello GUYS
I have the same problem
I have a model of DC motor which has two inputs (the Voltage and the Load torque) and output DC motor speed
Now I would like to identify this DC motor model with its two inputs using neural network to mimic this Motor Model
The idea is that when I change in the load torque as a disturbance the whole output of the DCM being controlled by PID is changed
So I suggested to make online identification for the DC Motor, so that when there is a disturbance change, the Neural network will identify the new MODEL and then a new design for PID will be according to this new model by Neural network
  1 comentario
Ahmed Hakim
Ahmed Hakim el 1 de Abr. de 2013
How can I make a system identification using Neural Network for a system with Two Inputs and One output

Iniciar sesión para comentar.


fabian
fabian el 24 de Jun. de 2013
I need to make the identification of a MISO system with NARX neural network. I have the following code someone can collaborate. thanks
load datoshistoricos.txt;
datoshistoricos;
u=datoshistoricos(:,1:2:3:4)';
y=datoshistoricos(:,5)';
[u,us] = mapminmax(u);
[y,ys] = mapminmax(y);
y = con2seq(y);
u = con2seq(u,587);
d1 = [1:2];
d2 = [1:2];
S1 = 20;
narx_net = narxnet(d1,d2,S1);
narx_net.divideFcn = '';
narx_net.inputs{1}.processFcns = {};
narx_net.inputs{2}.processFcns = {};
narx_net.outputs{2}.processFcns = {};
narx_net.trainParam.min_grad = 1e-10;
[p,Pi,Ai,t] = preparets(narx_net,u,{},y);
narx_net = train(narx_net,p,t,Pi);
narx_net_closed = closeloop(narx_net);
view(narx_net_closed)
mrac_net = feedforwardnet([S1 1 S1]);
mrac_net.layerConnect = [0 1 0 1;1 0 0 0;0 1 0 1;0 0 1 0];
mrac_net.outputs{4}.feedbackMode = 'closed';
mrac_net.layers{2}.transferFcn = 'purelin';
mrac_net.layerWeights{3,4}.delays = 1:2;
mrac_net.layerWeights{3,2}.delays = 1:2;
mrac_net.layerWeights{3,2}.learn = 0;
mrac_net.layerWeights{3,4}.learn = 0;
mrac_net.layerWeights{4,3}.learn = 0;
mrac_net.biases{3}.learn = 0;
mrac_net.biases{4}.learn = 0;
mrac_net.divideFcn = '';
mrac_net.inputs{1}.processFcns = {};
mrac_net.outputs{4}.processFcns = {};
mrac_net.name = 'Model Reference Adaptive Control Network';
mrac_net.layerWeights{1,2}.delays = 1:2;
mrac_net.layerWeights{1,4}.delays = 1:2;
mrac_net.inputWeights{1}.delays = 1:2;

Community Treasure Hunt

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

Start Hunting!

Translated by