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