[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Announce: beta release of OCST-2.0
From: |
A. Scottedward Hodel |
Subject: |
Announce: beta release of OCST-2.0 |
Date: |
Tue, 08 Dec 1998 15:18:16 -0600 |
In order to avoid future trouble, I've rewritten the Octave Control Systems
Toolbox
(OCST) to store signal names as lists of strings instead of string matrices.
A beta-release of the new version is at
ftp://ftp.eng.auburn.edu/pub/hodel/ocst-2.0.0.1.tar.gz
and has not yet been incorporated into the "bleeding-edge" Octave releases.
I'd appreciate feedback on this beta release from those who have the time
and inclination to check it out.
I've tested the code with DEMOcontrol.m (the OCST demonstration program), which
is a decent but incomplete test suite.
Documentation: Currently only in the modified DEMOcontrol script (see esp.
system representation and block diagram manipulation). Will soon also be
in control.texi
New features:
- all signal names (states, inputs, outputs) are represented
as lists of strings. Lists were added to Octave in version 2.1.10.
- Additional functions added to OCST so that system data structure
manipulation
is more "object-oriented"
- sysdimensions: modifid to return all or individual system dimensions:
[nc,nd,mm,pp] = sysdimensions(sys);
mm = sysdimension(sys,"in");
- sysgetsignals: get all signal names, some signal names, or 1 signal name.
[stnames,innames,outnames] = sysgetsignals(sys);
stnames = sysgetsignals(sys,"st");
stname_4 = sysgetsignals(sys,"st",4); # returns a list with state
name 4 as its
# single entry
stname_4 = sysgetsignals(sys,"st",4,1): # returns the string of state
name 4
- syssetsignals: change signal names (individually or as a group)
- is_signal_list: returns nonzero if input parameter is a legal
list of signal names.
Incompatibilities with prior versions: While I tried to make function calls
backward compatible, m-files that directly access the system data structure
may not work. For example:
*** n_outputs = rows(sys.outname);
=> Since signal names are lists, rows(sys.outname) returns -1.
instead of the above, use any of the following.
[n_c_states,n_d_states,n_inputs,n_outputs] = sysdimensions(sys);
n_outputs = sysdimensions(sys,"out");
n_outputs = length(sysgetsignals(sys,"out"));
*** sys.stname(3,1:5) = "VOLT5"
=> It is not advised to directly access the system data structure.
=> Further, lists can only take one subscript. Instead of the above, use
sys = syssetsignals(sys,"st",5,"VOLT5");
I do not expect incompatibilities if users stick with the object-oriented
functions (see sysrepdemo.m, bddemo.m). Beta testing is to check whether or
not I'm right.
A S Hodel Assoc. Prof. Dept Elect Eng, Auburn Univ,AL 36849-5201
On leave at NASA Marshall Space Flight Center (256) 544-1426
http://www.eng.auburn.edu/~scotte
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Announce: beta release of OCST-2.0,
A. Scottedward Hodel <=