2011-10-29 1 views
6

J'ai utilisé addpath(pwd) pour obtenir mes fichiers .m fonctionnant dans mon répertoire de projets. Lorsque je ferme la fenêtre et commence une nouvelle fenêtre, le chemin que je viens d'ajouter est parti. Mais les fichiers fonctionnent toujours.Comment obtenez-vous votre chemin dans Octave (sur Windows)?

Est-ce sur mon chemin ou pas? Comment puis-je voir les répertoires que j'ai ajoutés à mon chemin?

En outre, . est la première entrée que je vois de path. Cela signifie-t-il que je n'ai pas besoin d'ajouter de répertoires, car il cherchera toujours le répertoire courant en premier?

Merci.

Répondre

9

Fondamentalement, oui.

Vous pouvez ajouter un répertoire au chemin de recherche en utilisant addpath(), mais comme vous le savez, il n'existe que pour la session en cours et est réinitialisé lorsque vous redémarrez Octave. Si vous souhaitez qu'un chemin survive entre les sessions, ajoutez-le à votre octaverc, un fichier script qui s'exécute chaque fois qu'une nouvelle session est lancée. Exemple de chemin vers le fichier octaverc est:

C:\Octave\3.2.4_gcc-4.4.0\share\octave\site\m\startup 

Depuis . est dans votre chemin par défaut, Octave recherchera votre répertoire en cours pour tous les fichiers de fonction dont il a besoin. Utiliser addpath(pwd) est un peu inutile si vous voulez simplement rester dans le même répertoire. Cependant, il y a des cas où cela serait utile, si par exemple vous avez un répertoire qui contient vos fonctions, et un autre qui a les données sur lesquelles vous travaillez: vous pouvez commencer dans le répertoire des fonctions, faites addpath(pwd), puis cd au répertoire de données tout en continuant à utiliser vos fonctions.

2

Vous pouvez créer un fichier de commandes qui lancera Octave avec votre chemin de répertoire. S'il vous plaît voir l'exemple ci-dessous:

octave-3.6.4.exe -p "C:\MyOctaveDiretory" 

-p means addpath() 
0
addpath(pwd); savepath(); 

Terminé.

+0

J'espère que vous avez remarqué que vous ne répondiez une partie de ce qu'il demande ... Pouvez-vous aider avec le reste aussi? – yakobom

0

Je pense qu'il y a un bogue dans Octave (j'utilise la version 4.0.3 sous Windows). Lorsque je crée un nouveau fichier dans le chemin courant, cela ne peut pas être appelé par Octave ("error: 'foo' indéfini près de la ligne 1 colonne 1"). Si je redémarre Octave, cela fonctionne. Cette astuce addpath (pwd) m'aide beaucoup (avant que j'aie essayé sans succès rehash() et cd ailleurs et retour).

Si vous avez eu le même problème, la raison du symptôme pourrait être:

  1. Démarrer Octave.
  2. Créer un nouveau fichier.
  3. Appeler newfile - échoue car Octave n'a pas enregistré son existence.
  4. addpath (pwd) - provoque Octave pour l'enregistrer.
  5. Fermer Octave
  6. Début Octave - maintenant pwd est parti du chemin, mais newfile.m est enregistré au démarrage.
  7. appel newfile - fonctionne
Questions connexes