Seite 1 von 1

Probleme beim Übergang von Matlab zu Python

Verfasst: Montag 2. Februar 2015, 23:46
von janiboy46
Hallo,

ich habe jetzt angefangen mich in Python einzuarbeiten und möchte dies künftig als Ersatz für Matlab nutzen.
Es gibt da allerdings ein gravierendes Problem, für das ich bisher keine Lösung finden konnte. Und zwar konnte man bei Matlab alle Funktionen, die man selber geschrieben hatte und die in einem festgelegten Ordner liegen, einfach über die Kommandozeile von Matlab aufrufen.
Ich weiß allerdings nicht, wie dies mit Python möglich ist. Zwar habe ich z.B. mal bei Youtube zu diesem Thema gesucht, aber da gibt es immer nur Beispiele, wo dann jemand in einem Python-Script eine Funktion erstellt und diese dann unmittelbar über ,,run'' -> ,,run module'' ausführt. Ein Beispiel für einen Funktionsaufruf über die Kommandozeile habe ich leider nicht finden können. Könnte mir vielleicht jemand sagen, wie ich das machen kann? Ein kleines Beispiel oder ein Link zu einer Seite, wo das mal richtig erklärt wird, wäre genauso hilfreich!
Dann würde ich auch noch gerne wissen, wie man eine Funktion in einer anderen aufrufen kann (in Matlab ging das immer einfach dadurch, dass beide Funktionen im selben Ordner liegen)

Gruß
Jan

Re: Probleme beim Übergang von Matlab zu Python

Verfasst: Montag 2. Februar 2015, 23:55
von BlackJack
@janiboy46: Hast Du denn schon mal das Tutorial in der Python-Dokumentation durchgearbeitet? Da werden unter anderem auch Funktionen und Module behandelt.

Re: Probleme beim Übergang von Matlab zu Python

Verfasst: Dienstag 3. Februar 2015, 00:17
von darktrym
Matlab, ich hoffe ich muss das nie mehr wiedersehen. Gefunden werden nur die Skripte die im aktuellen Arbeitsverzeichnis bzw. über addpath hinzugefügt wurden in Matlab.
Funktionen die innerhalb der Skripte sind(Subfunktionen?), sind für Matlab schon nicht mehr erreichbar. Python ist da wesentlich weiter und erlaubt auch Verzeichnisstrukturen. Einfach und Logik sollte man nicht in Verbindung mit Matlab nennen.

Re: Probleme beim Übergang von Matlab zu Python

Verfasst: Dienstag 3. Februar 2015, 09:54
von Darii
darktrym hat geschrieben:Funktionen die innerhalb der Skripte sind(Subfunktionen?), sind für Matlab schon nicht mehr erreichbar.
Closures kann man auch in Python nicht von außen aufrufen.
Python ist da wesentlich weiter und erlaubt auch Verzeichnisstrukturen.
Auch Matlab erlaubt die Erstellung von Modulen (Packages) mit geschachtelte Verzeichnistrukturen.

Re: Probleme beim Übergang von Matlab zu Python

Verfasst: Dienstag 3. Februar 2015, 10:27
von Sirius3
@Darii: Matlab hat die Philosophie eine Datei pro Funktion. Verschiedene Dateien können zwar in Verzeichnisse mit seltsamen Namen ('+modul') abgelegt werden, die "Module" werden jedoch auch wieder global mit addpath hinzugefügt, mit den selben Problemen bei Namenskonflikten.

Re: Probleme beim Übergang von Matlab zu Python

Verfasst: Dienstag 3. Februar 2015, 10:39
von Darii
Sirius3 hat geschrieben:@Darii: Matlab hat die Philosophie eine Datei pro Funktion. Verschiedene Dateien können zwar in Verzeichnisse mit seltsamen Namen ('+modul') abgelegt werden, die "Module" werden jedoch auch wieder global mit addpath hinzugefügt, mit den selben Problemen bei Namenskonflikten.
Nein, es reicht das „top-level“ Packet hinzuzufügen, dann kannst du entweder per modul.funktion auf einzelne Funktionen zugreifen oder per `import modul` sämtliche Funktionen in den aktuellen Namensraum importieren.