function name = ppp_ex9 (ReturnName) ## usage: name = ppp_ex9 (ReturnName) ## ## PPP example -- a standard multivariable example ## $Id$ ## Example name name = "Turbogenerator example: system TGEN from J.M Maciejowski: Multivariable Feedback Design"; if nargin>0 return endif ## System [A,B,C,D] = tgen; [n_x,n_u,n_y] = abcddim(A,B,C,D) ## Controller t = [1.0:0.01:2.0]; # Time horizon # A_w = zeros(n_y,1); # Setpoint # TC = 2*[1 1]; # Time constants for each input # A_u = []; # for tc=TC # Input # A_u = [A_u;ppp_aug(laguerre_matrix(3,1/tc), 0)]; # endfor A_w = 0; A_u = ppp_aug(ppp_aug(laguerre_matrix(2,1.0),laguerre_matrix(2,2.0)), A_w) Q = [1;1]; # Output weightings ## Design and plot W = [1;2] [ol_poles,cl_poles,ol_zeros,cl_zeros,k_x,k_w,K_x,K_w] = ppp_lin_plot (A,B,C,D,A_u,A_w,t,Q,W); # ol_poles, cl_poles # k_x,k_w # K_X = [K_x -K_w] # A_c = A - B*k_x; # K_X_comp = ppp_open2closed (A_u,[A_c B*k_w*W; zeros(1,n_x+1)],[k_x -k_w*W]) endfunction