Title: Update Nyquist rescaling + other improvements by murrayrm · Pull Request #1155 · python-control/python-control · GitHub
Open Graph Title: Update Nyquist rescaling + other improvements by murrayrm · Pull Request #1155 · python-control/python-control
X Title: Update Nyquist rescaling + other improvements by murrayrm · Pull Request #1155 · python-control/python-control
Description: This PR addresses issue #1143 by changing the way that rescaling is handled in nyquist_plot. The prior code saturated the Nyquist curve at max_curve_magnitude, which would leave to confusing plots when the Nyquist curve had interesting features at large magnitude, since all of that detail was "collapsed" onto the limiting circle. In the new code, a 1-1 rescaling function is used that maps large magnitude features into a continuous range of magnitudes starting at a "blend point" and going out to max_curve_magnitude. The result is that the features of the Nyquist curve can be more easily visualized. The fraction of the Nyquist curve that is "blended" is set with a new parameter blend_fraction, that defaults to 0.20 (so the last 20% of the Nyquist curve prior to max_curve_magnitude is rescaled, with everything from the blend point to $\infty$ mapping from the blend point to max_curve_magnitude. Using the example that @JonHowMIT raised in issue #1143, we go from this: to this: The original behavior can be retained by setting blend_fraction=0. A few other changes that are also part of this PR: Updated max_curve_magnitude from a default of 20 to 15 (this allows the -1 point to be see better). Updated the default number of arrows from 2 to 3 (looked better in the gallery of plots available in control/tests/nyquist_test. Modified control/tests/nyquist_test to generate a gallery of plots when run as a script (via python or ipython). Changed the output of nyquist_plot to match its documentation. In particular, cplt.lines was returning a 1D array instead of a 2D array (as done in all other _plot functions). Updated unit tests and examples.
Open Graph Description: This PR addresses issue #1143 by changing the way that rescaling is handled in nyquist_plot. The prior code saturated the Nyquist curve at max_curve_magnitude, which would leave to confusing plots...
X Description: This PR addresses issue #1143 by changing the way that rescaling is handled in nyquist_plot. The prior code saturated the Nyquist curve at max_curve_magnitude, which would leave to confusing plots...
Opengraph URL: https://github.com/python-control/python-control/pull/1155
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/checks(.:format) |
| route-controller | pull_requests |
| route-action | checks |
| fetch-nonce | v2:89c6ed14-0ebc-f7b5-3783-e17b3de00573 |
| current-catalog-service-hash | 87dc3bc62d9b466312751bfd5f889726f4f1337bdff4e8be7da7c93d6c00a25a |
| request-id | AB60:2F07B:C7AFAD:116B7E2:697B5A50 |
| html-safe-nonce | 757677a190843a325ea7bc2ffcf5725b8f033a30c2a9b8aea0456a727dc6a0dd |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBQjYwOjJGMDdCOkM3QUZBRDoxMTZCN0UyOjY5N0I1QTUwIiwidmlzaXRvcl9pZCI6IjY4NzQ0NjcyNTc4MDQzNDc5ODQiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 1693b6696207a66fafa09e00b5b6d74a680c4a27105164f7861d5e0c95c3398c |
| hovercard-subject-tag | pull_request:2609229889 |
| 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/1155/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 addresses issue #1143 by changing the way that rescaling is handled in nyquist_plot. The prior code saturated the Nyquist curve at max_curve_magnitude, which would leave to confusing plots... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 7eed3e20c41f6c464df945b1f353a52c450ca1653f4697d4ebcc58c2adc5868a |
| turbo-cache-control | no-cache |
| 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 | b059c4725f1b62cc8534bdab4092fd840e833907 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width