MATLAB R2024 Rb
18 ビュー (過去 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!