https://www.rath.org/matlab-is-a-terrible-programming-language.html https://ajminich.com/2011/09/28/5-reasons-i-hate-matlab/ Ich schließe mich den in den Links genannten Punkten an. Meiner Meinung nach ist Matlab/Octave von allen Sprachen die mit der schlechtesten Syntax. Matlab hat eine etwas sehr komische diffuse Syntax, wenn man sonst vor allem in C-ähnlichen Sprachen programmiert. Wahrscheinlich aus Traditionsgründen und dem vielen bereits vorhandenen Code ist aber Matlab wohl die verbreitetste Programmiersprache in der Forschung und Industrie. Als direkte Konkurrenzprodukte werden oft R, Python mit NumPy/SciPy, Julia, Scilab und Octave genannt, wobei die OSS-Matlab-Klone wohl hauptsächlich folgende sind: Octave und SciLab. Ein Studienkollege hat damals (neben Matlab auf den Pool-Rechnern) auf seiner eigenen Kiste SciLab benutzt und fand es recht gut... Mich würde es freuen, wenn ihr eure eigenen Erfahrungen mit Matlab-Alternativen ausführlich darlegen könntet. Danke.
Ich benutze jetzt Python und werde wohl meine Matlab Lizenz nicht verlängern auf der Arbeit. Ich Arbeite hauptsächlich mit Jupyter Lab und pyCharm sowohl unter Linux als auch unter Windows. Vor allem mit grossen Datenmengen fühle ich mich bei Python besser aufgehoben. R und Julia habe ich noch nicht getestet soll aber auch gut Performant sein. Ich bin bisher Zufriedener damit als ich jemals mit Matlab war.
Beitrag #5718277 wurde von einem Moderator gelöscht.
Wenn es nur um die Grunfunktionalität von Matlab geht, wäre Octave eher geeignet als Scilab. Bei Scilab geht ja der "Ärger" schon bei Konstanten los. pi ist dort nicht pi sondern %pi, weil alle eingebauten Konstanten mit % beginnen. Wenn man jemand Anderem eine Formel mit pi zeigt, und pi kommt ja recht häufig vor, dann muss man oft erklären, dass % nicht 1/100 bedeutet. Das Hauptargument für Matlab sind die vielen umfangreichen Toolboxen. Davon gibt es für Octave und Scilab weit weniger und wenn es eine gleichen Namens gibt, dann enthält die nicht alle Funktionen. Allerdings gehen die Toolboxen richtig ins Geld. Nicht jeder oder jede Firma kann sich das leisten.
Beitrag #5718280 wurde von einem Moderator gelöscht.
Hat schon mal jemand die Wolfram-engine/Mathematica auf dem Raspi ausprobiert? Ich vermute, das ist nicht ganz vergleichbar mit den oben genannten Programmen. https://www.wolfram.com/raspberry-pi/
Als weitere "Alternative" gibts noch IDL. Aber ich rate gleich davon ab auch nur nachzuschauen was das für eine Sprache ist, denn du kannst Verfahrenstechniker schrieb: > Meiner Meinung > nach ist Matlab/Octave von allen Sprachen die mit der schlechtesten > Syntax. Matlab hat eine etwas sehr komische diffuse Syntax, wenn man > sonst vor allem in C-ähnlichen Sprachen programmiert. nur sagen, weil du IDL nicht kennst ;-) Ich habe bis jetzt meistens python mit numpy, matplotlib und Co. benutzt, wenn ich nicht C++ benutzen kann/darf. Allerdings ist eine Sprache, die keine 32 Bit Floats kennt problematisch, wenn man sie braucht. Außerdem ist python (auch mit numpy) nicht besonders schnell, aber das trifft wohl auf alle genannten Alternativen zu. Helmut S. schrieb: > Wenn man jemand Anderem eine Formel mit pi zeigt, und pi kommt ja recht > häufig vor, dann muss man oft erklären, dass % nicht 1/100 bedeutet. Sicher, dass du dann nur das % erklären musst? In welcher Welt kommt man auf die Idee, dass %pi irgend etwas mit 1/100 zu tun hat?
Der große Vorteil von Octave ist dass es mehr oder weniger ein Drop-In Replacement für Matlab ist. Einige Funktionen sind hier und da etwas anders, aber im Großen und Ganzen ist die Kompatibilität recht beachtlich. Das ist vor allem in Hinblick auf Mathworks riesign "FileExchange" (sprich User-erstellte Sachen) sehr wichtig. Wirklich vermissen tu ich eigentlich nix... man muss halt recht viele optionale Packages mitnehmen. Ich hab aktuell etwa: - symbolic - control - signal - image - splines und - optim mit installiert. Eine Vanilla-Octave Installation ist kaum mehr als ein Taschenrechner. Mit Scilab bin ich persönlich nie warm geworden und Python/Numpy/etc. erzeugt (meiner Meinung nach!) für schnelle Gschichtln doch etwas mehr... Rauschen. /edit Achja, eins noch. Großer Kritikpunkt. Die Performance ist (gefühlt) wirklich katastrophal. Ich habs zwar nicht gemessen, würde aber ad-hoc behaupten dass Octave generell langsamer als Matlab ist, egal wobei...
:
Bearbeitet durch User
Verfahrenstechniker schrieb: > Mich würde es freuen, wenn ihr eure eigenen Erfahrungen mit > Matlab-Alternativen ausführlich darlegen könntet. Danke. Wenn es nicht open source sein muss, nicht auf Linux laufen muss und kein 1:1 Ersatz für Matlab sein muss, kommt evtl. Igor Pro von Wavemetrics https://www.wavemetrics.com/ in Frage. Die Dokumentation ist sehr gut, es gibt sehr viele Beispiele, es läuft stabil und flott und die Preise sind moderat. Die Programmierung ist an der C Syntax orientiert und was wirklich erstaunlich gut funktioniert, ist das wechselweise arbeiten mit Kommandozeile und mit GUI. Alle Ausführungen mit der GUI landen als Befehl in der command history und können genau so gut direkt als Befehl eingegeben oder in einem Skript verwendet werden. Ursprünglich lag der Fokus auf der Analyse von Zeitreihen. Daher basiert alles auf waves, d.h. Funktionswerte und diskrete abhängige Variable. Konkret werden nur die Funktionswerte y1,y2,...,yn, x1 und delta-x oder x1 und xn, angegeben. Durch Kombination zweier waves können aber auch y1,y2,...,yn und x1,x2,...,xn verwendet werden. Waves können bis zu 4 Dimensionen haben. Symbolische Algebra ist, soweit ich weiß, nicht möglich.
mh schrieb: > Außerdem ist python (auch mit numpy) nicht besonders schnell, kann ich nicht bestätigen. Wie bei anderen Sprachen muss man verstehen, was unter der Haube passiert. Das mag etwas gewöhnungsbedürftig sein, wenn man vom C++ kommt. Aber wer gut vektorisiert, ist mit numpy richtig schnell. Und was man dabei lernt, hilft auch bei hardwarenaher programmierung (stichworte: pipelines und SIMD)
Helmut S. schrieb: > Wenn man jemand Anderem eine Formel mit pi zeigt, und pi kommt ja recht > häufig vor, dann muss man oft erklären, dass % nicht 1/100 bedeutet. Sicher, dass du dann nur das % erklären musst? In welcher Welt kommt man auf die Idee, dass %pi irgend etwas mit 1/100 zu tun hat? Ich beantworte auch Fragen von Leuten die keine Ings sind. Mit dem vorangestellten % bei eingebauten Konstanten hat das Scilab-Team eine schlechte Entscheidung getroffen. Das schreckt jeden Matlab/Octave-Anwender schon mal gleich ab, wenn nicht mal die trivialsten Formeln mit copy/paste funktionieren.
Helmut S. schrieb: > Wenn es nur um die Grunfunktionalität von Matlab geht, wäre Octave eher > geeignet als Scilab. > Bei Scilab geht ja der "Ärger" schon bei Konstanten los. pi ist dort > nicht pi sondern %pi, weil alle eingebauten Konstanten mit % beginnen. > Wenn man jemand Anderem eine Formel mit pi zeigt, und pi kommt ja recht > häufig vor, dann muss man oft erklären, dass % nicht 1/100 bedeutet. Naja, ok, aber nur wenn der Jemand absolut keine Ahnung von nichts hat. Das "m" in F = m*a bedeutet ja auch nicht "Meter".
Sven B. schrieb: > Helmut S. schrieb: >> Wenn es nur um die Grunfunktionalität von Matlab geht, wäre Octave eher >> geeignet als Scilab. >> Bei Scilab geht ja der "Ärger" schon bei Konstanten los. pi ist dort >> nicht pi sondern %pi, weil alle eingebauten Konstanten mit % beginnen. >> Wenn man jemand Anderem eine Formel mit pi zeigt, und pi kommt ja recht >> häufig vor, dann muss man oft erklären, dass % nicht 1/100 bedeutet. > > Naja, ok, aber nur wenn der Jemand absolut keine Ahnung von nichts hat. > Das "m" in F = m*a bedeutet ja auch nicht "Meter". Auf jeden Fall ärgert es mich, wenn ich da dauernd %pi statt pi schreiben muss. Das war für mich einer der Gründe nach Octave zu wechseln.
Verfahrenstechniker schrieb: > Mich würde es freuen, wenn ihr eure eigenen Erfahrungen mit > Matlab-Alternativen ausführlich darlegen könntet. Octave ist interessant, aber Fakt ist, dass zwischen MATLAB und Octave zum Teil Welten liegen. In einigen Punkten (bspw. objektorientierte Programmierung, oder Performance des Skriptinterpreters) hinkt Octave um 5-10 Jahre hinterher. In vielen Bereichen ist MATLAB einfach state of the art, das gilt bspw. fuer Optimierungsverfahren, ODE-Solver, lineare Gleichungssysteme u.v.m. In manchen Bereichen mag es auch andersherum sein. Aber bislang bin ich immer zum Schluss gekommen, dass es keinen Sinn hat, mein Glueck mit Octave zu versuchen, solange ich MATLAB zur Verfuegung habe. Aber je nach Anwendung und Projekt-Randbedingungen (kommerziell, akademisch, privat) kann das auch anders sein.
Ich verwende Octave schon lange und finde es super. Manchmal ist es auch so, dass man in einer Firma keine Matlab-Lizenz bekommt und dann ist es ziemlich praktisch. Wir haben schon ganze Projekte mit Octave hoch gezogen. Es hängt immer davon ab, welche Performance man braucht. Wenn man rechenintensive Simulationen macht, ist Matlab sicher das richtige. Aber für einfache Datenauswertungen reicht Octave völlig. Immerhin legt man für die Matlab-Grundversion über 1000Euro hin. Dann kommen noch mal die Lizensen für jede einzelne Toolbox und die sind noch viel teurer.
Ja, matlab ist ziemlich teuer. Ist aber eh nicht mein Geld ;) Das Konzept, aus jedem Pups eine neue Toolbox fuer 3000EUR zu machen, find ich auch fragwuerdig. Es gibt aber auch Software, die teurer und deutlich nutzloser ist (z.B. DIAdem).
Christoph M. schrieb: > Dann kommen noch mal die Lizensen für jede einzelne Toolbox und die sind > noch viel teurer. vorticon schrieb: > Das Konzept, aus jedem Pups eine neue Toolbox fuer 3000EUR zu machen, > find ich auch fragwuerdig. Der Wert von Matlab liegt gerade in den Toolboxen, deren Know-how und die resultierende Zeitersparnis. Firmen die damit Geld verdienen sind dann zähneknirschend bereit diese Preise zu zahlen.
mh schrieb: > Als weitere "Alternative" gibts noch IDL. Aber ich rate gleich > davon ab auch nur nachzuschauen was das für eine Sprache ist Kann ich nur unterschreiben. Was die Sprache betrifft sind MATLAB, IDL, Scilab alle Fossilien. Wirklich Software entwickeln möchte man damit nicht. Glücklicherweise gibt es immer weniger Gründe dafür (Toolboxen sind evtl. noch einer). Wenn man keine Toolboxen braucht, dann ist Python in jeder Hinsicht überlegen. > Ich habe bis jetzt meistens python mit numpy, matplotlib und Co. > benutzt, wenn ich nicht C++ benutzen kann/darf. Allerdings ist eine > Sprache, die keine 32 Bit Floats kennt problematisch, wenn man sie > braucht. Numpy unterstützt 32 Bit float.
Andreas S. schrieb: > Numpy unterstützt 32 Bit float Ja, numpy unterstützt 32 Bit floats und hat sonderbare promotion Regeln, weil python keine 32 Bit floats kennt. Warum ist (numpy.float32(2)**2).dtype == numpy.float64 und (numpy.arange(5, dtype=numpy.float32)**2).dtype == numpy.float32
vorticon schrieb: > In einigen Punkten (bspw. objektorientierte > Programmierung, oder Performance des Skriptinterpreters) hinkt Octave um > 5-10 Jahre hinterher. Kein Wunder, dass Dein Beitrag abgewertet wurde. Mit Recht. In einem Matlab-Bashing-Thread hat eine differenzierte Betrachtung nichts verloren!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.