Y a-t-il une commande à Matlab qui me permet de trouver tous les éléments
3 Réponses :
Je viens de trouver la réponse:
k=find(isnan(yourarray))
Dans MATLAB, vous n'avez souvent pas besoin d'appeler Rechercher () sur une matrice logique car les matrices logiques peuvent être utilisées directement au lieu d'indices pour la plupart des opérations supplémentaires, voir par exemple blogs.mathworks.com/loren/2006/08/09/SESSENCE-OF-Intexing
Il y a des moments où vous avez juste besoin de la matrice logique et qu'il y a des moments où vous avez besoin des indices. Je suis d'accord de ne pas faire des opérations inutiles, mais l'OP n'a pas précisé qu'il voulait dire qu'il voulait. Cette réponse est correcte.
Pendant que ISNAN est la solution correcte, je vais simplement souligner le chemin pour l'avoir trouvé. Utilisez LookPour. Lorsque vous ne connaissez pas le nom d'une fonction dans Matlab, essayez de regarder pour.
lookfor nan
Comme indiqué, la meilleure réponse est Isnan () (bien que +1 pour la méta-réponse de Woodchips). Un exemple plus complet de la façon de l'utiliser avec une indexation logique: isnan (a) renvoie un tableau logique, une matrice de true et false de la même taille que A, avec "vrai" chaque Place il y a une Nan, qui peut être utilisée pour Index dans un. a> p> p>
J'ai accepté votre réponse parce que vous m'avez montré comment remplacer la NAN avec 0 valeur, ce qui est inestimable à mon objectif.