www.gusucode.com > control 案例程序 matlab源码代码 > control/DisplayBlockValuesOfTunedControlSystemModelExample.m
%% Display Block Values of Tuned Control System Model % Tune the following control system using |systune|, and display the values % of the tunable blocks. % % <<../showtunable1.png>> % % The control structure includes a PI controller |C| and a tunable low-pass % filter in the feedback path. The plant |G| is a third-order system. %% % Create models of the system components and connect them together to create % a tunable closed-loop model of the control system. s = tf('s'); num = 33000*(s^2 - 200*s + 90000); den = (s + 12.5)*(s^2 + 25*s + 63000); G = num/den; C0 = tunablePID('C','pi'); a = realp('a',1); F0 = tf(a,[1 a]); X = AnalysisPoint('X'); T0 = feedback(G*X*C0,F0); T0.InputName = 'r'; T0.OutputName = 'y'; %% % |T0| is a |genss| model that has two tunable blocks, the PI controller, % |C|, and the parameter, |a|. |T0| also contains the switch block |X|. %% % Create a tuning requirement that forces the output |y| to track the input % |r|, and tune the system to meet that requirement. Req = TuningGoal.Tracking('r','y',0.05); [T,fSoft,~] = systune(T0,Req); %% % |systune| finds values for the tunable parameters that optimally meet % the tracking requirement. The output |T| is a |genss| model with the same % Control Design Blocks as |T0|. The current values of those blocks are % the tuned values. %% % Examine the tuned values of the tunable blocks of the control system. showTunable(T) %% % |showTunable| displays the values of the tunable blocks only. If you use % |showBlockValue| instead, the display also includes the switch block |X|.