MATLAB R2024 Rb
조회 수: 11 (최근 30일)
이전 댓글 표시
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
2024년 12월 5일
If you think you have found a bug, please report that here: https://www.mathworks.com/support/contact_us.html
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
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
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
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)
참고 항목
카테고리
Help Center 및 File Exchange에서 Classical Control Design에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

