Was bedeutet "Schatten-it in den MATLAB-Pfad" bedeuten? Wie es in einer Datei?
Muss ich tun, das immer vor der Ausführung unitTester-Datei. Ich kann nicht verstehen, warum dies erforderlich ist. Was bedeutet das? Und warum ist die "Add to Path > Selected Folders and Subfolders"
nicht genug?
[Update] Diese hier kann das problem sein. Der kernel programmiert wird in verschiedenen Techniken, bei denen die Dateinamen sind die gleichen. Ich brauche zu machen sicher, dass nur bestimmte Dateien verwendet werden, in jedem Fall. Ist der einfachste Weg, verwenden Sie hier ein Paket nicht zu versauen namespaces?
- Check dieser und dieser Diskussion. Ich habe auch festgestellt diesen Fehler, aber ich kann mich nicht erinnern, was ich getan habe, um es zu lösen. Vielleicht können Sie programmgesteuert ändern Sie den Pfad in dem code. Oder schauen Sie aus, in welchem Verzeichnis die Datei ausgeführt wird, indem Sie
which
- Bezüglich update: Die Fehlermeldung wird über den Namen der test-Skripte, die scheinen die gleichen zu sein. Das ist also etwas, das Sie beheben müssen ersten. Danach müssen Sie überprüfen, ob Ihr Namensschema für die Kernel stellt ähnliche Probleme.
Du musst angemeldet sein, um einen Kommentar abzugeben.
MATLAB sucht nach m-Dateien auf Ihren Pfad suchen, können Sie es mithilfe der
path
Befehl. Wenn Sie mehrere m-files mit dem gleichen Basisnamen (D. H. der Teil des Dateinamens vor der Endung, mit Ausnahme der Verzeichnisse) auf dem MATLAB Pfad dann MATLAB kann nur ausführen, wird der erste auf dem Weg.Können Sie die
addpath
undrmpath
Funktionen dynamisch den Pfad ändern. Zum Beispiel könnten Sie fügen automatisch die entsprechenden Verzeichnisse automatisch in den test-script läuft. Beachten Sie, dassaddpath
fügt den neuen Pfad in den Kopf der Pfad-Liste, die dafür sorgt, dass es Vorrang vor dem bestehenden Einträge.Einen anderen Weg, um Namenskonflikte zu verhindern wie diese sind Pakete.
EDIT: so konvertieren Sie ein Verzeichnis an, in einem Paket, das folgende tun:
+
am Anfang seinen Namen.packagename.
oder indem Sie den Inhalt der Verpackung, bevor die Aufrufe (import packagename.*
).Im Allgemeinen würde ich es vorziehen, Pakete dynamic path Modifikationen, weil Sie einfacher zu verwenden. Beachten Sie, dass die nest-Pakete (d.h.
my_matlab_files/+mypkg/+nested/foo.m
).Ich hatte das gleiche problem unter OS X 10.10.3 mit Matlab r2015a.
Hatte ich meine Dateien in
~/electrochemistry/Matlab/
Irgendwie umbenennen der Letzte Ordner in Kleinbuchstaben ist das problem gelöst. Bei der Fehlersuche bemerkte ich, Matlab suchte in
~/electrochemistry/matlab/
, konnte aber nichts finden, was es suchte, also meine .m-Datei, die ich ausgeführt wurde),So, jetzt arbeite ich in
~/electrochemistry/matlab/
und das problem ist gelöst