You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
when delay block is multiplied with a discreet Transferfunction the following error will be thrown.
ERROR: MethodError: no method matching Continuous(::Discrete{Int64})
Workaround:
Create a discreet delay using c2d(delay(L), Td) then multiply with discreet Transferfunction.
It is good to have this done automatically.
The text was updated successfully, but these errors were encountered:
Since delay creates a DelayLtiSystem this suggestion would mean a discrete system multiplied by any general DelayLtiSystem would result in an automatic discretization.
I feel like discretizing general systems automatically is maybe not a good idea and should be something that is explicitly done by the programmer to avoid mistakes, thus my preference would be that it errors, but maybe the error message could be improved a bit. Though I can't say my stake in this is big, so don't listen too much to me.
I do not agree, continuous time systems and discrete-time systems are fundamentally different, and implicit conversion is a foot gun that we'd rather avoid. I thus agree with Albin that we should keep discretization an explicit action by the user.
#774 instead adds a discrete-time constructor for delay to make this smoother! Thanks for the issue :)
when delay block is multiplied with a discreet Transferfunction the following error will be thrown.
ERROR: MethodError: no method matching Continuous(::Discrete{Int64})
Workaround:
Create a discreet delay using c2d(delay(L), Td) then multiply with discreet Transferfunction.
It is good to have this done automatically.
The text was updated successfully, but these errors were encountered: