Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

MIMO impulse and step response#514

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged

Conversation

murrayrm
Copy link
Member

This PR implements MIMO impulse and step responses, mirroring the style and functionality of frequency response functions for MIMO systems. It resolves issue#512 and is consistent with the discussion issue#453. Specifically:

  • If a system is MIMO, callingstep_response orimpulse_response will generate an array of responses (indexed by output, input, and time).
  • Consistent with frequency response methods, if a system is SISO then by default the output will just be indexed by time.
  • Input and output axes that are single dimensional can be removed by using thesqueeze=True keyword.
  • SISO systems can be tried as MIMO systems (retaining the output and input axes in the response) using thesqueeze=False keyword.

Note that the response forinitial_response andforced_response isnot indexed by the input (since there is no input in one case and a specifically applied input in the other). The processing of thesqueeze keyword is the same: by default SISO systems will be returned without the output axis, usesqueeze=True to remove single dimensional axes from MIMO systems, usesqueeze=False to force SISO systems to be treated like MIMO systems.

Other (small changes):

  • Updated unit tests to make sure all of the squeezing rules are properly implemented with the new MIMO functionality.
  • Found a bug in the way that thetranspose keyword was working: it changed [output, input, time] to [time, input, output] instead of [time, output, input]. This was caught when adding unit tests.
  • Found some errors in the MATLAB unit tests where the return arguments were in the wrong order (didn't show up with SISO only responses).

@murrayrmmurrayrm linked an issueJan 19, 2021 that may beclosed by this pull request
@murrayrmmurrayrm added this to the0.9.0 milestoneJan 19, 2021
@coveralls
Copy link

coveralls commentedJan 19, 2021
edited
Loading

Coverage Status

Coverage increased (+0.004%) to 87.611% when pulling28bbe7f on murrayrm:mimo_impulse_step_response into0a08ff2 on python-control:master.

If present, the response represents ony the listed input.

output : int, optional
If present, the response represents ony the listed input.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Ifpresent,theresponserepresentsonythelistedinput.
Ifpresent,theresponserepresentsonlythelistedoutput.

Copy link
Contributor

@sawyerbfullersawyerbfuller left a comment

Choose a reason for hiding this comment

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

Looks good to me with one small doc change.

also: not changed in this PR but maybe the right place to fix it: on line 20 inconfig.py is a duplicated setting:
'control.squeeze_time_response': True,

@murrayrmmurrayrmforce-pushed themimo_impulse_step_response branch from6e64f92 to28bbe7fCompareJanuary 20, 2021 06:58
@murrayrmmurrayrm merged commit1502d38 intopython-control:masterJan 20, 2021
@murrayrmmurrayrm deleted the mimo_impulse_step_response branchJanuary 24, 2021 16:43
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@sawyerbfullersawyerbfullersawyerbfuller approved these changes

Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
0.9.0
Development

Successfully merging this pull request may close these issues.

allow arrays of step, impulse responses for LTI systems
3 participants
@murrayrm@coveralls@sawyerbfuller

[8]ページ先頭

©2009-2025 Movatter.jp