CleveSpyder — MATLAB-kompatibel und Python in einer IDE
CleveSpyder macht die Spyder-IDE zu einem Ort, an dem man MATLAB-kompatiblen Code und Python am selben Schreibtisch nutzt. Man tippt MATLAB-kompatible Befehle, sieht MATLAB-kompatible Ergebnisse und schaltet dieselbe Konsole mit einem einzigen Wort zurück auf normales Python. Es baut auf ClevePython (mtlcompat, einem MATLAB-kompatiblen Kern in Python) und pySGLIB (den SG-Lib-Ports) auf und wächst mit diesen. Siehe auch SG-Lib 2027 — der Weg zu Python.
MATLAB® ist eine eingetragene Marke von The MathWorks, Inc. ClevePython ist unabhängig von MathWorks, steht in keiner Verbindung zu MathWorks und wird von MathWorks nicht unterstützt; es bildet MATLAB-kompatibles Verhalten in Python nach und nutzt MATLAB nicht selbst.
Für Studierende, die beides beherrschen wollen
Viele Studierende müssen beide Sprachen lesen und schreiben können. CleveSpyder erlaubt das in einem Fenster, mit einem Interpreter:
- Den kompakten, matrix-orientierten MATLAB-kompatiblen Stil üben und seinen echten Vorteil sehen, statt mit ungewohnter Notation zu kämpfen.
- Dieselbe Zeile in MATLAB-kompatibler Form und nach
cleve offin reinem Python tippen — und genau ablesen, wo sich die beiden unterscheiden. - Vom schnellen Konsolenversuch zum echten, gespeicherten Skript wechseln, ohne die IDE zu verlassen.
- Wer von MATLAB kommt, findet Python hier zugänglich; wer Python lernt, begegnet dem MATLAB-kompatiblen Stil, ohne die Umgebung neu zu lernen.
Dasselbe .m-File in beiden Welten
Dasselbe .m-File — in MATLAB-kompatibler Syntax geschrieben — liefert dasselbe Ergebnis, ob es über ClevePython in Spyder oder über die SG-Lib in MATLAB läuft: identischer Editor-Code, beide Konsolen setzen ans und zeichnen, dieselbe Figur.

Dieselben fünf Zeilen in beiden Konsolen
Auch kurze Konsolen-Eingaben verhalten sich gleich. Dieselben fünf Zeilen — magic, eine for-Schleife, zeros und dir — erzeugen in der MATLAB-kompatiblen ClevePython-Konsole (links, In [n]:) dieselben Werte und dieselbe Ausgabe wie in MATLAB (rechts, >>).

Funktionen
MATLAB-kompatible Syntax in der Konsole. Die gewohnte Notation tippen und das erwartete Ergebnis bekommen:
| Eingabe | Wirkung |
|---|---|
[1 2 3] · [1 2;3 4] | Matrixeingabe (Leerzeichen = Spalten, ; = Zeilen) |
1:5 · 5:-2:1 | Bereiche |
A(2,1) · A(1,:) · A(1,end) | 1-basierte Indizierung, end für das letzte Element |
S.VL · S.VL(2,1) | Struct-Feldzugriff mit 1-basiertem Index |
A*B · A.*B · A' | Matrix-/elementweises Produkt, Transponieren |
A=SGbox · axis on · hold on | ein Funktionsname ohne Klammern wird ausgeführt |
[X,Y]=size(A) | mehrere Ausgaben auf einmal |
Echte .m-Dateien in MATLAB-kompatibler Syntax. Eine echte .m-Datei im Spyder-Editor in MATLAB-kompatibler Syntax schreiben, speichern und aus der Spyder-Konsole ausführen. Funktionen und Skripte funktionieren beide, und die Figuren erscheinen im SG-Lib-Grafikfenster.
Eine Konsole, zwei Sprachen — cleve on / cleve off. cleve on ist der MATLAB-kompatible Modus; cleve off gibt dieselbe Konsole an normales Python zurück; cleve status zeigt, wo man ist. Kein Neustart, kein zweites Fenster.
Neue Datei passend zum Modus. Ist der MATLAB-kompatible Modus an, öffnet Neue Datei (Cmd-N) eine frische .m-Datei; ist er aus, bekommt man eine normale Python-Datei.
Eine Konsole mit gewohntem Verhalten. Nackte Namen gehen ohne Import, eine Zuweisung wird angezeigt (x=5 → x = 5), ans hält das letzte Ergebnis, clc leert die Konsole, ein nackter Aufruf zeichnet seine Figur, Zahlen erscheinen in bündigen Spalten, und ein abschließendes ; unterdrückt die Anzeige.
Der Editor bleibt ruhig. Die Code-Prüfung kennt die Einrichtung, sodass man beim Schreiben nicht unter überflüssigen Warnungen begraben wird.
Eine wachsende Brücke
CleveSpyder ist eine laufende Portierung: mtlcompat und pySGLIB werden fortlaufend erweitert, sodass immer mehr MATLAB-kompatible Syntax und immer mehr SG-Lib-Funktionen hinzukommen. Es ist eine Hilfe zum Lernen und Vergleichen der beiden Sprachen, derzeit noch kein vollständiger MATLAB-kompatibler Interpreter — einige Schreibweisen unterscheiden sich noch oder sind noch nicht abgedeckt. Der Sinn ist einfach: eine IDE, in der ein Student wirklich in beiden Sprachen arbeiten — und denken — kann.