Comment extraire des zéros dans Matlab
Étape 1
Copiez la matrice de données d'origine dans une autre variable en affectant sa valeur à un nouveau nom de variable. Si vous devez utiliser la matrice telle qu'elle était avant de supprimer les zéros, vous pouvez utiliser cette nouvelle variable.
Si la matrice s'appelle M, par exemple, affectez-la à une nouvelle variable appelée Mzeros. Pour ce faire, tapez "Mzeros = M" (sans les guillemets) dans la ligne de commande Matlab.
Étape 2
Enregistrez la matrice de données d'origine dans un fichier texte au cas où vous en auriez besoin ultérieurement, à l'aide de la fonction "dlmwrite" de MATLAB. Si la variable MATLAB qui stocke accidentellement vos données est supprimée ou écrasée, vous pouvez recharger les données d'origine à partir de ce fichier texte.
Par exemple, si la matrice de données d'origine est stockée dans la variable Mzeros, tapez "dlmwrite ('Mzeros.dat', Mzeros)" (sans les guillemets) pour écrire Mzeros dans un fichier texte appelé Mzeros.dat.
Vous pouvez ignorer cette étape si les données sont déjà stockées dans un fichier texte.
Étape 3
Décidez si vous devez conserver votre matrice de données de la même taille et de la même forme. Conservez la taille et la forme de la matrice si les lignes de la matrice et les colonnes ont une signification spécifique (par exemple, chaque ligne représente un test expérimental différent et chaque colonne représente une quantité de mesure différente). Pour conserver la même taille et la même forme, remplacez chaque valeur zéro par une valeur de remplacement NaN (qui représente "n'est pas un nombre").
Pour remplacer les valeurs de zéros par NaN dans une matrice appelée M, écrivez "M (M == 0) = NaN" sans les guillemets. Assurez-vous d'écrire M == 0 avec deux signes d'égalité. Cette commande indique à MATLAB de trouver tous les éléments de M égaux à zéro et de les remplacer par NaN.
Tout dans la matrice reste dans la même position (la même ligne et la même colonne), mais tous les zéros seront maintenant NaN. Étant donné que la plupart des fonctions MATLAB ignorent les valeurs de NaN, vous pouvez représenter graphiquement et analyser les données comme si les NaN n'étaient pas présents, ce qui permet d'obtenir des résultats significatifs.
Étape 4
Vous pouvez supprimer complètement les éléments nuls (au lieu de les remplacer par des espaces réservés) si le tableau est une simple liste de valeurs, sans lignes ni colonnes significatives. Pour éliminer les éléments nuls dans une matrice appelée M, écrivez "M (M == 0) = []" (sans les guillemets). Assurez-vous d'écrire M == 0 avec deux signes d'égalité. Cette commande indique à MATLAB de trouver tous les éléments de M égaux à zéro et de les remplacer par []. [] représente "vide". La substitution d'une valeur par [] supprime cet élément.
Si M était une matrice à deux dimensions, il s'agira désormais d'un vecteur de colonne, contenant tous les éléments non nuls du M d'origine, pris comme colonne. Par exemple, si M était un tableau avec deux lignes et quatre colonnes:
[1 6 0 3 2 0 7 4]
maintenant ce sera [1 2 6 7 3 4].
Si M était un vecteur (une seule ligne ou une seule colonne), il s'agira désormais d'un vecteur plus court. Par exemple, si M était [1 2 0 3], maintenant ce sera [1 2 3].
La matrice change de forme et de taille lorsque vous supprimez les éléments nuls. Mais comme la matrice n'a pas de valeur de paramètre NaN, vous pouvez analyser les données, même avec les fonctions MATLAB qui n'ignorent pas les valeurs NaN.