Transfer function with ARX

17 Ansichten (letzte 30 Tage)
Victor Lazo
Victor Lazo am 6 Nov. 2019
Obtain a transfer function from historical data.
I have used this document as a guide: Identify Linear Models Using the Command Line. With 2 input variables I had no major problem. But my doubt is when I have 4 or more inputs for a single output.
My doubt is
  1. Use a "delay_system = delayest(ze,2,4,0,20,640000)" % ¿Is the rigth form?
My code is:
%
Input1 = [VfFeed VfSOL VfVel VfFINO]; % 4 inputs
Input2 = [VfFeed2 VfSOL2 VfVel2 VfFINO2]; % 4 inputs
Ts = input(Ts);
ze = iddata(VfWeigth,Input1,Ts); % 1 output, 4 Inputs, Time
zv = iddata(VfWeigth2,Input2,Ts); % 1 output, 4 Inputs, Time
Ze1 = ze(1:1800);
Zv1 = zv(1:1800);
delay_system = delayest(ze,2,4,0,20,640000) %
%delay_system = nk1 nk2 nk3 nk4
NN1 = struc(na1,nb1,nk1); % na1= 2:nk1; nb1 = 1:nk1; nk1 %
ARX_model1 = selstruc(arxstruc(ze(:,:,1),zv(:,:,1),NN1))
NN2 = struc(na2,nb2,nk2); % na2= 1:nk2; nb2 = 1:nk2; nk2 %
ARX_model2 = selstruc(arxstruc(ze(:,:,2),zv(:,:,2),NN2))
NN3 = struc(na3,nb3,nk3); % na3= 2:nk3; nb3 = 1:nk3; nk3 %
ARX_model3 = selstruc(arxstruc(ze(:,:,3),zv(:,:,3),NN3))
NN4 = struc(na4,nb4,nk4); % na4= 1:nk4; nb4 = 1:nk4; nk4 %
ARX_model4 = selstruc(arxstruc(ze(:,:,4),zv(:,:,4),NN4))

Antworten (0)

Kategorien

Mehr zu Geology finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by