help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: rlocus


From: Andrei
Subject: Re: rlocus
Date: Fri, 22 Jun 2007 10:42:23 -0500
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.13) Gecko/20060414

Eduardo Adam wrote:

Thanks Andrei, your suggestion works very well, however, the following mesage is written

octave:2> [ro,k_breaks,roots,gains,x_breaks]=rlocus(tf(n,d),0.1,0,10);
warning: in /usr/share/octave/2.1.73/m/control/base/rlocus.m near line 2, column 35:
warning: rlocus: some elements in list of return values are undefined

Try to install Octave 2.9.12

Anyway, I have what I'm looking for, that is, the roots related to the gain.
One more question, please,
Is there any control toolbox manual in the web? Because, your suggestion with rlocus comand doesn't appear in the trational help.

Yes, you can go to http://octave.sourceforge.net/
and have the documentation: http://octave.sourceforge.net/doc/index.html

If you want, I developed a function, having a specific zeta, obtain the gain and the roots(pirlocus).
http://mexinetica.com/~audreiev/archivos/dev/octave/

Thanks.
Eduardo.



In that case, you should specify the returning parameters:
[ro,k_breaks,roots,gains,x_breaks]=rlocus(tf(n,d),0.1,0,10)
and you will get all the roots of the system in variable "roots", with
their respective gains in vector "gains".
i.e.
roots(:,1)     are from    gain(1)

Eduardo Adam wrote:
On Thursday 21 June 2007 14:04, Andrei wrote:

Andrei

ro in your case is the graph, that is plotted.
the rlocus function returns multiple roots of the system and graph with
different gain (K),
This is exactly what I want.  That is, multiple roots for different gain
(K) and the comand,
[ro,Kr]=rlocus(tf(n,d),0.1,0,10)

it doesn't work on my Kubuntu.

if you want a specific root, you should use the feedback function for a
closed loop, convert the system form to a transfer function and get the
roots of the denominator:
octave:1> n=1; d=[1 3 2 0];
octave:2>[num,den]=feedback(tf(n,d),tf(1,1));
octave:3>roots(den)
ans =
  -2.32472 + 0.0000i
  -0.33764 + 0.56228i
  -0.33764 - 0.56228i

Eduardo Adam wrote:
Hi everyone,

I'm sorry for this basic question but I'm a new octave user and, I'm
accustumed to used matlab.  So, I ran the following comands:

octave:1> n=1; d=[1 3 2 0];
octave:2> [ro,Kr]=rlocus(tf(n,d),0.1,0,10)
warning: in /usr/share/octave/2.1.73/m/control/base/rlocus.m near line
3, column 8:
warning: rlocus: some elements in list of return values are undefined
ro = [](0x0)
Kr =

-0.38490
0.38490


My question is, why I have the answer ro=[]?
I'm interested in the closed loop roots and, according to the help,
rlocus would have to provide the roots

On the other hand, the comand
octave:3> rlocus(tf(n,d),0.1,0,10)

it works perfectly.
My octave version is 2.1.73 and I'm working with linux-kubuntu.


Thanks to everyone.

Eduardo
_______________________________________________
Help-octave mailing list
address@hidden
https://www.cae.wisc.edu/mailman/listinfo/help-octave




reply via email to

[Prev in Thread] Current Thread [Next in Thread]