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
|