Vraag:
Gratis alternatieven voor Matlab die op Linux draaien?
e-sushi
2014-02-05 07:29:03 UTC
view on stackexchange narkive permalink

Ik ben onlangs lid geworden van de mensen die Linux gebruiken. Als gevolg daarvan probeer ik zoveel mogelijk gepaste applicaties te vervangen door gratis - en indien mogelijk open-source - alternatieven.

Omdat ik een fatsoenlijke tool nodig heb voor mijn wiskundige experimenten en Ik gebruikte MATLAB R2013b op mijn vorige Windows-installatie, ik ben benieuwd naar gratis - bij voorkeur open-source - alternatieven voor Matlab die op Linux (Ubuntu) zullen draaien.

Zijn er gratis alternatieven naar Matlab die op Linux draaien? Wat voor mij het belangrijkste is, is dat het alternatief voor Matlab een goede match moet zijn als het gaat om syntaxiscompatibiliteit… zodat de meeste programma's gemakkelijk kunnen worden geport (of - indien mogelijk - geïmporteerd). Ik ben er ook vrij zeker van dat geen enkel alternatief de volledige functionaliteit zal hebben die Matlab biedt, dus het zou ook belangrijk voor mij zijn om te weten welke verschillen in functionaliteit ik kan verwachten bij het gebruik van de door jou voorgestelde alternatieven. Betekenis: is er iets dat het (de) gratis alternatief (en) kan / kunnen MATLAB R2013b niet kan, en vice versa?

