|
Autor |
Konfiguration/Startordner unter Linux |
|
Hennich
Ehemals Aktiv  Dabei seit: 31.01.2012 Mitteilungen: 165
 | Themenstart: 2017-08-02
|
Hallo zusammen,
TL;DR: Wie sage ich Matlab "~/.matlab" als Startordner zu nehmen?
Ich habe ein paar elementare Probleme bei der Konfiguration, zu denen ich bisher keine Lösung gefunden habe.
Und zwar möchte ich aus einem Python-Skript heraus Matlab aufrufen und dieses Matlab-Programm enthält eine selbst geschriebene Funktion. Das heißt ich habe einen Konsolenaufruf, bei dem ich in einem beliebigen Ordner bin. Allerdings nimmt Matlab immer den aktuellen Ordner als Startordner und sucht doch nach der "pathdef.m". Die liegt derzeit in meinem home-Verzeichnis. Wenn ich den Befehl in home ausführe, dann klappt alles. In jedem anderen Ordner kommt der Fehler, dass meine Funktion unbekannt ist (weil eben der Pfad nicht gesetzt ist).
Die Mathworks Homepage sagt dazu, wie ich den Startup Folder ändern kann, doch das Menü selbst sagt, dass dies nur für den Aufruf per Icon gilt. Bei Aufruf von der Konsole wird diese Einstellung ignoriert. (Aufruf per Icon finde ich nicht, demnach nicht getestet.)
Da diese Datei in meinem home sowieso nervig ist, würde ich Matlab gerne sagen, dass es immer "~/.matlab" als Startordner nehmen soll.
Hat jemand dazu eine Idee? Ich habe auf dem Rechner keine root-Rechte.
Viele Grüße,
Hennich
|
Profil
|
rlk
Senior  Dabei seit: 16.03.2007 Mitteilungen: 11650
Wohnort: Wien
 | Beitrag No.1, eingetragen 2017-08-03
|
Hallo Hennich,
ich würde in dem Python-Skript in das gewünschte Verzeichnis wechseln, bevor Du Matlab aufrufst. Statt .matlab würde ich ihm einen Namen geben, der etwas mit der Aufgabe zu tun hat, für die Du Matlab einsetzt.
Ich hoffe, das hilft Dir,
Roland
|
Profil
|
Hennich
Ehemals Aktiv  Dabei seit: 31.01.2012 Mitteilungen: 165
 | Beitrag No.2, vom Themenstarter, eingetragen 2017-08-05
|
Hallo,
Danke für den Vorschlag, aber ich hätte lieber eine dauerhafte Lösung.
Ich habe den Flag "-useStartupFolderPref" entdeckt und mir dann einen alias geschrieben.
\sourceon bash
alias matlab = 'matlab -useStartupFolderPref'
\sourceoff
Das fühlt sich noch nicht ganz richtig an, löst aber das Problem.
Viele Grüße,
Hennich
|
Profil
| Folgende Antworten hat der Fragensteller vermutlich noch nicht gesehen. |
walderich
Senior  Dabei seit: 03.05.2006 Mitteilungen: 1996
Wohnort: Bad Dürrheim, Deutschland
 | Beitrag No.3, eingetragen 2019-01-16
|
Hallo Hennich,
ich weiß, dass es eventuell ein bisschen spät für eine Antwort ist. Aber eventuell hast du ja noch keine zufriedenstellende Lösung gefunden? Oder vielleicht hilft es ja noch jemand anderem ...
Matlab führt standardmäßig beim Starten das Skript "startup.m" aus, wenn dieses auf dem Matlab-Pfad gefunden wird. In dieses kannst du dann einfach ein "cd('~/.matlab');" eintragen, so dass Matlab immer in deinem vordefinierten Verzeichnis startet. Ich habe das bei mir mal ausprobiert, und das klappt auch beim Command-Line-Aufruf.
Nun wäre nur noch zu klären, wo die "startup.m" abgelegt werden müsste. Dazu könntest du entweder einmalig die globale "pathdef.m" anpassen (die liegt im Verzeichnis [matlabroot '/toolbox/local']), oder die in dein Standard "userpath"-Verzeichnis legen. Ich denke es macht weniger Sinn in die globale "pathdef.m" dein lokales Benutzer-Verzeichnis einzutragen. Ich würde stattdessen den "userpath" verwenden. Das liegt unter "~/Documents/MATLAB".
Das wäre allerdings ein weiteres Verzeichnis in deinem Homedir, aber vielleicht kannst du dasselbe ja auch für deine Skripte (statt "~/.matlab") verwenden? Das würde dir das Setzen des Pfades ersparen und alle deine dort platzierten Skripte würden auch unabhängig des Startverzeichnisses gefunden werden.
Viele Grüße,
Sebastian
|
Profil
|
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|