octave-maintainers
[Top][All Lists]
Advanced

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

Re: Revised rlocus m-file


From: Daniel J Sebald
Subject: Re: Revised rlocus m-file
Date: Tue, 13 Mar 2007 13:34:02 -0600
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20041020

John W. Eaton wrote:
On 25-Feb-2007, Daniel J Sebald wrote:

| What I'm seeing has the makings of a root locus plot, but a bit jumbled 
because of some changes in plotting scripts.  (E.g., seems 1,2,3,etc. are no 
longer options... but I've replaced 1 2 3 with r g b just to see what results.) 
 I'll send you a PNG picture.  Let me know if it is as intended.  Otherwise, 
tell us what you are trying to achieve or what to expect (PNG?) and I might be 
able to suggest some things.  For example, the existing behavior of rlocus() 
looks to try and do some form of shading.  If that is what is intended, gnuplot 
can now create shaded or color polygons.
| | Dan | | | A. Scottedward Hodel wrote: | > At the request of my students, I've rewritten the octave rlocus | > script. The revised script implements the following changes: | > | > (1) The dots are now connected: instead of a '.' linespoint style, it | > now uses a "-" line style, which makes the plots easier to read. | > (2) Real axis breakpoints are included in the gains so that the line- | > plots are symmetric about the real axis. | > (3) Bounds on the maximum gain are computed so that asymptotic behavior | > can be seen. | > | > I've done some simple testing on this, but it would be good for a few | > others to run it through its paces. | > | > Here's a couple of sample test commands. The revised rlocus file is | > also attached. | > | > I didn't use a diff because it's a pretty substantial rewrite of the | > code, other than the portion that smooths the plot. | > | > rlocus(zp([1+j, 1-j], [-1+2*j, -1-2*j,-5, -6, -7],1));
| > rlocus(zp(-0.1,[0 0 -2],1))

I made some changes to the script for the current plotting code and
checked it in.  I think it works better now with the current CVS
Octave and current gnuplot.

Yes, I now see just the open loop poles and zeros and no "linespoints" to 
confuse matters.  So the locus now looks like what I'd expect; segments start at open 
loop poles, ends at open loop zeros.

John, I was going to spruce things up in this rlocus plot, make the markers a 
little bigger, add some asymptotes, maybe the axis lines to emphasize the 
negative half plane.  However, I'm getting back a handle pointer which doesn't 
seem quite right.  In rlocus.m I placed the following:

   hplt = plot (args{:});
   get(hplt)

and I get
ans =
{
 type = line
 parent = -1
 children = [](0x0)
 xdata =

    1.0000
    1.0000

 ydata =

    1.0000
   -1.0000

 zdata = [](0x0)
 ldata = [](0x0)
 udata = [](0x0)
 xldata = [](0x0)
 xudata = [](0x0)
 color =

    0   1   0

 linestyle =
 linewidth =  0.50000
 marker = o
 markersize =  1
 keylabel = zeros
}

But this is the handle to the *zeros* only.  Should "plot", even with this 
argument format, return a handle to the whole plot?  In other words, if one goes to the 
__plt2vv__.m

   retval = line (x, y, "keylabel", key, "color", color,
                   "linestyle", options.linestyle,
                   "marker", options.marker);

which, I think, ends up being the retval, but that isn't the handle for the 
whole plot, is it?

Also, I notice in the rlocus.m plot that the zeros are actually filled dots, not open circles.  It turns out now that 
the "pentagram" gets mapped to the open circle.  Currently in plot options "o" in the filled 
circle.  Shouldn't "o" be the open circle, not "pentagram"?

Dan


reply via email to

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