Comment fusionner deux ensembles de données dans MATLAB

Le langage de programmation MATLAB offre des fonctions prédéfinies pour la fusion d’ensembles de données dans un nouvel ensemble ou tableau. Avec quelques lignes de code simple, vous pouvez fusionner des ensembles de données dans un tableau ou une matrice triés. Un ensemble mathématique ne contient pas plus d'un membre de chaque membre de l'ensemble. Vous devez donc décider si la valeur de retour de votre opération doit également être un ensemble ou éventuellement contenir des valeurs répétées. En concaténant deux ensembles et en triant le résultat, vous obtiendrez un tableau contenant tous les membres des ensembles originaux.

1.

Chargez deux ensembles de données dans l'espace de travail MATLAB à l'aide de la commande «load» ou en créant de nouveaux ensembles à partir de tableaux existants. Utilisez des fonctions de tableau, telles que «union», «intersecter» ou «setdiff» pour créer un ensemble à partir de deux variables de tableau, comme indiqué dans les lignes suivantes:

set1 = union (array1, array2); set2 = setdiff (array1, array2);

2

Concaténer des ensembles avec la fonction «chat», qui les combine dans un tableau ordonné tête-bêche. Par exemple, si “set1” contient “[2, 4, 5]” et “set2” contient “[1, 3, 6]”, leur concaténation renvoie le tableau “[2, 4, 5, 1, 3, 6]. ”La fonction“ cat ”prend également une dimension de tableau comme premier paramètre, comme dans la commande suivante:

array3 = cat (1, set1, set2);

La variable "array3" sera dans ce cas un tableau à une dimension.

3

Triez un tableau avec la commande «sort», qui trie les valeurs par défaut dans l'ordre croissant. La commande «sort» place les tableaux de types de caractères dans l’ordre ASCII. Ainsi triés, les chiffres et certains caractères spéciaux viennent avant les lettres et les majuscules avant les minuscules.

4

Fusionnez deux types de données différents, comme vous le feriez avec des types de données identiques. Par exemple, lorsque vous concaténez un tableau de chaînes et un tableau d'entiers, MATLAB convertit les entiers en un type de caractère. Le tri du résultat place les nombres avant les lettres, ou vous pouvez les trier avec le mot-clé «descendre» pour les mettre dans l'ordre inverse, comme suit:

mixed_array = cat (1, char_array, num_array); sort (mixed_array, 'descend');

Le mot-clé «descendre» se trouve dans une paire de guillemets simples.

5

Placez deux ensembles de données entre crochets pour les concaténer en utilisant moins de touches. Les crochets ont la même signification dans MATLAB que la fonction «cat» mais avec une syntaxe quelque peu différente. Les opérateurs deux points et points-virgule redessinent vos tableaux en vecteurs de colonne et tableaux multidimensionnels, respectivement. Par exemple, pour fusionner deux ensembles de données dans un tableau à deux dimensions, utilisez l'opérateur point-virgule comme dans la ligne suivante:

array2d = [set1; set2];

Le tri de ce tableau aura le même résultat que le tri des ensembles séparément avant leur concaténation. La fonction «sort» gardera les lignes du tableau multidimensionnel séparées.

Conseils

  • Enregistrez les données fusionnées dans un fichier MATLAB à l’aide de la commande «enregistrer». Spécifiez uniquement un nom de fichier pour enregistrer toutes les variables actuellement chargées dans l'espace de travail. Ajoutez les noms de variable des valeurs à enregistrer si vous souhaitez enregistrer uniquement certaines valeurs. Par exemple, pour enregistrer la variable «array2d» dans un fichier appelé «merged_sets», utilisez la commande suivante:
  • save (merged_sets, array2d);
  • Rechargez le fichier dans l'espace de travail à l'aide de la commande suivante:
  • load (merged_sets);

Recommandé