Title: MIMO impulse and step response by murrayrm · Pull Request #514 · python-control/python-control · GitHub
Open Graph Title: MIMO impulse and step response by murrayrm · Pull Request #514 · python-control/python-control
X Title: MIMO impulse and step response by murrayrm · Pull Request #514 · python-control/python-control
Description: This PR implements MIMO impulse and step responses, mirroring the style and functionality of frequency response functions for MIMO systems. It resolves issue #512 and is consistent with the discussion issue #453. Specifically: If a system is MIMO, calling step_response or impulse_response will generate an array of responses (indexed by output, input, and time). Consistent with frequency response methods, if a system is SISO then by default the output will just be indexed by time. Input and output axes that are single dimensional can be removed by using the squeeze=True keyword. SISO systems can be tried as MIMO systems (retaining the output and input axes in the response) using the squeeze=False keyword. Note that the response for initial_response and forced_response is not indexed by the input (since there is no input in one case and a specifically applied input in the other). The processing of the squeeze keyword is the same: by default SISO systems will be returned without the output axis, use squeeze=True to remove single dimensional axes from MIMO systems, use squeeze=False to force SISO systems to be treated like MIMO systems. Other (small changes): Updated unit tests to make sure all of the squeezing rules are properly implemented with the new MIMO functionality. Found a bug in the way that the transpose keyword was working: it changed [output, input, time] to [time, input, output] instead of [time, output, input]. This was caught when adding unit tests. Found some errors in the MATLAB unit tests where the return arguments were in the wrong order (didn't show up with SISO only responses).
Open Graph Description: This PR implements MIMO impulse and step responses, mirroring the style and functionality of frequency response functions for MIMO systems. It resolves issue #512 and is consistent with the discus...
X Description: This PR implements MIMO impulse and step responses, mirroring the style and functionality of frequency response functions for MIMO systems. It resolves issue #512 and is consistent with the discus...
Opengraph URL: https://github.com/python-control/python-control/pull/514
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:843864b9-5d77-6171-4fcb-538846d45b63 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | B8EA:D9849:D2C35E:D57C08:697A7E37 |
| html-safe-nonce | 6db4eb252e240758cd91d1f917563ced84bb08b7af124da080594df7fa085782 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCOEVBOkQ5ODQ5OkQyQzM1RTpENTdDMDg6Njk3QTdFMzciLCJ2aXNpdG9yX2lkIjoiNDk5OTk1MDY0NzE0MzU5NTU3NSIsInJlZ2lvbl9lZGdlIjoic2VhIiwicmVnaW9uX3JlbmRlciI6InNlYSJ9 |
| visitor-hmac | 1f2ebc6fdbf3a486dedbaebac73ef00673507d8a9c221630bafbc25c72d63378 |
| hovercard-subject-tag | pull_request:557650994 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,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/514/files |
| 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 implements MIMO impulse and step responses, mirroring the style and functionality of frequency response functions for MIMO systems. It resolves issue #512 and is consistent with the discus... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | f6192227ebb08ae3d66e887f7363efea6f1ba29abe280990e1f6ad2d2962b6c8 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| 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 |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7f58967b50cdccb4b617fbacac94376e17eef59e |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width