### 1.38 How to ﬁnd closed loop step response to a plant with a PID controller?

Find and plot the step response of the plant $$\frac {1}{s^2+2s+1}$$ connected to a PID controller with $$P=10, I=3.7, D=0.7$$. Use negative closed loopback.

Mathematica

 plant= TransferFunctionModel[1/(s^2 + 2*s + 1),s]; kip = 10; ki = 3.7; kid = 0.7; pid = TransferFunctionModel[ (kip*s + ki + kid*s^2)/s, s]; openLoop = SystemsModelSeriesConnect[ TransferFunctionModel[plant], pid]; closedLoop = SystemsModelFeedbackConnect[ openLoop]; input = UnitStep[t]; output = OutputResponse[closedLoop, input, t]; Plot[{input, output}, {t, 0, 5}, PlotRange -> All, GridLines -> Automatic, GridLinesStyle -> Directive[LightGray, Dashed], Frame -> True, FrameLabel -> {{"y(t)", None}, {"t (sec)", "Step response"}}, BaseStyle -> 12] 

Matlab

 close all; clear; s = tf('s'); plant = 1/(s^2 + 2*s + 1) kip = 10; ki = 3.7; kid = 0.7; thePID = pid(kip,kid,kid); BLKSYS = append(thePID,plant); Q = [2 1; 1 -2]; closedLoop = connect(BLKSYS,Q,1,2); [y,t] = step(closedLoop); plot(t(1:140),y(1:140)); xlabel('t (sec)'); ylabel('y(t)'); title('step response'); grid