Er zijn geen complete vervangingen voor mathlab. Verwacht dus ontbrekende functies en slechtere prestaties. En minder bibliotheken.
Matlab heeft veel functies. Welke features gebruik je? Heb je Scilab geprobeerd, dat ernaar streeft een gratis alternatief voor Matlab te zijn?
Deze vraag mag niet heropend worden, want de eisen zijn nog veel te vaag.
@e-sushi Als je bereid bent te betalen voor Matlab op Windows, waarom zou je het dan ook niet op Linux gebruiken?
@Bernhard Om [uw vraag] (http://softwarerecs.stackexchange.com/questions/194/free-alternatives-to-matlab-that-run-on-linux?noredirect=1#comment954_194) te beantwoorden, citeer ik de een deel van mijn vraag lijkt u te hebben gemist: * "... ik probeer zoveel mogelijk fatsoenlijke applicaties te vervangen door ** gratis - en indien mogelijk open-source - alternatieven ** ..." * Ik denk dat dat duidelijk aangeeft dat ik ben niet (meer) bereid voor Matlab te betalen.
@e-sushi Het heeft geen zin dat er open-source applicaties zijn die fatsoenlijke applicaties vervangen. U moet een lijst met specificaties opnemen van wat u wilt.
@Bernhard: "zoveel mogelijk" lijkt een zeer duidelijke vereiste. Zijn er echt zoveel Matlab-alternatieven voor Linux die de meeste functies dekken, dat het moeilijk is om er een of twee te kiezen met de beste compatibiliteit? Kunt u tien van dergelijke programma's noemen?
@SF. Probeer je me ervan te overtuigen dat hij alle functies gebruikt? Het slaat nergens op. Misschien doet hij slechts enkele datatransformaties en plotten. In dat geval zou een convertor van Matlab naar Python-code een geldig antwoord kunnen zijn. Zoveel mogelijk heeft geen zin als hij er maar een paar gebruikt.
@Bernhard Een kleine, vriendelijke waarschuwing vanuit onze helpsectie: * "[Wanneer moet ik geen commentaar geven?] (Http://softwarerecs.stackexchange.com/help/privileges/comment) ... ** Secundaire discussie ** of debat een controversieel punt; gebruik in plaats daarvan [chat] (http://chat.stackexchange.com/);… "*
@e-sushi U kiest de verkeerde delen van mijn opmerkingen. Ik vraag expliciet drie keer om duidelijk te maken waarnaar u precies op zoek bent: http://meta.softwarerecs.stackexchange.com/questions/1/is-it-okay-to-ask-for-alternatives
@Bernhard: Als je het nog lang niet hebt opgemerkt, heeft deze vraag al een goedgekeurd antwoord. Iets dat de vragensteller tevreden stelde. Als men bedenkt dat iemand, met behulp van de gegeven richtlijnen, in staat was om een ​​bevredigend antwoord te geven, is dit een feitelijk bewijs dat de vraag duidelijk genoeg was en geen verdere verduidelijking behoeft. Denk je dat je een betere oplossing kunt geven dan Olli als e-sushi je vragen beantwoordt? Algemene compatibiliteit voor het hele pakket is net zo'n geldige maatstaf voor de wenselijkheid van een pakket als elk ander, ongeacht wat u denkt.
@SF. Deze site is in privé-bèta. Het doel is om een ​​goede voorbeeldvraag te formuleren. Dit is als zodanig een slechte vraag. Dat er een geaccepteerd antwoord is, doet er helemaal niet toe.
@Bernhard: Dit is uw mening. Naar mijn mening is deze vraag redelijk goed, en "meest vergelijkbaar met gegeven" is een volkomen duidelijke en zeer acceptabele richtlijn. Ik begrijp je haat echt niet. (en of hij alle functies gebruikt of niet, is betwistbaar. Ik ben bijvoorbeeld een schrijver. Ik stel vaak vragen over dingen die ik nooit gebruik of van plan ben te gebruiken - tekens in mijn verhalen doen dat wel. Als ik handelsmerkproblemen met mijn boek en laat mijn personage nog steeds een echte niet-abstracte software gebruiken vergelijkbaar met Matlab, en draaiend op Linux, zou ik dezelfde vraag stellen.)
Vijf antwoorden:
#1
+19
Olli
2014-02-05 07:40:10 UTC
view on stackexchange narkive permalink

Er is geen enkele vervanging voor Matlab in Linux. Matlab is echt een enorm softwarepakket, inclusief een behoorlijk groot bibliotheekecosysteem.

Octave is een gratis alternatief voor Matlab. Het mist nogal wat functies, maar alle basics zijn aanwezig. Ik heb beide gebruikt, maar het is nogal moeilijk om een ​​goede evaluatie te geven op basis van mijn eigen gevoelens. Deze pagina somt enkele kleine verschillen op, maar vooral gevallen waarin Octave beter is dan Matlab. Het grootste probleem is waarschijnlijk dat sommige functies anders werken, bijvoorbeeld product van booleans en laden van lege bestanden. Dit is belangrijk, omdat het het porten van uw eigen scripts moeilijker maakt, omdat er onverwachte dingen gebeuren.

Mijn eigen gevoelens zijn dat

  • Matlab is veel volwassener dan Octave (zou geen verrassing moeten zijn)
  • Matlab is sneller (ik Ik heb hier geen empirische gegevens over, het is gewoon een gevoel)
  • Matlab UI is opmerkelijk beter
  • Bibliotheekondersteuning en beschikbare voorbeeldcode op het web voor Matlab zijn van hogere kwaliteit dan voor Octave.

Dat gezegd hebbende, Octave is gratis en Matlab kost veel meer dan de gemiddelde consument zich kan veroorloven.


Sagemath is een ander alternatief, maar het ligt qua functionaliteit dichter bij Mathematica.

Voor meer doe-het-zelf-oplossingen, kijk eens naar R, Scilab en Python. U zult hiermee geen geïntegreerd alles-in-één pakket krijgen en de leercurve is nogal steil.

-1: Ik denk dat de richtlijnen voor SR "één product per antwoord" zijn. Anders weerspiegelen de stemmen niet het geloof in individuele producten, wat hier het echte punt is. Ik zal een +1 stem toepassen op een puur Octave-antwoord, maar heb geen mening over SageMath.
@IraBaxter Kunt u mij op deze richtlijn wijzen?
@IraBaxter Dat wordt besproken, maar er is nog geen consensus.
@TimPost Bedankt voor de waarschuwing.
#2
+16
Lyndon White
2014-02-06 20:42:13 UTC
view on stackexchange narkive permalink

Octave

zoals Olli zei dat Ocatave een matlab-alternatief is:

Opmerkelijke kenmerken (gedeeld met matlab):

  • Syntaxis bijna identiek. het zal bijna alle m-bestanden verbruiken zonder wijzigingen. het mfile is ook het standaardformaat. De syntaxis is zo identiek dat de matlab-cursus van mijn universiteit octaaf in de autograder gebruikt, ook al wordt de eenheid volledig in matlab onderwezen en wordt octaaf slechts één keer vermeld.

  • Hoge kwaliteit BLAS Bibliotheekintegratie (normaal gesproken denk ik dat het is geïntegreerd met OpenBlas, maar dit kan afhankelijk zijn van uw systeem, het kan Atlas zijn). Vanwege de BLAS is het, net als matlab, veel efficiënter om vectortechnieken te gebruiken (in plaats van loops) - dus goede matlab-code is nog steeds een goede octaafcode .

  • Automatische multithreading voor prestaties: als je wat complexe code in octaaf of matlab schrijft en een tool opent om je CPU-belasting te zien, zal het al je cores laden. Deze parrellisering betekent dat alles sneller zou moeten verlopen.
  • 3D-plots met muisinteractie: Als u een 3D-plot maakt, ondersteunt het geopende venster muisinteractie om te zoomen, pannen en roteren.

Er zijn ook een paar toegevoegde functies , maar ik heb ze nooit opmerkelijk genoeg gevonden om ze te onthouden.

Ontbrekende opmerkelijke functies:

  • Bibliotheken : er is geen simulink en verschillende andere bibliotheken, zoals de Signal Processing Toolbox, bestaan ​​niet. Maar er zijn enkele alternatieven zoals het signal -pakket
  • GUI Workspace : de werkomgeving van het octaaf is een commandoregel-shell. Het is functioneel en gebruikt zoiets als GNU-leesregel. Wanneer u een grafiek plot die wordt geopend in een nieuw venster met volledige afbeeldingen. (van de grafiek). Maar er is geen plot-editor, geen bestandsverkenner aan de zijkant, geen variabelenverkenner enz. Gewoon een shell.
Correctie: ik heb onlangs Octave 4.2.1 vanaf de bron geïnstalleerd. Als u over de juiste afhankelijkheden beschikt, wordt Octave geleverd met een nette GUI. ** Octave is dus niet alleen een shell-programma. **
#3
+9
Ranveer
2014-02-05 17:07:32 UTC
view on stackexchange narkive permalink

Ik zou Scilab aanbevelen omdat ik het heb gebruikt en vond dat het een fatsoenlijk open-source alternatief voor MATLAB is. Het heeft niet de robuustheid en verfijning van een professioneel pakket, maar omdat het is gebaseerd op de MATLAB-taal, kan wat u leert later worden overgedragen als uw behoeften veranderen, of als u merkt dat u in een omgeving werkt waar MATLAB de standaard.

Richie Cotton citeren op Stack Overflow:

Scilab is voor MATLAB zoals OpenOffice voor MS Office . Dat wil zeggen, het is een niet-helemaal-een-kloon, en het is niet zo gepolijst. U krijgt de meeste functionaliteit van MATLAB, en de prijs is veel aangenamer.

[+1] Alles wat je kunt toevoegen over syntax-compatibiliteit naar Matlab (om te weten of het gemakkelijk is om bestaande dingen naar Scilab over te zetten)?
Scilab heeft een ingebouwde m-bestandsvertaler, waardoor u uw code gemakkelijk naar MATLAB kunt porten. Bovendien is het platformonafhankelijk, d.w.z. het werkt met Windows / Linux / MacOS. Nou, aangezien ik alleen SCILAB heb gebruikt, kan ik niet zeggen wat de voor- en nadelen zijn ten opzichte van andere, maar ja, ik vond het best goed.
Merk ook op dat Scilab al een tijdje bestaat en dat het wordt gesponsord door de Franse overheid.
#4
+7
Szabolcs
2014-07-01 22:41:32 UTC
view on stackexchange narkive permalink

Bekijk Julia : http://julialang.org/

Julia is ontworpen voor numeriek wetenschappelijk werk, inclusief interactief werk. Er is een notebookinterface van goede kwaliteit beschikbaar, zoals Mathematica en Sage. Het heeft de beste prestaties in zijn klasse, bekijk de benchmarks op de voorpagina. Het kan Python aanroepen, wat er veel nuttige bibliotheken voor opent.

Julia is specifiek ontworpen om de overgang gemakkelijk te maken voor MATLAB-gebruikers. De basissyntaxis is vergelijkbaar. De programmeertaal is echter moderner en geavanceerder dan die van MATLAB (het ondersteunt bijvoorbeeld metaprogrammering).

Julia is een relatief nieuw systeem, dus het is niet zo compleet als andere (R , Octave), maar het heeft een groeiende gemeenschap en het toont veel belofte.

(zoals je zegt) Een opmerkelijk kenmerk van Julia dat bijzonder goed is in vergelijking met bijvoorbeeld numpy, is dat de syntaxis voor numerieke bewerkingen bijna identiek is aan Matlabs. Voor zover bij het porten van numerieke algoritmen, kopiëren en plakken, en vervolgens de uitzonderingen corrigeren, haalbaar is.
#5
+5
Nathaniel M. Beaver
2015-10-14 22:38:11 UTC
view on stackexchange narkive permalink

Als je geen exacte compatibiliteit met Matlab nodig hebt, is Freemat een optie.

enter image description here

http: // freemat.sourceforge.net/

Het kan behoorlijk snel zijn, aangezien het LLVM gebruikt als een JIT-compiler.

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

Freemat heeft al langer een geïntegreerde GUI dan Octave, hoewel Octave's GUI steeds beter wordt.

Het belangrijkste nadeel is dat het niet zo actief wordt ontwikkeld als Octave; de laatste release was in 2013.

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

Ik heb Freemat in 2010 gebruikt bij een startend bedrijf, het voldeed aan onze behoeften.


Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...