MATLAB: Does the FEEDBACK function yield incorrect results when in the Control System toolbox 8.2 (R2008b)

Control System Toolbox

I am using the FEEDBACK function in the Control System toolbox 8.2 (R2008b).
When I use the ZPK function with the following code, it yields incorrect results. For example, if I use the code:
H1 = zpk([],[-2,-3+j*2,-3-j*2],1) ;
H2 = zpk([-5,-6+j*2,-6-j*2],[],2)
Hf = feedback(H1,H2)
I get the output as:
Zero/pole/gain:
-4.3885e-18 (s-2.756e08) (s+2.756e08)
-------------------------------------
(s+4.188) (s^2 + 9.812s + 33.91)
instead of :
Zero/pole/gain:
0.33333
--------------------------------
(s+4.188) (s^2 + 9.812s + 33.91)

Best Answer

This is more of a numerical issue with the transfer function.
The feedback interconnection is evaluated in state space and because H2 is improper, the result is a descriptor state-space model. The conversion back to ZPK form is where the numerical breakdown occurred in Control System toolbox 8.2 (R2008b).
The algorithms for handling descriptor state-space models have been significantly improved in Control System toolbox 8.3 (R2009a) and this issue has disappeared. A workaround in Control System toolbox 8.2 (R2008b) is to go through the TF form:
H1 = zpk([],[-2,-3+j*2,-3-j*2],1) ;
H2 = zpk([-5,-6+j*2,-6-j*2],[],2)
Hf = feedback(tf(H1),tf(H2))