IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ erreurs et avertissements

FAQ erreurs et avertissementsConsultez toutes les FAQ

Nombre d'auteurs : 9, nombre de questions : 75, dernière mise à jour : 14 juin 2021 

 
OuvrirSommaireMessages d'avertissement MATLAB

MATLAB est sensible à la casse : différenciation des minuscules/majuscules dans le nom des fonctions et variables. Ainsi deux variables nommées tableau et Tableau sont deux variables bien distinctes et vous obtiendrez une erreur si vous écrivez l'une à la place de l'autre :

 
Sélectionnez
>> tableau = [1 2 ; 3 4];
>> a = Tableau
??? Undefined function or variable 'Tableau'.

En ce qui concerne les fonctions, avant la version MATLAB 2011b, vous obtiendrez juste un message d'avertissement, la « bonne » fonction étant tout de même appelée (exemple pour un fichier nommé maFonction.m) :

 
Sélectionnez
>> mafonction
Warning: Could not find an exact (case-sensitive) match for 'mafonction'.
<chemin du fichier>\maFonction.m is a case-insensitive match and will be used instead.
You can improve the performance of your code by using exact
name matches and we therefore recommend that you update your
usage accordingly. Alternatively, you can disable this warning using
warning('off','MATLAB:dispatcher:InexactCaseMatch').
This warning will become an error in future releases.

À partir de la version R2011b, vous obtiendrez une erreur :

 
Sélectionnez
>> mafonction
??? Cannot find an exact (case-sensitive) match for 'mafonction'.

The closest match is: maFonction
in <chemin du fichier>\maFonction.m
Créé le 13 août 2014  par Jérôme Marsaguet

Lien : Undefined function or variable '***'.

Ce message met en avant un tableau dont la taille grandit au sein d'une boucle, au risque que MATLAB ait à effectuer plusieurs réallocations et copies de ses valeurs au cours de l'exécution de cette dernière, ralentissant ainsi son exécution.
MATLAB conseille donc de créer dès le départ un tableau de taille suffisamment grande afin d'éviter cela.

Voir cet autre sujet Qu'est-ce que la préallocation de mémoire ? pour en savoir plus.

Créé le 13 août 2014  par Jérôme Marsaguet

Ce message intervient lorsque l'on souhaite afficher une image avec la fonction imshowDocumentation fonction imshow de l'Image Processing Toolbox dont la taille réelle est trop grande pour pouvoir être affichée entièrement à l'écran. MATLAB réduit ainsi la taille de l'image à XX % de sa taille réelle afin que celle-ci puisse être affichée entièrement à l'écran.

Créé le 2 mai 2013  par Jérôme Marsaguet

Lien : Comment exploiter les messages d'erreurs ?

Dans MATLAB, toute instruction donnant un résultat ou contenant une affectation non terminée par un point-virgule (semicolon en anglais), voit sa valeur affichée dans la fenêtre de commande (Command Window).

Lors d'une exécution en boucle, cet affichage peut fortement ralentir votre code (qui plus est pour de grands tableaux), et éventuellement cacher les informations que vous souhaitez réellement afficher.

À moins de réellement le vouloir (lors d'une séance de débogage par exemple), penser à mettre un « ; » à la fin de ces lignes affichant des valeurs.

Note : l'affichage (volontaire) de valeurs se fera au moyen des fonctions dispDocumentation de la fonction disp ou fprintfDocumentation de la fonction fprintf.

Créé le 13 août 2014  par Jérôme Marsaguet

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2007-2017 Developpez LLC Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.