I understand what OutputResponse is doing in the first two examples below.
sys=TransferFunctionModel[{{{1+z}},0.1-0.667*z+z^2},z,SamplingPeriod->1];
u1=Join[{-1},ConstantArray[0,17]];
ListPlot[OutputResponse[sys, u1]]
(* result is not displayed *)
Second example:
u2=Join[ConstantArray[0,8],{1},ConstantArray[0,9]];
ListPlot[OutputResponse[sys, u2]]
(* result is not displayed *)
Next I see that OutputResponse[sys, {u1}] gives the exact same result OutputResponse[sys, {u1,u2}].
response1=OutputResponse[sys,{u1}];
response12=OutputResponse[sys,{u1,u2}];
response1===response12
(* True *)
The last line of the OutputResponse usage message says,
OutputResponse[sys, {u1, ..., um} ] gives the output response for multiple inputs ui.
So why are response1 and response12 above exactly the same? Also, please explain a simple example that uses this feature of OutputResponse where the result is affected by both u1 and u2.






