2009-09-17 14 views
13

A veces, cuando agrego un nuevo archivo a mi ruta, tengo que reiniciar MATLAB o no se detectará. ¡Debe haber otra forma de hacerlo!¿Cómo actualizo la ruta MATLAB?

+0

¿Qué sistema de archivos está utilizando? Matlab confía en el seguimiento de cambios del sistema de archivos para notificarlo cuando hay cambios. –

+0

NTFS (en Windows) – Lucas

Respuesta

8

He tenido problemas similares (Matlab no se da cuenta cuando cambio un archivo). Desafortunadamente, no tengo idea de qué lo causa o cómo resolverlo. Normalmente encuentro que CLEAR ALL resuelve el problema, pero tenga en cuenta que borra todas las variables en el espacio de trabajo. Algunos comandos 'REHACER' (por ejemplo, REHASH TOOLBOXRESET) también pueden ser útiles.

Me gustaría ver una mejor respuesta; toda la documentación que encontré parece indicar que esto no puede suceder.

+1

rehash o rehash ('ruta') es suficiente si los archivos no están en el directorio matlab/toolbox –

+1

Eso es lo que dice la documentación.Sin embargo, recuerdo que una vez REHASH no funcionó mientras REHASH TOOLBOXRESET lo hizo, aunque los archivos no estaban en el directorio de la caja de herramientas. Bien podría haber sido una coincidencia, pero ya que siempre he usado la última opción, ya que el costo parece ser muy pequeño (ambos comandos regresan inmediatamente). –

3

Quizás esto sea un problema con el almacenamiento en caché de algunos archivos al iniciar Matlab para mejorar el rendimiento. Esto sucede con archivos en ciertos directorios.

De Matlab ayuda para el comando de ruta:

Nota (...) También tenga en cuenta que las ubicaciones de los archivos en el árbol de directorios matlabroot/caja de herramientas se cargan y almacenan en caché en la memoria al comienzo de cada MATLAB sesión para mejorar el rendimiento. Si guarda archivos en los directorios de matlabroot/toolbox usando un editor externo o agrega o elimina archivos de estos directorios usando las operaciones del sistema de archivos, ejecute volver a ejecutar la caja de herramientas antes de usar los archivos en la sesión actual. Si realiza cambios en los archivos existentes en los directorios de matlabroot/toolbox utilizando un editor externo, ejecute clear functionname antes de usar los archivos en la sesión actual. Para obtener más información, ver la página refrito de referencia o el tema de almacenamiento en caché Ruta Caja de herramientas en las Herramientas de Escritorio MATLAB y documentación entorno de desarrollo

2

menudo he visto que esto suceda con las ubicaciones de archivos en red. No entiendo el mecanismo, pero definitivamente sucede. Una solución que a menudo funciona:

path(path); 

o, si eso no funciona para recogerlo, intente esto: (NB, lo que eliminará el espacio de trabajo)

clear classes; 
path(path); 

Hicimos este último tanto, lo ponemos en secuencia de comandos en nuestra ruta de código común llamada:

shazaam; 

Sí, mi edad se está mostrando.

2

Desea la función "volver a generar" o necesita volver a establecer la ruta usando "ruta (ruta)" o similar. También depende de si está utilizando una ruta "congelada". Mira la ayuda para ADDPATH.

MATLAB guardará una copia almacenada en caché de la M-archivo compilada a menos que sepa que la ha cambiado. Si ha creado el archivo o lo ha editado fuera de MATLAB, es posible que no sepa que ha cambiado.

0

Esto me pasa cuando la conexión de la unidad en red se pierde y luego se restaura. rehash no funciona pero rehash toolboxreset hace

Cuestiones relacionadas