J'ai le vecteur [0 0 1 1 0 1 1 0 1]
. Je voudrais trouver des indices de 0 et 1s. Je l'ai essayé d'utiliser la commande find
, mais je suis obtenir:Erreur Matlab en utilisant la commande find
0x1 empty double column vector
J'ai le vecteur [0 0 1 1 0 1 1 0 1]
. Je voudrais trouver des indices de 0 et 1s. Je l'ai essayé d'utiliser la commande find
, mais je suis obtenir:Erreur Matlab en utilisant la commande find
0x1 empty double column vector
Alors que aahung's answer retourne correctement les positions des 0
's et 1
' s , le cas typique d'utilisation de ces indices serait de choisir des éléments d'un autre tableau correspondant à ces positions. Si tel est le cas, il faut compter sur l'indexation logique au lieu defind
:
tfArr = [0 0 1 1 0 1 1 0 1];
data = reshape(magic(3),1,[]); % [8,3,4,1,5,9,6,7,2]
dataWhereOnes = data(logical(tfArr))
% equivalently to the above : data(~~tfArr)
dataWhereZeros = data(~tfArr)
qui se traduit par:
dataWhereOnes =
4 1 9 6 2
dataWhereZeros =
8 3 5 7
S'il vous plaît modifier la question et ajouter ** le code exact que vous êtes en utilisant **, et quelle est la sortie désirée dans ce cas? Qu est ce que tu veux faire avec? –