how to pass parameters in arx function for MISO system identification

10 visualizaciones (últimos 30 días)
This is my code for an estimation of a MISO system:
na= 1;
nb1=1;
nb2=1;
sampleTime = 300; % seconds
inputNames = ["HCL_in", "NaHCO3"];
outputName = "HCL_out";
data = iddata(Dati1_timetable{:,outputName}, Dati1_timetable{:, inputNames}, sampleTime);
sys5 = arx(data, [na nb1 nb2])
and I have this error :
Error using arx (line 84)
the model orders must be compatible with the input an output dimensions of the estimation data.
if I substitute ONLY " inputNames = ["HCL_in", "NaHCO3"]; " with this: " inputNames = HCL_in; " , so from MISO to SISO system identification, all works fine.
Please help me, thanks.
  1 comentario
jefferson
jefferson el 16 de En. de 2025
Movida: Walter Roberson el 16 de En. de 2025
Where can I get theoretical information for implementing a MISO system? I need to solve a case similar to this.

Iniciar sesión para comentar.

Respuesta aceptada

Giovanni Barba Orsato
Giovanni Barba Orsato el 15 de Sept. de 2023
Solved, unlike the theory books where it is specified by the relative degrees, it is necessary to specify the delay for each input. In my case, it is 0 due to very slow sampling time, so I solved it with:
na= 1;
nb1=1;
nb2=1;
nk1=0;
nk2=0;
sampleTime = 300; % seconds
inputNames = ["input_1_name", "input_2_name"];
outputName = "output_name";
data = iddata(Dati1_timetable{:,outputName}, Dati1_timetable{:, inputNames}, sampleTime);
sys5 = arx(data, [na nb1 nb2 nk1 nk2])

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by