Title: I/O system class restructuring by murrayrm · Pull Request #916 · python-control/python-control · GitHub
Open Graph Title: I/O system class restructuring by murrayrm · Pull Request #916 · python-control/python-control
X Title: I/O system class restructuring by murrayrm · Pull Request #916 · python-control/python-control
Description: This PR restructures the input/output systems classes as described in issue #904 and summarized in the following diagram: In addition, a number of deprecated functions were removed and various other changes related to I/O systems were made. Summary of major changes: The NamedIOSystem class has been renamed InputOutputSystem and serves as the parent class for all input/output system classes. The LinearIOSystems class has been merged into the StateSpace class. Instances of NonlinearIOSystem can now be created using the nlsys() factory function (instead of using the class name, so more like ss and tf). All operations that used to work on a subset of I/O system classes should now work on all compatible I/O system classes: Block diagram functions (series, parallel, feedback, append, neg) now work on all I/O system classes, including nonlinear systems. Simulation functions (initial_response, step_response, forced_response) will now work for nonlinear functions (via an internal call to input_output_response). The impulse_response function only works for LTI systems. Extraneous arguments for simulation functions have been removed (see #905): The impulse_response function no longer accepts the X0 keyword. The initial_response function no longer accepts the input keyword. The step_response function still accepts the X0 keyword (to allow for non-zero equilibrium points for nonlinear systems). The __str__() method for I/O system classes now includes the name of the system and signals (via InputOutputSystem.__str__()). Redundant functions have been marked as deprecated: ss2io, tf2io. Deprecated functions and properties have been removed: pole, zero, LTI.{inputs,outputs, pole, zero}, timebaseEqual. (The pole() and zero() functions are still available in the MATLAB compatibility module, control.matlab.) The connect function generates a DeprecationWarning (use interconnect instead). Configuration defaults in the namedio module are now in the iosys module. Updated user documentation, docstrings, examples, and unit tests. What you will need to change to run version 0.10.0 (this should go in the release notes): Replace any use of the LinearIOSystem class with the StateSpace class. Replace pole() and zero() with poles() and zeros(). Additional recommended changes: Replace calls to ss2io or tf2io with calls to ss or tf, including moving signal and system naming parameters into the ss or tf call. Replace calls to StateSpace, TransferFunction, and NonlinearIOSystem with calls to the equivalent factory functions: ss(), tf(), nlsys().
Open Graph Description: This PR restructures the input/output systems classes as described in issue #904 and summarized in the following diagram: In addition, a number of deprecated functions were removed and various oth...
X Description: This PR restructures the input/output systems classes as described in issue #904 and summarized in the following diagram: In addition, a number of deprecated functions were removed and various oth...
Opengraph URL: https://github.com/python-control/python-control/pull/916
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/checks(.:format) |
| route-controller | pull_requests |
| route-action | checks |
| fetch-nonce | v2:7be8137f-957b-8426-c35e-badc7ec9a748 |
| current-catalog-service-hash | 87dc3bc62d9b466312751bfd5f889726f4f1337bdff4e8be7da7c93d6c00a25a |
| request-id | BACC:2118F9:43BBFF:5CCB00:697BC0DD |
| html-safe-nonce | 9a3b02b17ffb23ed88a5b6efe1e1c6e8b58d22d3814c641927d15b08e633a2ea |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCQUNDOjIxMThGOTo0M0JCRkY6NUNDQjAwOjY5N0JDMEREIiwidmlzaXRvcl9pZCI6IjgxMzY4ODc2MjIxODI4Nzk0NTMiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 8fc098d0c9d19ab14cd77afa63c960243eaf3f9d8df6ad99a8d2d65e05c909a8 |
| hovercard-subject-tag | pull_request:1398823213 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,checks,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/python-control/python-control/pull/916/checks |
| twitter:image | https://avatars.githubusercontent.com/u/293362?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/293362?s=400&v=4 |
| og:image:alt | This PR restructures the input/output systems classes as described in issue #904 and summarized in the following diagram: In addition, a number of deprecated functions were removed and various oth... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 300bc1c13c6b7e78c073c9264c722c624187bbdfc3b25a5b021396c805f56978 |
| turbo-cache-control | no-preview |
| go-import | github.com/python-control/python-control git https://github.com/python-control/python-control.git |
| octolytics-dimension-user_id | 2285872 |
| octolytics-dimension-user_login | python-control |
| octolytics-dimension-repository_id | 22791752 |
| octolytics-dimension-repository_nwo | python-control/python-control |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 22791752 |
| octolytics-dimension-repository_network_root_nwo | python-control/python-control |
| turbo-body-classes | logged-out env-production page-responsive full-width full-width-p-0 |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | f571aa04a5e12a930e3b781f4b1c4b4408e5ba61 |
| ui-target | canary-1 |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width