Solution de problèmes fréquents en Octave
Erreurs et avertissements de l’interpréteur du langage Matlab
Explication : Les lettres apparaissant ci-dessous en italique symbolisent des textes ou nombres spécifiques affichés par Octave à la même position dans le message d’erreur ou d’avertissement donné.
Si le message contient le texte near line i column j
et si l’erreur ou avertissement en cause s’est produit lors de l’exécution d’un fichier M, alors i et j sont le numéro de la ligne et le numéro de colonne dans cette ligne où une anomalie a été remarquée par l’interpréteur. Cela peut représenter l’emplacement de la source de cette anomalie mais pas toujours : il est possible qu’une telle anomalie est causée par une erreur de programmation commise avant (selon le cours de l’exécution du programme). Si l’erreur ou avertissement en cause s’est produit lors de l’exécution d’une instruction introduite en ligne de commandes d’Octave (dans la fenêtre de l’interpréteur) ou avant que l’exécution du fichier M approprié puisse commencer, alors i représente le numéro d’instruction dans la fenêtre Octave.
Message | Explication | Possible cause et solution |
---|---|---|
error: `c' undefined near line i column j
où c est une commande (y compris le nom d’une fonction prédéfinie) en Matlab |
La commande c n’est pas connue à l’interpréteur | La graphie de c est incorrecte ; vérifiez-la, y compris majuscules/minuscules ainsi que l’usage correct d’espaces et de symboles voisins |
error: `f' undefined near line i column j
où f est le nom d’une fonction créée par vous |
L’interpréteur n’a pas pu trouver le fichier M contenant la définition de la fonction f |
|
error: `a' undefined near line i column j
error: called from: error: f at line k, column l où f est une fonction créée par vous et a est son argument |
La valeur de l’argument a de la fonction f n’a pas été spécifiée | Le passage de l’argument a est manquant ou incorrect dans la formule d’appel de la fonction f (voir la conférence) |
error: `v' undefined near line i column j
error: called from: error: f at line k, column l où f est une fonction créée par vous et v est une variable autre que son argument |
Le mot v n’est pas un nom de variable reconnu à l’intérieur de la fonction f |
|
error: `t' undefined near line i column j
où t est un texte (y compris un caractère) |
L’interpréteur a essayé de comprendre le mot t comme une commande ou un nom de fonction ou de variable, ce qu’il n’est pas | Il faut proprement discerner des textes (chaînes de caractères) et des mots à interpréter (commande, nom de fonction, nom de variable ; voir la conférence) |
error: operator o: nonconformant arguments (op1 is nxm, op2 is rxs) | L’opération o ne peut pas être effectuée avec des opérandes matricielles ou vectorielles dont les tailles sont n×m et r×s | Vous avez essayé de :
|
parse error near line k of file n
syntax error où k est le numéro d’une ligne située après la commande endfunction |
L’interpréteur n’attend rien après la commande endfunction parce que c’est interdit par la syntaxe du langage Matlab | Supprimez tous les caractères apparaissant après la commande endfunction |
parse error near line k of file n
syntax error >>> fragment ^ où k est le numéro d’une ligne située avant la commande endfunction |
Erreur de syntaxe ; l’interpréteur n’a pas été capable de comprendre la ligne k du fichier n, à commencer du caractère marqué par ^(possiblement dans le contexte des caractères ou lignes précédents) |
|
warning: function name `f' does not agree with function file name `n' | Le nom du fichier n est différent du nom de la fonction f | Ouvrez le fichier ; comparez son nom avec le nom de la fonction défini avec la commande function ; changez l’un ou l’autre de façon que les deux soient identiques |
warning: f: some elements in list of return values are undefined | La valeur de la variable résultat de la fonction f n’a pas été définie | Dans la définition de la fonction f, il manque l’affectation de la variable définie comme son résultat avec l’instruction function |
warning: time stamp for `n' is in the future | Il paraît à Octave que le fichier n a été modifié plus tard que maintenant | L’horloge du serveur sur lequel se trouve votre compte (c’est-à-dire le disque H), où vous enregistrez vos fichiers, n’est pas synchronisé avec l’horloge de l’ordinateur sur lequel vous travaillez. Si le temps local est retardé par rapport au temps du serveur, vous verrez ce message que vous pouvez ignorer. |
Autres problèmes avec l’environnement
Description | Possible cause et solution |
---|---|
Le résultat d’une fonction ne change pas malgré que vous avez modifié sa définition dans un fichier M |
|