GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||
GeezerVison is showing github.com — Time response data class by murrayrm · Pull Request #649 · python-control/python-control Conversation
Member
This PR adds a Old approach (still works): New approach: The attributes Other notes:
At a future date, we may want to consider adding some additional functionality:
I'm still not completely sure if this is a useful PR, but I was motivated by the way a similar approach taken in JuliaControl and thought I would give it a try. Suggestions and comments welcome (will leave in draft form for a bit to allow for discussion).
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions
|
There was an error while loading. Please reload this page.
|
Coverage increased (+0.2%) to 90.079% when pulling 136d6f4 on murrayrm:timeresponse_class into 18976c1 on python-control:master. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
If you call me a skeptic about object-oriented software I'll answer "guilty as charged" but this seems pretty cool and would work well with #645. I also like the potential utility for future system identification routines, and for future plotting functionality. Presumably when the latter comes we can do things like add label text, which can come in handy. It would be nice, in the interest of minimizing friction for quick analyses of SISO systems, to have the shorter I'm not sure I understand the concept of a trace. is that different than the 3D array that encodes [output, input, time]? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
The latest push fixes an inconsistency in the way that squeeze processing was handled for states versus input/outputs. In the original code, squeeze processing was never applied to the state vector. The consequence was that if you used To avoid breaking code, I set things up so that if you access the state vector through the old interface (by assigning one of the time response systems to a tuple with As in the original PR, all legacy code continues to run unchanged and there are new unit tests to validate the updated behavior for the new interface. Alternatively, I would be OK making everything consistent across output, state, and input squeeze processing, but then we would break existing code. So my thought was to leave that in place and eventually deprecate it (perhaps after we have implemented all of the suggestions in #645). |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
It's the same. I decided to use the term "trace" because in the case of step/impulse response it happens to be the case that each trace (simulation run) corresponds to choosing one of the inputs. But more generally, you could imagine having multiple input/output traces (eg, for the aforementioned system ID) and a given trace might just be come combination of inputs. Note also that |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
I've added the ability to store labels in the latest commit and set things up so that the signals names for I/O systems, if present, are copied over as the default labels for |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@billtubbs Would this PR help with what you were working on for #645 ? ie., should we merge this PR? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I've been using the branch with this PR as my default branch for a while and everything seems OK. Ready to be merged, I think. @billtubbs You mentioned in a separate note that you had made progress on #645. Does this conflict with that? If not, we can probably go ahead and merge. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
I don't think so. I haven't looked at this in detail but I was only planning to fix the specific axes and figure problems with some of the plot functions |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.