Scilab Function

extraction - extraction à partir d'une matrice ou d'une liste

Sequence d'appel

x(i,j)
x(i)
[...]=l(i)
[...]=l(k1)...(kn)(i) ou [...]=l(list(k1,...,kn,i))
l(k1)...(kn)(i,j) ou l(list(k1,...,kn,list(i,j))

Parametres

Description

  • CAS DES MATRICES i et j peuvent être :
  • - des scalaires, vecteurs ou matrices à éléments positifs.
  • * r=x(i,j) construit la matrice r telle que r(l,k)=x(int(i(l)),int(j(k))) pour l variant de 1 à size(i,'*') et k variant de 1 à size(j,'*'). La valeur maximale de i (resp. j) doit être inférieure ou égale à size(x,1) (resp. size(x,2)).
  • * r=x(i)x est une matrice 1 x 1, construit la matrice r telle que r(l,k)=x(int(i(l)),int(i(k))) pour l variant de 1 à size(i,1) et k variant de 1 à size(i,2). Noter que dans ce cas l'indice i est valable si toutes ses composantes sont égales à 1.
  • * r=x(i) avec x un vecteur ligne, construit le vecteur ligne r tel que r(l)=x(int(i(l))) pour l entre 1 et size(i,'*') La valeur maximale de i doit être inférieure ou égale à size(x,'*').
  • * r=x(i) avec x une matrice à une ou plusieurs colonnes, construit la matrice r telle que r(l) (l variant de 1 à size(i,'*')) contient le terme numéro int(i(l)) du vecteur colonne issu de la concaténation des colonnes de x. La valeur maximale de i doit être inférieure ou égale à size(x,'*').
  • - Le symbole : signifiant "tous les éléments".
  • * r=x(i,:) construit la matrice r telle que r(l,k)=x(int(i(l)),k)) pour l variant de 1 à size(i,'*') et k variant de 1 à size(x,2)
  • * r=x(:,j) construit la matrice r telle que r(l,k)=x(l,int(j(k))) pour l variant de 1 à size(r,1) et k variant de 1 à size(j,'*').
  • * r=x(:) construit le vecteur colonne r obtenu par concaténation des colonnes de x. Cette commande est équivalente à r=matrix(x,size(x,'*'),1).
  • - vecteur de booléens. Si un indice (i ou j ) est un vecteur de booléen il est interprété comme find(i) ou find(j), respectivement.
  • - un polynôme. Si un indice (i ou j ) est un vecteur de polynômes ou de polynômes implicites il est interprété comme horner(i,m) ou horner(j,n), respectivement, où m et n sont les dimensions de x associées. Même si cette fonctionnalité marche pour tous les polynômes, il est recommandé d'utiliser des polynômes dans $ par souci de lisibilité.
  • CAS DES LISTES (types LIST et TLIST) S'ils sont présents les ki donnent le chemin vers un terme d'une sous-liste de la liste l. Ils permettent de faire une extraction récursive directe sans utiliser de variable intermédiaire. Les instructions [...]=l(k1)...(kn)(i) et [...]=l(list(k1,...,kn,i)) sont interprétées comme : lk1 = l(k1) .. = .. lkn = lkn-1(kn) [...] = lkn(i) De même, les instructions l(k1)...(kn)(i,j) et l(list(k1,...,kn,list(i,j)) sont interprétées comme : lk1 = l(k1) .. = .. lkn = lkn-1(kn) lkn(i,j) i et j, peuvent valoir : Quand le chemin désigne plusieurs termes d'une liste l'instruction doit avoir autant de termes dans la liste des arguments du membre de gauche que le nombre de termes sélectionnés. Mais si la syntaxe d'extraction est utilisée dans les arguments d'entrée d'une fonction, chaque terme renvoyé est ajouté aux arguments d'entrée.
  • Notez que l(list() est identique à l.

  • - scalaire, vecteur ou matrice à termes positifs [r1,...rn]=l(i) extrait les termes i(k) de la liste l et les stocke dans les variables rk pour k variant de 1 à size(i,'*')
  • - le symbole : ("tous les éléments")
  • - vecteur de booléens. Si i est un vecteur de booléens, il est interprété comme find(i).
  • - un polynôme. Si i est un vecteur de polynômes ou de polynômes implicites il est interprété comme horner(i,m)m=size(l). Même si cette fonctionnalité marche pour tous les polynômes, il est recommandé d'utiliser des polynômes dans $ par souci de lisibilité.
  • k1,..kn peuvent être :
  • - un nombre réel positif
  • - un polynôme, interprété comme horner(ki,m) ou m est la taille de la sous-liste correspondante.
  • - une chaîne de caractères associée à un nom d'entrée de sous-liste
  • REMARQUES

    Exemples

    Voir aussi