MATLAB R2024 Rb

조회 수: 11 (최근 30일)
Shahin
Shahin 2024년 12월 5일
댓글: Andrew Ouellette 2024년 12월 9일
In MATLAB 2024 Rev B, the rlocus command is not working correctly for complex tranfer functions! Here is an example
s=tf('s')
rlocus((60*s^5 + 242*s^4 + 728*s^3 + 564*s^2 - 549*s)/(120*s^4 + 484*s^3 + 1456*s^2 + 1128*s + 1170))
in whuch MATLAB 2021 gives a different plot than MATLAB 2024. The plot of the 2021 ver is correct. What changed?
  댓글 수: 2
Cris LaPierre
Cris LaPierre 2024년 12월 5일
If you think you have found a bug, please report that here: https://www.mathworks.com/support/contact_us.html
Paul
Paul 2024년 12월 5일
Hi Shahin,
That is interesting. It looks like the markers for the open-loop poles and zeros are the opposite of standard conventions. Is that the only issue? I confirmed that the locus looks the same in R2024a but the pole and zero markers are as expected, so this is a new development in R2024b.
s=tf('s');
figure
rlocus((60*s^5 + 242*s^4 + 728*s^3 + 564*s^2 - 549*s)/(120*s^4 + 484*s^3 + 1456*s^2 + 1128*s + 1170));
The problematic example is an improper transfer function. rlocus looks correct for a proper transfer function.
figure
rlocus((s+1)*(s+2)/(s^2 + 2*.5*2*s + 4))
If you open a case with Tech Support, would you mind posting back here with their response?

댓글을 달려면 로그인하십시오.

답변 (1개)

Andrew Ouellette
Andrew Ouellette 2024년 12월 9일
Hi Shahin,
2 notes:
1) In R2024b as of update 2, rlocusplot() generates an incorrect response for improper models. This bug will be fixed in a future R2024b update and for future versions of MATLAB.
2) As of R2024b, rlocusplot() does not support complex models. You will receive errors when launching the chart with complex models specified, and you will receive errors when updating an existing chart response to use a complex model.
  댓글 수: 2
Paul
Paul 2024년 12월 9일
편집: Paul 2024년 12월 9일
Is there also a problem with rlocus as well as rlocusplot?
Is the problem only the markers for the open-loop poles and zeros? Or is there a problem with the plot of the trajectories of the closed-loop poles?
"Complex model" means a model with complex coefficients?
Andrew Ouellette
Andrew Ouellette 2024년 12월 9일
Hi Paul,
This issue occurs only for the no-output syntax of rlocus(), which is a redirect to rlocusplot(). The markers for poles and zeros are swapped, but the trajectories are otherwise correct.
And yes, by complex model I mean ones with complex coefficients (ones where isreal() returns false).
rlocusplot(rss(3)*1j)
Error using DynamicSystem/rlocusplot (line 145)
Cannot compute the root locus of models with complex data.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Classical Control Design에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by