JuliaControl / JuliaControl/ControlSystems.jl

lsim and lsimplot has problems with arguments u and x0

Open
#460 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
582
Forks
92
Avg merge
1h 12m
Merged PRs (30d)
2

Description

See https://discourse.julialang.org/t/controlsystems-transfer-functions-with-delay/58003/7

  • Inconsistency between normal and delayed systems in how u is defined, u(x, t) vs u(t). Can easily lead to defining a zero input since delay system also accept u(uout, t) as an inplace version.
  • Missing documentation in the online docs about lsim for delayed systems, exists in help?> menu in repl
  • Does not handle different types for x0, for example if sys is float and x0 is int array
  • lsimplot can't handle x0 at all and gives strange error message
  • Not very clear what the states are, i.e. how the delay enters the system. This is important when setting the initial state x0. It is also not very clear how the delayed states are initialized and how you can affect them (not really possible as it is now but maybe it should be).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the lsim and lsimplot entry points, then compare the delayed-system guidance in the online documentation with the help? text. Done means the u and x0 behavior is consistent and documented, lsimplot handles x0, and the state and delayed-state initialization semantics are clear.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
backend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.