Visualisation de champs dans Matlab

De POLR
Révision datée du 1 décembre 2017 à 17:21 par Sennevil (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Sauter à la navigation Sauter à la recherche

fonctions utiles

squeeze

Pour visualiser les variables ayant plus de 2 dimensions (4-D double dans matlab par exemple), utilisez la fonction squeeze pour réduire le nombre de dimensions. Si les valeurs non singulières se retrouvent dans les 2 premières dimensions de la variable (ex: A(:,:,12,25)), le squeeze n'est peut-être pas nécessaire, mais il est recommandé de le faire en tout temps.

pcolor vs unit8

Dans certains cas, les données se trouvant dans une variable doivent être converties en un autre format pour être argument d'une fonction. La fonction pcolor par exemple ne supporte pas unit8. Le champ doit donc être transformé en double comme ceci double(A) avant d'en faire une figure avec pcolor. Pour d'autres langages informatiques compilés, certains compilateurs utilisés peuvent être très capricieux sur le format des variables.

pcolor vs imagesc

Pour illustré un champ, 2 fonctions sont disponible dans matlab: pcolor et imagesc. Voici ce qui les différencie. Pcolor établie par défaut l'origine du graphique en bas à gauche (axis('xy')) tandis que dans imagesc l'origine est en haut à gauche (axis('ij')). La fonction axis mentionnée ici peut être utilisée avec ces 2 fonctions pour modifier l'origine. De plus, pcolor n'illustre pas la dernière ligne et dernière colonne n'attribue pas de valeur à un NaN tandis que imagesc trace tout le champ et remplace les NaN par la plus petite valeur du champ. Finalement, imagesc trace sur une grille régulière avec des éléments carrés et ne tient pas compte des axes tandis que pcolor peut faire des pixels de quadrilatères étirés dont les quartes coins sont dépendant de leurs valeurs sur les axes.

contour(X,Y,n) vs contour(X,Y,v)

La fonction contour peut soit fournir les positions de n contours (choisis par Matlab) ou des contours contenus dans le vecteur v (par exemple: [1 2 3 4 5]). Cependant, pour obtenir le contour de valeur 1, il ne faut pas utiliser contour(X,Y,1) car Matlab vous fournira 1 contour de son choix confondant n et v. Vous devez utiliser contour(X,Y,[1 1]).