2009-09-17 14 views
13

A volte quando aggiungo un nuovo file al mio percorso, devo riavviare MATLAB o non verrà rilevato. Ci deve essere un altro modo per questo!Come aggiornare il percorso MATLAB?

+0

Che filesystem stai usando? Matlab si affida al rilevamento delle modifiche del file system per notificarlo quando ci sono cambiamenti. –

+0

NTFS (sotto Windows) – Lucas

risposta

8

Ho riscontrato problemi simili (Matlab non se ne accorge quando cambio un file). Sfortunatamente, non ho idea di cosa lo causi o di come risolverlo. Di solito trovo che CLEAR ALL risolva il problema, ma sappi che cancella tutte le variabili nello spazio di lavoro. Potrebbe anche essere utile un comando "REHASH" (ad es., REHASH TOOLBOXRESET).

Mi piacerebbe vedere una risposta migliore; tutta la documentazione che ho trovato sembra indicare che questo non può accadere.

+1

rehash o rehash ('percorso') è sufficiente se i file non si trovano nella directory matlab/toolbox –

+1

Questo è ciò che dice la documentazione.Tuttavia, ricordo che una volta REHASH non funzionava mentre REHASH TOOLBOXRESET lo faceva, anche se i file non erano nella cartella degli strumenti. Potrebbe essere stata una coincidenza, ma poiché ho sempre usato quest'ultima opzione, dal momento che il costo sembra essere molto piccolo (entrambi i comandi restituiscono immediatamente). –

3

Forse questo è un problema con Matlab che memorizza nella cache alcuni file all'avvio per migliorare le prestazioni. Questo succede con i file in determinate directory.

Da Matlab aiuto per il comando percorso:

Nota (...) Si noti inoltre che posizioni dei file nella directory matlabroot/cassetta degli attrezzi vengono caricati e memorizzati nella cache in memoria all'inizio di ogni MATLAB sessione per migliorare le prestazioni. Se si salvano i file nelle directory matlabroot/toolbox utilizzando un editor esterno o si aggiungono o rimuovono file da queste directory utilizzando le operazioni del file system, eseguire la toolbox rehash prima di utilizzare i file nella sessione corrente. Se apporti modifiche a file esistenti nelle directory matlabroot/toolbox usando un editor esterno, esegui clear functionname prima di utilizzare i file nella sessione corrente. Per ulteriori informazioni, vedere la pagina di riferimento rimaneggiamento o l'argomento Caching Toolbox Percorso negli strumenti di MATLAB per il desktop e la documentazione Ambiente di sviluppo

2

ho spesso visto accadere con le posizioni dei file in rete. Non capisco il meccanismo, ma sicuramente succede. Una soluzione che spesso funziona:

path(path); 

o, se ciò non riesce a raccoglierlo, provate questo: (NB, questo cancellerà l'area di lavoro)

clear classes; 
path(path); 

Abbiamo fatto questo ultimo così tanto, lo mettiamo in script sul nostro percorso di codice comune chiamato:

shazaam; 

Sì, la mia età sta mostrando.

2

Si desidera la funzione "rehash" oppure è necessario impostare nuovamente il percorso utilizzando "percorso (percorso)" o simile. Dipende anche dal fatto che stai usando un percorso "congelato". Guarda l'aiuto per ADDPATH.

MATLAB manterrà una copia memorizzata nella cache del file M compilato a meno che non sia sicuro di averlo modificato. Se hai creato il file o lo hai modificato al di fuori di MATLAB, allora potrebbe non sapere che è stato modificato.

0

Questo mi succede quando la connessione di rete in rete è persa e quindi ripristinata. rehash non funziona ma rehash toolboxreset fa

Problemi correlati