How should be change ROOT LOCUS asymmetric?

3 ビュー (過去 30 日間)
x y
x y 2012 年 11 月 25 日
Task is find stabil interval. (root locus)
Code:
num=[1 0 0 0]
den=[1 0 5 10 1.5]
Hs=tf(num,den)
rlocus(Hs)
Result:
num =
1 0 0 0
den =
Columns 1 through 3
1.0000 0 5.0000
Columns 4 through 5
10.0000 1.5000
Transfer function:
s^3
------------------------
s^4 + 5 s^2 + 10 s + 1.5
Plot is asymmetric: http://i.imgur.com/v8dQD.png
Who can me help to solve symetrical plot?
  1 件のコメント
Azzi Abdelmalek
Azzi Abdelmalek 2012 年 11 月 26 日
編集済み: Azzi Abdelmalek 2012 年 11 月 26 日
xy, you've added a comment, then don't use answer (use comment).
What do you want exactly to do? Your question and your comment are not coherents

サインインしてコメントする。

採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2012 年 11 月 25 日
k=-1000:0.1:1000;
rlocus(Hs,k)

その他の回答 (2 件)

Jonathan Epperl
Jonathan Epperl 2012 年 11 月 25 日
That's interesting, that harmless looking transfer function really seems to be problematic for Matlab.
You have already noted that the root locus your are getting is certainly wrong -- it is not symmetric wrt the real axis, and also the real axis left of the pole at -1.3 has to lie on the root locus entirely.
Two solutions I can offer:
  • As Azzi has suggested, supply a vector of gain values with higher resolution, I suggest
rlocus(Hs, linspace(0,40,5e3));
  • Instead of drawing the root locus and eyeballing it, do some math to find the imaginary-axis crossings. The Routh-Array and Hurwitz Criteria are favorites here.

x y
x y 2012 年 11 月 26 日
Thi is not same ,but in this task is good,is symethric:
s^3
------------------------
s^4 + 5 s^2 + 10 s + 0.5
s^4 + K s^3 + 5 s^2 + 10 s + 0,5 = 0
omega^4 - K j omega^3 - 5 omega^2 + 10 j omega + 0,5 = 0
omega ^4 - 5 omega^2 + 0,5 = 0
- K j omega^3 + 10 j omega = 0 => k = 10 / omega^2
>> omega=roots([1 0 -5 0 0.5]);
>> k=10./omega.^2
k =
2.041684766872804e+000
2.041684766872800e+000
9.795831523312707e+001
9.795831523312721e+001
>> r1=rlocus(g,k(1))
r1 =
8.049116928532385e-016 +2.213123530591180e+000i
8.049116928532385e-016 -2.213123530591180e+000i
-1.990396370317212e+000
-5.128839655559203e-002
>> r2=rlocus(g,k(3))
r2 =
-9.790828968598125e+001
2.359223927328458e-016 +3.195062414783789e-001i
2.359223927328458e-016 -3.195062414783789e-001i
-5.002554714585826e-002
but i dont know how to get this:
s^4 + K s^3 + 5 s^2 + 10 s + 0,5 = 0
* omega^4 - K j omega^3 - 5 omega^2 + 10 j omega + 0,5 = 0*
* omega ^4 - 5 omega^2 + 0,5 = 0
- K j omega^3 + 10 j omega = 0 => k = 10 / omega^2 *

カテゴリ

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