Transfer function with ARX

17 views (last 30 days)
Victor Lazo
Victor Lazo on 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))

Answers (0)

Categories

Find more on Geology in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!