Domanda:
Alternative gratuite a Matlab che funzionano su Linux?
e-sushi
2014-02-05 07:29:03 UTC
view on stackexchange narkive permalink

Recentemente mi sono unito a quelli che usano Linux. Di conseguenza, sto cercando di sostituire quante più applicazioni di proprietà possibile, con alternative gratuite e se possibile open source.

Poiché ho bisogno di uno strumento decente per i miei esperimenti di matematica e Usavo MATLAB R2013b sulla mia precedente installazione di Windows, sono ansioso di conoscere alternative gratuite - preferibilmente open source - a Matlab che funzioneranno su Linux (Ubuntu).

Ci sono alternative gratuite a Matlab che gira su Linux? Ciò che è più importante per me, è che l'alternativa a Matlab dovrebbe essere perfetta quando si tratta di compatibilità della sintassi ... in modo che la maggior parte dei programmi possa essere facilmente portata (o, se possibile, importata). Inoltre, sono abbastanza sicuro che nessuna alternativa avrà il set completo di funzionalità fornito da Matlab, quindi sarebbe anche importante per me sapere quali differenze di funzionalità devo aspettarmi quando si utilizzano le alternative suggerite. Significato: c'è qualcosa che le alternative gratuite possono fare che MATLAB R2013b non può fare e viceversa?

