www.gusucode.com > robust 案例源码程序 matlab代码 > robust/HinfstructTuningOfAControlSystemInMATLABExample.m
%% hinfstruct Tuning of a Control System in MATLAB % %% Load the plant load hinfstruct_demo G %% Create Tunable Model of PI controller C = tunablePID('C','pi'); %% Create Tunable Model of Low-Pass Filter a = realp('a',1); F = tf(a,[1 a]); %% Specify Target Loop shape wc = 1000; s = tf('s'); LS = (1+0.001*s/wc)/(0.001+s/wc); %% Label inputs and outputs of components Wn = 1/LS; Wn.InputName = 'nw'; Wn.OutputName = 'n'; We = LS; We.InputName = 'e'; We.OutputName = 'ew'; C.InputName = 'e'; C.OutputName = 'u'; F.InputName = 'yn'; F.OutputName = 'yf'; %% Specify Summing Junctions Sum1 = sumblk('e = r - yf'); Sum2 = sumblk('yn = y + n'); %% Connect the elements T0 = connect(G,Wn,We,C,F,Sum1,Sum2,{'r','nw'},{'y','ew'}); %% Examine T0 blocks T0.Blocks %% Tune model [T,gamma,info] = hinfstruct(T0); %% Tuned closed-loop step response Try = getIOTransfer(T,'r','y'); step(Try)