Frage:
Kostenlose Alternativen zu Matlab, die unter Linux laufen?
e-sushi
2014-02-05 07:29:03 UTC
view on stackexchange narkive permalink

Ich bin kürzlich mit Linux zu den Leuten gekommen. Aus diesem Grund versuche ich, so viele der richtigen Anwendungen wie möglich durch kostenlose - und wenn möglich Open-Source - Alternativen zu ersetzen.

Da ich für meine mathematischen Experimente und ein anständiges Werkzeug benötige Ich habe MATLAB R2013b bei meiner früheren Windows-Installation verwendet. Ich bin gespannt auf kostenlose - vorzugsweise Open-Source - Alternativen zu Matlab, die unter Linux (Ubuntu) ausgeführt werden können.

Gibt es kostenlose Alternativen? zu Matlab, das unter Linux läuft? Was mir am wichtigsten ist, ist, dass die Alternative zu Matlab in Bezug auf die Syntaxkompatibilität eng zusammenpassen sollte, damit die meisten Programme einfach portiert (oder - wenn möglich - importiert) werden können. Ich bin mir auch ziemlich sicher, dass keine Alternative über das gesamte Funktionsset verfügt, das Matlab bietet. Daher wäre es für mich wichtig zu wissen, welche Unterschiede in der Funktionalität ich bei der Verwendung der von Ihnen vorgeschlagenen Alternative (n) erwarten muss. Das heißt: Gibt es etwas, was die kostenlose (n) Alternative (n) MATLAB R2013b nicht kann und umgekehrt?

