Title: Nyquist plot improvements by murrayrm · Pull Request #534 · python-control/python-control · GitHub
Open Graph Title: Nyquist plot improvements by murrayrm · Pull Request #534 · python-control/python-control
X Title: Nyquist plot improvements by murrayrm · Pull Request #534 · python-control/python-control
Description: This PR provides improvements to Nyquist plots: The nyquist_plot command now returns the number of encirclements of the -1 point and (optionally) the contour used to generate the plot instead of the magnitude, phase, and frequency values. (The system response can be generated from the contour by simply evaluating the LTI system along the contour). Nyquist plots now automatically create a small indentation around poles on the imaginary access, along Nyquist plots to be closed curves. Options are available to change the size of the indentation (indent_radius) and the direction of the indentation for the case of poles exactly on the imaginary axis (set indent_direction to 'left' or 'right'). Indentation can be turned off by setting indent_direction to none). Arrows are now generated using FancyArrowPatch, which provides a fixed size and aspect ratio in display coordinates (so zooming in doesn't not change the size and shape of arrows). The default arrow style can be overridden using the option arrow_size parameter or the arrow_style parameters. The number (or specific location) of arrows can be specified using the arrows keyword, which allows you to specify the number of arrows or the specific locations (via a list of relative positions on the primary segment). The line style for mirror image of the primary segment can be set using the mirror_style parameter and defaults to a dashed line. The mirror image segment can be omitted by setting mirror_style=False. The MATLAB version of nyquist retains its original call signature and return values. Before: After: Other notes: The mirror_style parameter will conflict with the mirror parameter in PR #521 (describing functions). The functionality is basically the same, but there will be a merge conflict in whichever gets merged second. (I think we should use mirror_style). The various default settings can now be set using config.defaults with module name nyquist. The control/tests/nyquist_test.py unit test file serves as a pretty complete unit test, but can also be run in python/ipython to generate plots that you can see (and make sure they look OK). I pulled the code for processing arguments for the MATLAB version of bode into a separate function (_parse_freqplot_args) that is used for both bode and nyquist. Added unit tests, docstrings, some PEP8 cleanup.
Open Graph Description: This PR provides improvements to Nyquist plots: The nyquist_plot command now returns the number of encirclements of the -1 point and (optionally) the contour used to generate the plot instead of t...
X Description: This PR provides improvements to Nyquist plots: The nyquist_plot command now returns the number of encirclements of the -1 point and (optionally) the contour used to generate the plot instead of t...
Opengraph URL: https://github.com/python-control/python-control/pull/534
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/checks(.:format) |
| route-controller | pull_requests |
| route-action | checks |
| fetch-nonce | v2:f2c9cccc-5a79-a9cc-4f54-e91fdafd5327 |
| current-catalog-service-hash | 87dc3bc62d9b466312751bfd5f889726f4f1337bdff4e8be7da7c93d6c00a25a |
| request-id | D492:115E33:121103D:1A40D76:697A2E52 |
| html-safe-nonce | b0dc1bd0f9c10da5431b832fdc937a6ef3bb70c84d4477d082ada314e234bf1a |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJENDkyOjExNUUzMzoxMjExMDNEOjFBNDBENzY6Njk3QTJFNTIiLCJ2aXNpdG9yX2lkIjoiNTQ0MjY1NTg2MTQ2NzY1NTc2MyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 9e8b1d889ee5b9d463df95be7cd94a7640b992ec7a529908283160ff75dfcab6 |
| hovercard-subject-tag | pull_request:568850711 |
| 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/534/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 provides improvements to Nyquist plots: The nyquist_plot command now returns the number of encirclements of the -1 point and (optionally) the contour used to generate the plot instead of t... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | aedfaa9f3050596e6408a19bb526c3fbd5ea149ad7a3478ad77fff1dd8ee55fb |
| 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 | 0ce8be80717b09a22037b60c04735e5a842e4373 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width