Transfer function with ARX
17 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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
- 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))
0 commentaires
Réponses (0)
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!