2017-07-18 4 views
-1

Supposons que j'ai un répertoireComment définir un répertoire personnalisé afin que je puisse répertoire cd dans Matlab

cur = 'C:\Windows\debug'; 

Ensuite, je peux courir cd(cur) maintenant. Mais je n'ai pas l'habitude d'utiliser le format de la fonction. J'espère pouvoir utiliser cd cur pour changer le dossier actuel directement. Est-ce possible dans MATLAB?

Edit: Parce que je reçois l'erreur suivante:

>> cur = 'C:\Windows\debug'; 
>> cd cur 
Error using cd 
Cannot CD to cur (Name is nonexistant or not a directory). 
+0

Pour 'cd' à un répertoire contenu dans une variable, comme vous essayez, vous devez utiliser le formulaire fonctionnel. Dans votre exemple, MATLAB recherche un répertoire appelé 'cur'. –

+0

@PhilGoddard Bien sûr, je sais, mais je veux encore faire ça. Y a-t-il une solution de contournement? – yode

+2

Pour citer la documentation de 'Command vs. Function Syntax':' Lorsqu'une entrée de fonction est une variable, vous devez utiliser la syntaxe de la fonction pour transmettre la valeur à la fonction. La syntaxe de commande transmet toujours les entrées en tant que texte littéral et ne peut pas transmettre les valeurs de variables. Je ne crois pas qu'il existe une solution de contournement. –

Répondre

2

Voici le documentation for command syntax, et un article de documentation avec d'autres exemples sur command vs function syntax.

De la documentation,

When calling a function using command syntax, MATLAB passes the arguments as character vectors.

Donc non, vous ne pouvez pas passer un nom de variable comme cur, parce que cur sera traité comme un obtenir vecteur de caractère et vous allez faire la même chose que cd('cur').

Vous pouvez le faire soit

cd(cur) 
% or 
cd 'C:\Windows\debug' 
% or (as long as no whitespace in directory path) 
cd C:\Windows\debug 

Si vous ne voulez pas apprendre la syntaxe, la solution de contournement est de choisir une autre langue ... En utilisant les supports est pratique courante dans MATLAB, puisque vous pouvez également obtenir les valeurs de sortie à partir d'une fonction lors de l'utilisation de la syntaxe de commande.

également de la scripts and functions documentation vous pouvez voir le message

Caution: While the unquoted command syntax is convenient, in some cases it can be used incorrectly without causing MATLAB to generate an error.

Ainsi, cette méthode est déconseillée lorsque Matlab.

+0

[Qui fonctionne] (http://i.stack.imgur.com/e4uyC.png) pour vous? – yode

+0

Je doute fortement que [cette commande] (http://i.stack.imgur.com/3Nq2D.png) puisse fonctionner encore. Et le 'cd (cur)' fonctionne normalement ici. – yode

+0

J'ai mis à jour ma réponse – Wolfie