Transfer function with ARX

17 vues (au cours des 30 derniers jours)
Victor Lazo
Victor Lazo le 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))

Réponses (0)

Catégories

En savoir plus sur Geology dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by