Mercurial > octave-nkf
view scripts/control/sysidx.m @ 3425:8625164a0a39
[project @ 2000-01-13 08:31:37 by jwe]
author | jwe |
---|---|
date | Thu, 13 Jan 2000 08:32:16 +0000 |
parents | f6c1c9deb22a |
children | e098ebb77023 |
line wrap: on
line source
function idxvec = sysidx(sys,sigtype,signamelist) # idxvec = sysidx(sys,sigtype,signamelist) # return indices of signals with specified signal names # inputs: # sys: OCST system data structure # sigtype: signal type to be selected: "in", "out", "st" # signamelist: list of desired signal names # outputs: # idxvec: vector of signal indices (appropriate for use with sysprune) if(nargin != 3) usage("idxvec = sysidx(sys,sigtype,signamelist)"); elseif(!is_struct(sys)) error("sys must be a system data structure"); elseif(!isstr(sigtype)) error("sigtype must be a string"); elseif(rows(sigtype) != 1) error("sigtype (%d x %d) must be a single string", ... rows(sigtype),columns(sigtype)); end # extract correct set of signal names values [idxvec,msg] = listidx( list("in","out","st","yd"), sigtype); if(msg) error("Illegal sigtype=%s",sigtype); endif syssiglist = sysgetsignals(sys,sigtype); [idxvec,msg] = listidx(syssiglist,signamelist); if(length(msg)) error("sysidx(sigtype=%s): %s",sigtype, strrep(msg,"strlist","signamelist")); end endfunction