Non ci sono sostituzioni mathlab complete di funzionalità. Quindi, aspettati funzionalità mancanti e prestazioni peggiori. E meno biblioteche.
Matlab ha molte funzionalità. Quali funzionalità utilizzi? Hai provato Scilab, che vuole essere un'alternativa gratuita a Matlab?
Questa domanda non dovrebbe essere riaperta, perché i requisiti sono ancora molto vaghi.
@e-sushi Se sei disposto a pagare per Matlab su Windows, perché non usarlo anche su Linux?
@Bernhard Per rispondere alla [tua domanda] (http://softwarerecs.stackexchange.com/questions/194/free-alternatives-to-matlab-that-run-on-linux?noredirect=1#comment954_194), citerò il parte della mia domanda ti sei perso: * "... cercando di sostituire il maggior numero possibile di applicazioni proprietarie, con ** alternative gratuite - e se possibile open-source - ** ..." * Penso che sia chiaramente non sono disposto a pagare per Matlab (più).
@e-sushi Non ha senso che ci siano applicazioni open source che sostituiscono le applicazioni proprietarie. Dovresti includere un elenco di specifiche di ciò che desideri.
@Bernhard: "il maggior numero possibile" sembra un requisito molto chiaro. Ci sono davvero così tante alternative Matlab per Linux che coprono la maggior parte delle sue funzionalità, che è difficile sceglierne una o due con la massima compatibilità? Puoi nominare dieci di questi programmi?
@SF. Stai cercando di convincermi che sta usando tutte le funzionalità? Non ha senso. Potrebbe fare solo alcune trasformazioni di dati e tracciare. In tal caso, un convertitore da Matlab a codice Python potrebbe essere una risposta valida. Il maggior numero possibile non ha alcun senso se ne utilizza solo alcuni.
@Bernhard Un piccolo avvertimento amichevole dalla nostra sezione di aiuto: * "[Quando non dovrei commentare?] (Http://softwarerecs.stackexchange.com/help/privileges/comment) ... ** Discussione secondaria ** o dibattito un punto controverso; utilizza invece [chat] (http://chat.stackexchange.com/); ... "*
@e-sushi Stai scegliendo le parti sbagliate dei miei commenti. Chiedo esplicitamente tre volte di chiarire cosa stai cercando esattamente: http://meta.softwarerecs.stackexchange.com/questions/1/is-it-okay-to-ask-for-alternatives
@Bernhard: Se non l'hai notato da molto, questa domanda ha già una risposta approvata. Qualcosa che ha soddisfatto il richiedente. Considerare che qualcuno, utilizzando le linee guida fornite, fosse in grado di dare una risposta soddisfacente è una prova concreta che la domanda era abbastanza chiara e non richiede ulteriori chiarimenti. Credi di poter dare una soluzione migliore di Olli se l'e-sushi risponde alle tue domande? La compatibilità generale attraverso l'intero pacchetto è altrettanto valida metrica di desiderabilità di un pacchetto come qualsiasi altro, indipendentemente da ciò che pensi.
@SF. Questo sito è in beta privata. L'obiettivo è formulare una domanda di buon esempio. Questa è una brutta domanda in quanto tale. Che ci sia una risposta accettata è completamente irrilevante.
@Bernhard: Questa è la tua opinione. A mio parere questa domanda è abbastanza buona e "più simile al dato" è una linea guida perfettamente chiara e molto accettabile. Davvero non capisco il tuo odio. (e se usa tutte le caratteristiche o meno è discutibile. Ad esempio, io sono uno scrittore. Tendo a fare domande su cose che non uso mai né intendo usare - i personaggi nelle mie storie lo fanno. Se dovessi evitare problemi con i marchi il mio libro e ho ancora il mio personaggio che usa un vero software non astratto simile a Matlab e che gira su Linux, farei la stessa domanda.)
Cinque risposte:
#1
+19
Olli
2014-02-05 07:40:10 UTC
view on stackexchange narkive permalink

Non esiste un unico sostituto per Matlab in Linux. Matlab è un pacchetto software davvero enorme, che include un ecosistema di librerie piuttosto ampio.

Octave è un'alternativa gratuita per Matlab. Mancano alcune funzionalità, ma ci sono tutte le basi. Ho usato entrambi, ma è piuttosto difficile dare una buona valutazione in base ai miei sentimenti. Questa pagina elenca alcune piccole differenze, ma principalmente casi in cui Octave è migliore di Matlab. Probabilmente il problema più grande è che alcune funzioni agiscono in modo diverso, ad esempio, prodotto di booleani e caricamento di file vuoti. Questo è importante, poiché rende più difficile il porting dei tuoi script, poiché accadono cose inaspettate.

I miei sentimenti sono che

  • Matlab è molto più maturo di Octave (non dovrebbe essere una sorpresa)
  • Matlab è più veloce (io non non abbiamo dati empirici su questo, è solo una sensazione)
  • L'interfaccia utente di Matlab è notevolmente migliore
  • Il supporto per le librerie e il codice di esempio disponibile sul Web per Matlab sono di qualità superiore rispetto a Octave.

Detto questo, Octave è gratuito e Matlab costa molto più di quanto il consumatore medio può permettersi di pagare.


Sagemath è un'altra alternativa, ma è più vicino a Mathematica in termini di funzionalità.

Per ulteriori soluzioni fai-da-te, dai un'occhiata a R, Scilab e Python. Con questi non avrai un pacchetto all-in-one integrato e la curva di apprendimento è piuttosto ripida.

-1: credo che le linee guida per SR sia "un prodotto per risposta". In caso contrario, i voti non riflettono la fiducia nei singoli prodotti, che è il vero punto qui. Applicherò un voto +1 a una risposta Octave pura, ma non ho opinioni su SageMath.
@IraBaxter Puoi indicarmi questa linea guida?
@IraBaxter Questo è in discussione, ma non c'è ancora consenso.
@TimPost Grazie per l'avviso.
#2
+16
Lyndon White
2014-02-06 20:42:13 UTC
view on stackexchange narkive permalink

Octave

come ha detto Olli, Ocatave è un'alternativa matlab:

Caratteristiche notevoli (condivise con matlab):

  • Sintassi quasi identica. consumerà quasi tutti i file m senza modifiche. il mfile è anche il suo formato predefinito. La sintassi è così identica che il corso matlab della mia università utilizza l'ottava nell'autografo, anche se l'unità viene insegnata interamente in matlab e menziona l'ottava solo una volta di passaggio.

  • BLAS Integrazione della libreria di alta qualità (normalmente credo che sia integrato con OpenBlas ma questo può dipendere dal tuo sistema, potrebbe essere Atlas). A causa del BLAS, come matlab è molto più efficiente usare tecniche vettoriali (piuttosto che per cicli), quindi un buon codice matlab è ancora un buon codice in ottava .

  • Multithreading automatico per le prestazioni: se scrivi del codice complesso in ottava o matlab e apri uno strumento per vedere il carico della tua CPU, caricherà tutti i tuoi core. Questa parrellizzazione significa che le cose dovrebbero funzionare più velocemente.
  • Grafici 3D con interazione del mouse: se crei un grafico 3D, la finestra che si apre supporta l'interazione del mouse per eseguire lo zoom, la panoramica e la rotazione.

Ci sono anche alcune funzionalità aggiunte , ma non le ho mai trovate abbastanza degne di nota da ricordarle.

Caratteristiche notevoli mancanti:

  • Librerie : non esiste alcun collegamento simulativo e varie altre librerie come Signal Processing Toolbox non esistono. Ma ci sono alcune alternative come il pacchetto signal
  • GUI Workspace : l'ambiente di lavoro octave è una shell a riga di comando. È funzionale e utilizza qualcosa come GNU readline. Quando si traccia un grafico che si apre in una nuova finestra con grafica completa. (del grafico). Ma non c'è un editor di grafici, un programma di esportazione di file sul lato, nessun esploratore di variabili, ecc.
Correzione: ho recentemente installato Octave 4.2.1 compilando dai sorgenti. Se hai le dipendenze appropriate, Octave viene fornito con una bella GUI. ** Quindi Octave non è solo un programma shell. **
#3
+9
Ranveer
2014-02-05 17:07:32 UTC
view on stackexchange narkive permalink

Consiglierei Scilab poiché l'ho usato e l'ho trovato una discreta alternativa open source per MATLAB. Non ha la robustezza e la raffinatezza di un pacchetto professionale, ma poiché si basa sul linguaggio MATLAB, ciò che imparerai può essere trasferito in seguito se le tue esigenze cambiano, o ti trovi a lavorare in un ambiente in cui MATLAB predefinito.

Citando Richie Cotton su Stack Overflow:

Scilab sta a MATLAB come OpenOffice sta a MS Office . Vale a dire, non è un clone del tutto e non è così lucido. Ottieni la maggior parte delle funzionalità di MATLAB e il prezzo è molto più gradevole.

[+1] Qualcosa che puoi aggiungere sulla compatibilità della sintassi con Matlab (per sapere se è facile portare cose esistenti su Scilab)?
Scilab ha un traduttore m-file integrato, che semplifica il porting del codice su MATLAB. Inoltre, è multipiattaforma, cioè funziona con Windows / Linux / MacOS. Bene, dato che ho usato solo SCILAB, non sarò in grado di dire i suoi vantaggi / svantaggi rispetto ad altri, ma sì, l'ho trovato abbastanza buono.
Si noti inoltre che Scilab è in circolazione da un po 'e che è sponsorizzato dal governo francese.
#4
+7
Szabolcs
2014-07-01 22:41:32 UTC
view on stackexchange narkive permalink

Dai un'occhiata a Julia : http://julialang.org/

Julia è progettata per il lavoro scientifico numerico, compreso il lavoro interattivo. È disponibile un'interfaccia per notebook di buona qualità come Mathematica e Sage. Ha le migliori prestazioni della categoria, controlla i benchmark in prima pagina. Può chiamare Python, che apre molte utili librerie per esso.

Julia è stata specificamente progettata per rendere la transizione facile per gli utenti MATLAB. La sintassi di base è simile. Tuttavia, il suo linguaggio di programmazione è più moderno e avanzato di quello di MATLAB (ad esempio, supporta la metaprogrammazione).

Julia è un sistema relativamente nuovo, quindi non è completo come gli altri (R , Octave), ma ha una comunità in crescita e mostra molte promesse.

(come dici tu) Una caratteristica notevole di Julia che è particolarmente buona rispetto a say numpy, è che la sintassi per le operazioni numeriche è quasi identica a Matlabs. Nella misura in cui quando si trasferiscono algoritmi numerici, è possibile copiare e incollare e quindi correggere le eccezioni.
#5
+5
Nathaniel M. Beaver
2015-10-14 22:38:11 UTC
view on stackexchange narkive permalink

Se non è necessaria la compatibilità esatta con Matlab, Freemat è un'opzione.

enter image description here

http: // freemat.sourceforge.net/

Può essere abbastanza veloce, poiché utilizza LLVM come compilatore JIT.

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

Freemat ha una GUI integrata da più tempo di Octave, anche se la GUI di Octave sta migliorando.

Lo svantaggio principale è che non è sviluppato attivamente come Octave; l'ultima versione è stata nel 2013.

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

Ho usato Freemat nel 2010 in una startup, ha soddisfatto le nostre esigenze.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...