-
Notifications
You must be signed in to change notification settings - Fork 438
bandwidth feature #889
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
bandwidth feature #889
Conversation
…n-control into feature_bandwidth
Thanks for this contribution, @SCLiao47. I think the I have some other suggestions, but if you agree with the change above then I would start there, since it will move things around. |
@murrayrm thank you for the comments and suggestions. The [Regarding development flow]
|
Hi @SCLiao47 i think only the classes that derive from LTI should get a bandwidth method: tf, ss, and frd. As for your question about development: adding new commits to your branch is very seamless. Add them to your own branch (on your own computer) and then, when you do git push origin, they will appear right here on your pull request. Our main branch name is grandfathered in as master. |
I've updated the documentation to refer to the main branch (master is deprecated). |
@sawyerbfuller @murrayrm thank you for the suggestions and comments. I've restructured the FRDAs for the Development flowI think I need to make sure I understand the flow and might need some clarification. In step 8 of the contribute wiki page, the intention is to update and sync the local code (on my machine) to the upstream version (python-control/python-control). What happened in the instructions:
If the above understanding is correct, I wonder about the following:
|
Correct.
Correct.
Yes, the commands make sure that your local feature branch also has all the recent changes of your recently updated local
If you didn't change anything in your local main before the merge, you don't need to push. The push is a noop then. In that case the merge will be a fast-forward and it is sufficient to alternatively just. git switch main; git pull But if you have changes in local main (which you should not), you will notice here.
Yes, but then you need the push so that your
|
As discussed in #690, the bandwidth feature is added to the LTI class.
Implementation:
freqplot._default_frequency_range
.scipy.optimize.root_scalar
) is used to solve for the bandwidth in the frequency bracketNotes:
np.nan
, which follows the convention of Matlab.scipy.optimize.root
suggested in issue Create matlab's equivalent to bandwidth. #690. The suggested approach requires an initial guess and might fail, e.g., a system with a resonant peak at a frequency higher than the bandwidth.Notes on git commits:
git commits are duplicated as I was having some issues to push. I pulled (suggested by git error hint), and it prompts
"merge made by the 'recursive' strategy.
Not sure whether this is a problem.