Es gibt keinen vollständigen Mathlab-Ersatz. Erwarten Sie also fehlende Funktionen und eine schlechtere Leistung. Und weniger Bibliotheken.
Matlab hat viele Funktionen. Welche Funktionen verwenden Sie? Haben Sie Scilab ausprobiert, das eine kostenlose Alternative zu Matlab sein soll?
Diese Frage sollte nicht erneut geöffnet werden, da die Anforderungen noch viel zu vage sind.
@e-sushi Wenn Sie bereit sind, für Matlab unter Windows zu bezahlen, warum nicht auch unter Linux?
@Bernhard Um [Ihre Frage] zu beantworten (http://softwarerecs.stackexchange.com/questions/194/free-alternatives-to-matlab-that-run-on-linux?noredirect=1#comment954_194), zitiere ich das Ein Teil meiner Frage, den Sie anscheinend übersehen haben: * "... versuchen, so viele der Anstandsanwendungen wie möglich durch ** kostenlose - und wenn möglich Open-Source - Alternativen ** zu ersetzen ** ..." * Ich denke, das besagt eindeutig, dass ich bin nicht mehr bereit, für Matlab zu bezahlen (mehr).
@e-sushi Es macht keinen Sinn, dass es Open-Source-Anwendungen gibt, die Propriety-Anwendungen ersetzen. Sie sollten eine Liste mit Spezifikationen für das, was Sie wollen, beifügen.
@Bernhard: "so viele wie möglich" scheint eine sehr klare Anforderung zu sein. Gibt es wirklich so viele Matlab-Alternativen für Linux, die die meisten Funktionen abdecken, dass es schwierig ist, eine oder zwei mit der besten Kompatibilität auszuwählen? Können Sie zehn solcher Programme nennen?
@SF. Versuchen Sie mich davon zu überzeugen, dass er alle Funktionen nutzt? Es ergibt keinen Sinn. Möglicherweise führt er nur einige Datentransformationen und Plots durch. In diesem Fall könnte ein Konverter von Matlab zu Python-Code eine gültige Antwort sein. So viele wie möglich ergeben keinen Sinn, wenn er nur wenige davon verwendet.
@Bernhard Ein kleines, freundliches Heads-up aus unserem Hilfebereich: * "[Wann sollte ich keinen Kommentar abgeben?] (Http://softwarerecs.stackexchange.com/help/privileges/comment)… ** Sekundärdiskussion ** oder Debatte ein kontroverser Punkt; bitte verwenden Sie stattdessen [chat] (http://chat.stackexchange.com/);… "*
@e-sushi Sie wählen die falschen Teile meiner Kommentare aus. Ich bitte Sie ausdrücklich dreimal, zu klären, wonach Sie genau suchen: http://meta.softwarerecs.stackexchange.com/questions/1/is-it-okay-to-ask-for-alternatives
@Bernhard: Wenn Sie es bei weitem nicht bemerkt haben, hat diese Frage bereits eine genehmigte Antwort. Etwas, das den Fragesteller zufriedenstellte. Wenn man bedenkt, dass jemand unter Verwendung der gegebenen Richtlinien in der Lage war, eine zufriedenstellende Antwort zu geben, ist dies ein sachlicher Beweis dafür, dass die Frage klar genug war und keine weiteren Klarstellungen erfordert. Glauben Sie, dass Sie eine bessere Lösung als Olli geben können, wenn E-Sushi Ihre Fragen beantwortet? Die allgemeine Kompatibilität über das gesamte Paket ist genauso gültig wie jede andere, unabhängig davon, was Sie denken.
@SF. Diese Seite befindet sich in der privaten Beta. Ziel ist es, eine gute Beispielfrage zu formulieren. Dies ist eine schlechte Frage als solche. Dass es eine akzeptierte Antwort gibt, ist völlig irrelevant.
@Bernhard: Dies ist Ihre Meinung. Meiner Meinung nach ist diese Frage ziemlich gut und "am ähnlichsten wie gegeben" ist eine vollkommen klare und sehr akzeptable Richtlinie. Ich verstehe deinen Hass wirklich nicht. (und ob er alle Funktionen nutzt oder nicht, ist umstritten. Zum Beispiel bin ich Schriftsteller. Ich neige dazu, Fragen zu Dingen zu stellen, die ich nie benutze oder verwenden möchte - Charaktere in meinen Geschichten tun es. Wenn ich Markenprobleme mit vermeiden wollte Mein Buch und mein Charakter verwenden immer noch eine echte nicht abstrakte Software, die Matlab ähnelt und unter Linux läuft. Ich würde die gleiche Frage stellen.)
Fünf antworten:
#1
+19
Olli
2014-02-05 07:40:10 UTC
view on stackexchange narkive permalink

Es gibt keinen einzigen Ersatz für Matlab unter Linux. Matlab ist ein wirklich riesiges Softwarepaket, einschließlich eines ziemlich großen Bibliotheks-Ökosystems.

Octave ist eine kostenlose Alternative für Matlab. Es fehlen einige Funktionen, aber alle Grundlagen sind vorhanden. Ich habe beide verwendet, aber es ist ziemlich schwierig, eine gute Bewertung basierend auf meinen eigenen Gefühlen abzugeben. Diese Seite listet einige kleinere Unterschiede auf, aber hauptsächlich Fälle, in denen Octave besser ist als Matlab. Das wahrscheinlich größte Problem ist, dass einige Funktionen anders funktionieren, z. B. Produkt von Booleschen Werten und Laden leerer Dateien. Dies ist wichtig, da es die Portierung Ihrer eigenen Skripte erschwert, da unerwartete Dinge passieren.

Meine eigenen Gefühle sind, dass

  • Matlab viel reifer als Octave ist (sollte keine Überraschung sein)
  • Matlab ist schneller (ich ziehe an) Ich habe keine empirischen Daten dazu, es ist nur ein Gefühl.
  • Die Matlab-Benutzeroberfläche ist bemerkenswert besser.
  • Die Bibliotheksunterstützung und der im Web verfügbare Beispielcode für Matlab sind von höherer Qualität als für Octave.

Davon abgesehen ist Octave kostenlos und Matlab kostet weit mehr, als sich der Durchschnittsverbraucher leisten kann.


Sagemath ist eine weitere Alternative, die jedoch in ihrer Funktionalität näher an Mathematica liegt.

Weitere Do-it-yourself-Lösungen finden Sie in R, Scilab und Python. Sie erhalten kein integriertes All-in-One-Paket, und die Lernkurve ist ziemlich steil.

-1: Ich glaube, die Richtlinien für SR lauten "ein Produkt pro Antwort". Ansonsten spiegeln die Stimmen nicht den Glauben an einzelne Produkte wider, was hier der eigentliche Punkt ist. Ich werde eine reine Oktavantwort mit +1 bewerten, habe aber keine Meinung zu SageMath.
@IraBaxter Können Sie mich auf diese Richtlinie hinweisen?
@IraBaxter Das wird diskutiert, aber es gibt noch keinen Konsens.
@TimPost Danke für das Heads-up.
#2
+16
Lyndon White
2014-02-06 20:42:13 UTC
view on stackexchange narkive permalink

Oktave

Wie Olli sagte, ist Ocatave eine Matlab-Alternative:

Bemerkenswerte Funktionen (gemeinsam mit Matlab):

  • Syntax nahezu identisch. Es werden fast alle M-Dateien ohne Änderungen verwendet. Die Datei ist auch das Standardformat. Die Syntax ist so identisch, dass der Matlab-Kurs meiner Universität im Autograder Oktave verwendet, obwohl die Einheit vollständig in Matlab unterrichtet wird und die Oktave nur einmal im Vorbeigehen erwähnt.

  • Hochwertige BLAS Bibliotheksintegration (Normalerweise glaube ich, dass es in OpenBlas integriert ist, aber dies kann von Ihrem System abhängen, es kann Atlas sein). Aufgrund des BLAS ist es wie bei Matlab viel effizienter, Vektortechniken zu verwenden (anstatt für Schleifen). Daher ist guter Matlab-Code immer noch guter Oktavcode .

  • Automatisches Multithreading für Leistung: Wenn Sie komplexen Code in Oktave oder Matlab schreiben und ein Tool zum Anzeigen der CPU-Auslastung öffnen, werden alle Ihre Kerne geladen. Diese Parrellisierung bedeutet, dass die Dinge schneller laufen sollten.
  • 3D-Diagramme mit Mausinteraktion: Wenn Sie ein 3D-Diagramm erstellen, unterstützt das sich öffnende Fenster die Mausinteraktion zum Zoomen, Schwenken und Drehen.

Es gibt auch einige hinzugefügte Funktionen , aber ich habe sie nie so bemerkenswert gefunden, dass ich sie mir merken kann.

Bemerkenswerte Funktionen fehlen:

  • Bibliotheken : Es gibt keine Simulink, und verschiedene andere Bibliotheken wie die Signal Processing Toolbox sind nicht vorhanden. Es gibt jedoch einige Alternativen wie das Signal -Paket
  • GUI Workspace : Die Oktavarbeitsumgebung ist eine Befehlszeilen-Shell. Es ist funktionsfähig und verwendet so etwas wie GNU readline. Wenn Sie ein Diagramm zeichnen, das in einem neuen Fenster mit vollständigen Grafiken geöffnet wird. (der Grafik). Es gibt jedoch keinen Plot-Editor, keinen Dateiexporer an der Seite, keinen Variablen-Explorer usw. Nur eine Shell.
Korrektur: Ich habe kürzlich das Octave 4.2.1-Gebäude von der Quelle installiert. Wenn Sie die richtigen Abhängigkeiten haben, wird Octave mit einer übersichtlichen Benutzeroberfläche geliefert. ** Octave ist also nicht nur ein Shell-Programm. **
#3
+9
Ranveer
2014-02-05 17:07:32 UTC
view on stackexchange narkive permalink

Ich würde Scilab empfehlen, da ich es verwendet habe und festgestellt habe, dass es eine anständige Open-Source-Alternative für MATLAB ist. Es hat nicht die Robustheit und Politur eines professionellen Pakets, aber da es auf der MATLAB-Sprache basiert, kann das, was Sie lernen, später übertragen werden, wenn sich Ihre Anforderungen ändern oder Sie in einer Umgebung arbeiten, in der MATLAB das ist Standard.

Zitieren von Richie Cotton bei Stapelüberlauf:

Scilab ist für MATLAB wie OpenOffice für MS Office . Das heißt, es ist ein nicht ganz klonierter und nicht so polierter. Sie erhalten die meisten Funktionen von MATLAB und der Preis ist viel angenehmer.

[+1] Können Sie etwas zur Syntaxkompatibilität von Matlab hinzufügen (um zu wissen, ob es einfach ist, vorhandene Inhalte auf Scilab zu portieren)?
Scilab verfügt über einen integrierten M-File-Übersetzer, mit dem Sie Ihren Code ganz einfach auf MATLAB portieren können. Außerdem ist es plattformübergreifend, d. H. Es funktioniert mit Windows / Linux / MacOS. Nun, da ich nur SCILAB verwendet habe, kann ich die Vor- und Nachteile gegenüber anderen nicht erkennen, aber ja, ich fand es ziemlich gut.
Beachten Sie auch, dass Scilab schon eine Weile existiert und von der französischen Regierung gesponsert wird.
#4
+7
Szabolcs
2014-07-01 22:41:32 UTC
view on stackexchange narkive permalink

Schauen Sie sich Julia an: http://julialang.org/

Julia wurde für numerische wissenschaftliche Arbeiten einschließlich interaktiver Arbeiten entwickelt. Es steht eine hochwertige Notebook-Oberfläche zur Verfügung wie Mathematica und Sage. Es bietet die beste Leistung seiner Klasse. Sehen Sie sich die Benchmarks auf der Titelseite an. Es kann Python aufrufen, wodurch viele nützliche Bibliotheken für Python geöffnet werden.

Julia wurde speziell entwickelt, um MATLAB-Benutzern den Übergang zu erleichtern. Die grundlegende Syntax ist ähnlich. Die Programmiersprache ist jedoch moderner und fortschrittlicher als die von MATLAB (z. B. unterstützt sie Metaprogrammierung).

Julia ist ein relativ neues System, daher ist es nicht so vollständig wie andere (R. , Octave), aber es hat eine wachsende Community und es ist vielversprechend.

(wie Sie sagen) Ein bemerkenswertes Merkmal von Julia, das im Vergleich zu numpy besonders gut ist, ist, dass die Syntax für numerische Operationen fast identisch mit Matlabs ist. In dem Maße, in dem beim Portieren numerischer Algorithmen das Kopieren und Einfügen und das Beheben der Ausnahmen möglich sind.
#5
+5
Nathaniel M. Beaver
2015-10-14 22:38:11 UTC
view on stackexchange narkive permalink

Wenn Sie keine genaue Kompatibilität mit Matlab benötigen, ist Freemat eine Option.

enter image description here

http: // freemat.sourceforge.net/

Es kann sehr schnell gehen, da LLVM als JIT-Compiler verwendet wird.

http: // freemat-blog. blogspot.com/2008/02/why-jit-how-to-jit.html

Freemat hat eine integrierte Benutzeroberfläche länger als Octave, obwohl die Benutzeroberfläche von Octave besser geworden ist.

Der Hauptnachteil ist, dass es nicht so aktiv entwickelt ist wie Octave; Die letzte Veröffentlichung war 2013.

https://www.openhub.net/p/_compare?project_0=FreeMat&project_1=GNU+Octave

Ich habe Freemat 2010 bei einem Startup-Unternehmen eingesetzt, es hat unsere Anforderungen erfüllt.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...