I am trying to convert my Symbolic transfer function (e.g. (m.s^2+c.m.s+c.m^2)/s^3+2.m.c.s^2+2.c.s-c^2.m) into zero-pole form like [((s-c/m)(s-2.c.m))/(s-cm)(s-m/2.c)(s-cm)] by using command tf2zp but it is giving
error "DOUBLE cannot convert the input expression into a double array.
If the input expression contains a symbolic variable, use VPA."
Can somebody help to fix this error because i need pole-zero form in symbolic form. I would be very grateful.
Symbolic expressions are not read as transfer functions, you need to turn it into a
tfto be able to usetf2zpI'm not sure about the VPA option but you can try turning the numerator and denominator into vectors by using
sym2polyand then using them as the[num, den]required intf2zp(this is, assuming
candmare numeric values. If they are all symbolic I think it might be a bit more complicated)