Using rlocus I am confused

5 ビュー (過去 30 日間)
Madyson Davis
Madyson Davis 2023 年 3 月 29 日
回答済み: Paul 2023 年 3 月 29 日
G = tf([1 1], conv([1 2 2], [1 2 5]));
rlocus(G, linspace(-8, 0, 1000), linspace(-10,10,1000))
Error using DynamicSystem/rlocus
Invalid syntax for time or frequency response command. See command help for more information.
title('Root Locus Diagram');
xlabel('Real Axis');
ylabel('Imaginary Axis');
Confused because it keeps giving me the same error and I am wondering if I need to format it differently or something

採用された回答

Star Strider
Star Strider 2023 年 3 月 29 日
You appear to be overthinking it.
Try this —
G = tf([1 1], conv([1 2 2], [1 2 5]));
figure
rlocusplot(G)
grid
% title('Root Locus Diagram');
% xlabel('Real Axis');
% ylabel('Imaginary Axis');
The rlocusplot function has more options than rlocus, although it does not return the feedback gains. Use whatever of these functions you find best for your application.
.

その他の回答 (1 件)

Paul
Paul 2023 年 3 月 29 日
Hi Madyson,
If you want to draw the root locus for a specific range of gains, then only specify a single range at a time
G = tf([1 1], conv([1 2 2], [1 2 5]));
figure
rlocus(G, linspace(-8, 0, 1000));
title('Root Locus Diagram');
xlabel('Real Axis');
ylabel('Imaginary Axis');
Or
G = tf([1 1], conv([1 2 2], [1 2 5]));
figure
rlocus(G, linspace(-10,10,1000));
title('Root Locus Diagram');
xlabel('Real Axis');
ylabel('Imaginary Axis');
Or, use rlocusplot, but as with rlocus only specify a single gain vector.

カテゴリ

Help Center および File ExchangeClassical Control Design についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by