Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
tlist
Scilab object and typed list definition.
Calling Sequence
tlist(typ,a1,....an )
Arguments
- typ
Character string or vector of character strings
- ai
Any Scilab object (
matrix, list,string...
).
Description
Creates a typed-list
with elements ai
's. The typ
argument specifies the list type. Such typed-list
allow the user
to define new operations working on these object through scilab
functions. The only difference between typed-list
and list
is the value of the type (16 instead of 15).
typ(1)
specifies the list type (character string used to define
soft coded operations)
if specified typ(i)
may give the i+1
th element formal name
Standard Operations on list
work similarly for typed-list
:
extraction
: [x,y,z...]=l(v)
where v
is a vector of indices;
[x,y,z]=l(:)
extracts all the elements.
insertion
: l(i)=a
deletion : l(i)=null()
removes the i-th
element of the tlist l
. Note that the
semantics of l.x=null()
is undefined, but a
definition can be given through the overloading mechanism.
display
Moreover if typ(2:n+1)
are specified, user may point elements by
their names
We give below examples where tlist are used.
Linear systems are represented by specific typed-list
e.g. a
linear system [A,B,C,D]
is represented by the tlist
Sys=tlist(['lss';'A';'B';'C';'D';'X0';'dt'],A,B,C,D,x0,'c')
and this specific list may be created by the function syslin
.
Sys(2), Sys('A') or Sys.A is the state-matrix and Sys('dt') or Sys.dt is the time domain
A rational matrix H
is represented by the typed-list
H=tlist(['r';'num';'den';'dt'],Num,Den,[])
where Num
and Den
are two
polynomial matrices and a (e.g. continuous time) linear system with
transfer matrix H
maybe created by syslin('c',H)
.
H(2), H('num') or H.num is the transfer matrix numerator
Examples
// tlist creation t = tlist(["listtype","field1","field2"], [], []); t.field1(1) = 10; t.field1(2) = 20; t.field2(1) = "Scilab"; t.field2(2) = "tlist"; t.field2(3) = "example"; // Fields contents display disp(t.field1) disp(t.field2) // Generic tlist display disp(t) // Overloading display for this type of tlist function %listtype_p(mytlist) f = fieldnames(mytlist); // typeof(mytlist) <=> f(1) mprintf("Displaying a tlist of type: %s\n", typeof(mytlist)); mprintf("\n"); mprintf("-- Field ''%s'' --\n", f(1)); mprintf("Contents: %s\n", sci2exp(mytlist(f(1)))); mprintf("\n"); mprintf("-- Field ''%s'' --\n", f(2)); mprintf("Contents: %s\n", sci2exp(mytlist(f(2)))); endfunction // Display using overloading function disp(t)
<< struct | Data Structures | Parameters >> |