Skip to content

use dt=0 instead of dt=None (unspecified timebase) as default option for lti systems? #422

Description

@sawyerbfuller

I was wondering if somebody could tell me the motivation behind the current convention for default initialization of LTI systems to have dt=None? Using dt=None means an unspecified time base, allowing the system to be interpreted either as cont or discrete time. (I couldn't find any discussion of this but please let me know if I missed it).

A system with an unspecified dt seems to be an unusual object:

  • printing out its transfer function shows 's' as the complex variable, suggesting it is a cont-time system
  • but isdtime(sys) evaluates to true (but not if strict=True is specified) -- I thought this was a bug at first
  • cont and discrete time systems have substantially different behavior, which seems to be at odds with the notion that an object should know how to handle itself

Have you thought about using a default of dt=0 (continuous time), and leave the dt=None case be a special case, to be instantiated only when needed? (Issue #419 made me think of this and is related)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions