Satimage Précédent | Suivant
Suppression de données dans une matrix
Accueil Documentation Smile Calcul numérique Le calcul avec Smile Suppression de données dans une matrix  
Vous pouvez supprimer des lignes d'une matrix à l'aide d'une colonne de masquage.
  • Pour supprimer des lignes d'une matrix selon certaines conditions, construisez un masque et appliquez-le avec la commande maskarray. Le masque doit être un array of real de taille égale au nombre de colonnes de la matrix de départ (nrows) comprenant des 0 et des 1. Vous pouvez construire un masque en appliquant une formule booléenne avec evalformula.
    maskarray élimine les lignes qui correspondent à des valeurs nulles du masque.
    set b to {0.0, 1.0, 10.0, 11.0, 20.0, 21.0} as array of real
    set c to ArrayToMatrix(b, 2, 3)
    set m to {0.0, 1.0, 1.0}
    set d to maskarray c with m
    display d
      --  Result:
    10.000000    11.000000
    20.000000    21.000000
  • Etant donné que {a, b, c} as matrix renvoie la matrix dont les colonnes sont a, b et c, les opérations maskarray et as matrix commutent.
    (maskarray {a, b, c} with mk) as matrix
      -- est équivalent à
    maskarray ({a, b, c} as matrix) with mk
English version
Copyright ©2008 Paris, Satimage