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
Objet Scilab. Définition d'une liste typée
Séquence d'appel
tlist(typ,a1,....an )
Paramètres
- typ
chaîne de caractères ou matrice de chaînes de caractères
- ai
objet Scilab (
matrice, liste, chaîne...
).
Description
Crée une liste typée
avec les éléments ai
. L'argument typ
spécifie le nom du type. L'utilisateur peut redéfinir
les opérateurs et primitives de Scilab pour ces nouveaux objets à l'aide de fonctions Scilab (voir overloading
). La seule différence entre les listes typées et les listes (voir list
)
est la valeur numérique du type (16 au lieu de 15).
typ(1)
spécifie le nom du type (cette chaîne de caractères est utilisée dans les noms des fonctions surchargeant les opérateurs et primitives).
S'il est spécifié, typ(i)
donne le nom formel de l'élément i+1
(voir plus bas dans les exemples).
Les opérations standard sur les listes fonctionnent similairement pour les listes typées (tlist).
extraction
: [x,y,z...]=l(v)
ou v
est un vecteur d'indices;
[x,y,z]=l(:)
extrait tous les éléments.
insertion
: l(i)=a
suppression : l(i)=null()
supprime le i-ème
élément de la tlist l
. A noter que la
sémantique de l.x=null()
n'est pas définie,
mais qu'il est possible de lui donner un sens par surcharge (voir
overloading).
affichage
De plus si les composantes typ(2:n+1)
sont
spécifiées, les éléments peuvent être désignés par leur noms
formels.
Voici quelques exemples d'utilisation des liste typées :
Dans Scilab, les systèmes dynamiques linéaires sont définis par une liste typée :
le quadruplet [A,B,C,D]
est représenté par la tlist
Sys=tlist(['lss';'A';'B';'C';'D';'X0';'dt'],A,B,C,D,x0,'c')
et cette tlist spécifique est créée par la fonction syslin
.
Sys(2), Sys('A') ou Sys.A est la matrice d'état et Sys('dt') ou Sys.dt est le domaine temporel.
Une matrice rationnelle H
est représentée par la tlist
H=tlist(['r';'num';'den';'dt'],Num,Den,[])
où Num
et Den
sont deux
matrices polynomiales et un système dynamique linéaire (en temps continu) peut être créé sous la forme d'une
matrice de transfert H
par syslin('c',H)
.
H(2), H('num') ou H.num est le numérateur de la matrice de transfert
Exemples
// 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 | Structures | cell >> |