Skip to content

sort loci in PoleZeroData#1070

Merged
murrayrm merged 2 commits into
python-control:mainfrom
murrayrm:pzdata_sort-25Nov2024
Dec 2, 2024
Merged

sort loci in PoleZeroData#1070
murrayrm merged 2 commits into
python-control:mainfrom
murrayrm:pzdata_sort-25Nov2024

Conversation

@murrayrm

@murrayrm murrayrm commented Dec 2, 2024

Copy link
Copy Markdown
Member

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

coveralls commented Dec 2, 2024

Copy link
Copy Markdown

Coverage Status

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

Comment thread control/pzmap.py Outdated
System name.
sys : StateSpace or TransferFunction
System corresponding to the data.
sort_loci : bool, optional)

Copy link
Copy Markdown
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

@slivingston slivingston left a comment

Copy link
Copy Markdown
Member

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
@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