Automatic Control Systems By Benjamin C Kuo 8th Edition Solution Manual 28 -

% 4. Compute state‑feedback gain K K = place(A,B,desiredPoles); % or: K = acker(A,B,desiredPoles);

% 6. Closed‑loop matrices Acl = A - B*K; % state‑feedback only % If using observer: Acl_obs = [A-B*K, B*K; zeros(size(A)), A-L*C]; % or: K = acker(A

% 5. (Optional) Design observer gain L % Desired observer poles are usually 5–10× faster: obsPoles = 5*desiredPoles; L = place(A',C',obsPoles)'; % dual problem L = place(A'

% 3. Desired poles (example: 2% overshoot, 0.5 s Ts) zeta = 0.78; % approx. for 2% overshoot wn = 4/(zeta*0.5); % natural frequency p1 = -zeta*wn + 1i*wn*sqrt(1-zeta^2); p2 = conj(p1); extraPoles = -10*wn*ones(1,size(A,1)-2); % fast poles desiredPoles = [p1 p2 extraPoles]; 0.5 s Ts) zeta = 0.78

% 7. Simulate step response sys_cl = ss(Acl,B, C, D); figure; step(sys_cl); title('Closed‑loop step response (state‑feedback)');