Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.1.0 - Français


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=rlist(Num,Den,[])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)

Voir aussi

  • null — supprime un élément d'une liste, ou un champ d'une structure, M-liste ou T-liste
  • percent — caractère spécial
  • syslin — définition d'un système dynamique linéaire
  • list — Objet Scilab, Définition d'une liste
  • mlist — Objet Scilab, définition d'une liste typée
Report an issue
<< struct Listes Structures Cells tree_show >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon May 22 12:39:43 CEST 2023