MATLAB: “feedback” amd “append” comands

appendcompensatorControl System Toolboxfeedbackstate-space

In this Matlab tutorial, DC motor control example, about 60% of the way down you see this Feedback command:
cl_rloc = feedback(dcm * append(C,1),1,1,1);
What is the purpose of "append"-ing the compensator 'C' in this closed-loop feedback design?
Before this "feedback" command, "dcm" was the 2-input / 2-state State Space equation of the DC Motor: back EMF voltage, and angular velocity. After appending, the SS equation "cl_rloc" has three states, but I don't see why it requires three, nor is the example clear what the third state would be.

Best Answer

Read the section of the example preceding this code immediately. You will see that what the example does is apply feedback control in the form of K/s (integral compensation). The feedback is applied through the first input of dcm, which as you noticed is a 2 input 1 output system.
append is needed to compute closed loop transfer function that you get when you apply feedback k/s to the first input channel of 2x1 system dcm. The resulting closed loop system has 3 states because the third state comes from the integral gain k/s.
hope my explanation helps.