Thanks to visit codestin.com
Credit goes to github.com

Skip to content

sort loci in PoleZeroData #1070

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Dec 2, 2024

Conversation

murrayrm
Copy link
Member

@murrayrm murrayrm commented Dec 2, 2024

This small PR adds the option to sort loci when creating a PoleZeroData object. This is useful if you create a PoleZeroData object in some way other than calling root_locus_map (which sorts the data ahead of time).

The need for this functionality came up when working through Example 5.17 of FBS2e (bicycle eigenvalue location versus speed), as shown in the following code:

https://github.com/murrayrm/fbs2e-python/blob/main/example-5.17-bicycle_stability.py

(At some point I would like to generalized the root locus capability to allow plotting an eigenvalue locus diagram against any free parameter in a nonlinear system, but that will take more time and effort.)

@coveralls
Copy link

coveralls commented Dec 2, 2024

Coverage Status

coverage: 94.689% (-0.008%) from 94.697%
when pulling d220068 on murrayrm:pzdata_sort-25Nov2024
into 57b5307 on python-control:main.

control/pzmap.py Outdated
@@ -79,11 +79,13 @@ class PoleZeroData:
System name.
sys : StateSpace or TransferFunction
System corresponding to the data.
sort_loci : bool, optional)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
sort_loci : bool, optional)
sort_loci : bool, optional

Copy link
Member

@slivingston slivingston left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a small misprint in the docstring. Besides that, this is ready to merge.

Not related to code: the PR description refers to Example 6.8 but links to Example 5.17. This PR is clearly relevant to Example 5.17, so I guess "Example 6.8" is a misprint or perhaps example numbers changed in the book, but I want to bring attention to it in case it indicates that more actions are necessary.

@murrayrm murrayrm merged commit 69efbbe into python-control:main Dec 2, 2024
12 checks passed
@murrayrm murrayrm added this to the 0.10.2 milestone Feb 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants