'Create an instance of the appropriate subclass.'

def __new__(cls, *system):

    if (cls is lti):
        N = len(system)
        if (N == 2):
            return TransferFunctionContinuous.__new__(TransferFunctionContinuous, *system)
        elif (N == 3):
            return ZerosPolesGainContinuous.__new__(ZerosPolesGainContinuous, *system)
        elif (N == 4):
            return StateSpaceContinuous.__new__(StateSpaceContinuous, *system)
        else:
            raise ValueError('`system`    needs    to    be    an    instance    of    `lti`    or    have    2,    3    or    4    arguments.')
    return super(lti, cls).__new__(cls)
