Sto cercando di trovare un'alternativa a MATLAB e finora ho trovato:
- GNU Octave
- Spyder
- FreeMat
- Scilab
Sto cercando di trovare qual è la migliore alternativa a MATLAB. Sono particolarmente preoccupato per le prestazioni e l'integrità dei risultati.
Sto cercando di trovare un'alternativa a MATLAB e finora ho trovato:
Sto cercando di trovare qual è la migliore alternativa a MATLAB. Sono particolarmente preoccupato per le prestazioni e l'integrità dei risultati.
Risposte:
Bene, sei pronto per una sorpresa Ho usato tutti i linguaggi di programmazione / software che hai citato. FreeMat e Spyder non ho troppa esperienza ma ne ho alcuni. Gli altri in cui ho esperienza.
GNU Octave di gran lunga accarezza la concorrenza. La sua sintassi ha un'estrema compatibilità con quella di MATLAB . Le uniche differenze, almeno sono a conoscenza, a parte la strana cassetta degli attrezzi, che puoi provare a sostituire con i pacchetti qui è che GNU Octave può definire funzioni dalla riga di comando.
Non so se sei a conoscenza di QtOctave . QtOctave è un frontend (GUI) per il linguaggio di programmazione GNU Octave. QtOctave include anche un editor.
Scilab è un sostituto adeguato anche per MATLAB. Presenta alcune differenze in termini di sintassi, ma nulla è impossibile per te se cerchi la documentazione che ne deriva.
FreeMat è il peggiore, almeno secondo me, del software che la sintassi è fortemente basata su MATLAB. La mia prova per questo è di tre parti: in primo luogo, nel centro software riceve la valutazione in stelle più bassa dei quattro software in questione. In secondo luogo, non viene aggiornato di frequente, l'ultima versione del software center è stata aggiornata l'ultima volta nel 2008. In terzo luogo, a causa del mio secondo elemento di prova, le sue funzioni sono in qualche modo in ritardo. Il lato positivo, tuttavia, è che la sua sintassi è altamente compatibile con MATLAB.
Ho usato Spyder , ma solo brevemente ho paura. Sembra di alta qualità. Il problema è che ha solo una compatibilità limitata con MATLAB, per quanto riguarda la sintassi. Richiede di imparare alcuni dei linguaggi di programmazione di Python, vale a dire se hai intenzione di farlo bene.
Vorrei anche raccomandare SageMath in quanto include GNU Octave, (se è già installato sul tuo sistema) Scilab, (se lo hai già installato) Numpy, [Numpy e il resto menzionato se non diversamente specificato vengono forniti con Sage e quindi non è necessaria alcuna installazione ] Scipy, Matplotlib, maxima, fortran e molti altri. SageMath può essere scaricato accedendo al sito Web http://www.sagemath.org/download-linux.html e selezionando un mirror adatto, in base alla propria posizione, quindi installando il file .tar.lzma pertinente. Dopo questa copia e incolla i seguenti comandi nel terminale (ctrl + alt + T):
cd ~/Downloads
sudo mv sage-linux-xbit-ubuntu_y-z-Linux.tar.lzma /home/username
cd ~
tar --lzma -xvf sage-linux-xbit-ubuntu_y-z-Linux.tar.lzma
cd ~/sage-linux-xbit-ubuntu_y-z-Linux
make
sudo ln -s /home/username/sage-linux-xbit-ubuntu_y-z-Linux/sage /usr/local/bin/sage
Dove 'x' si riferisce ai bit del tuo sistema operativo; 'y' si riferisce alla versione di Ubuntu per cui è stato progettato il saggio (es. 10.04_lts; 12.04_lts (il _lts è richiesto in 'y'), ecc.); 'z' si riferisce all'architettura del tuo sistema operativo. (i386, amd64, ecc.)
Di tutti quelli che hai elencato Octave è la sintassi più compatibile. Infatti, a parte alcune delle costose cassette degli strumenti Matlab, Octave dovrebbe eseguire il 98% (un numero che ho appena inventato) del tuo codice. Uso Matlab al lavoro e Octave a casa.
Octave non eseguirà (nativamente) alcune delle GUI integrate come inputdlg ecc., Se installi Qtoctave (un IDE per Octave, sudo apt-get install qtoctave ) puoi usare xmlwidget e un wrapper per ottenere quella funzionalità (posso inserire codice se sei interessato).
Per quanto riguarda le prestazioni, Octave non è così veloce (google per i benchmark). Tuttavia, è possibile ottenere tutte le versioni moderne di Matlab in esecuzione su Linux (se si dispone di una licenza) e sono ora incluse sul disco di installazione per impostazione predefinita, e le prestazioni della versione Linux di Matlab sono altrettanto buone e spesso migliori su Linux rispetto a Finestre.
Se vuoi prestazioni e non vuoi usare il software libero meglio per guardare Scipy. Ma la sintassi è meno compatibile. Dovrai riscrivere il tuo codice. Spyder è un ide che usa pitone e scipy, scilab è un miscuglio di ottava e massimi e pochi altri. Non sono sicuro delle prestazioni di Freemat, ma non penso che sia sviluppato come Octave.
In bocca al lupo.
Alcuni parametri di riferimento
velocità
http://www.osc.edu/research/cse/projects/octave_python.pdf
http://www.wseas.us/e-library/conferences/2010/Corfu/COMPUTERS/COMPUTERS2-56.pdf
Ricorda che i benchmark sono soggettivi. Ci sono molte variabili L'unico vero modo per sapere è testarli tutti sul tuo rig usando il tuo codice di elaborazione.
Solo per chiarimenti: perché vuoi un'alternativa a Matlab? La risposta di prasadkumar013 suggerisce che non puoi usare Matlab su Ubuntu, ma puoi (almeno lo sto eseguendo su Ubuntu;)). C'è una documentazione della comunità nella pagina https://help.ubuntu.com/community/MATLAB .
Se desideri un'alternativa gratuita vai con ottava, la maggior parte del codice matlab funzionerà direttamente in ottava. Prova a lavorare nel terminale, tuttavia, la GUI di qtoctave non era così facile da usare secondo me.
PDL ("Perl Data Language") offre allo standard Perl la capacità di archiviare e manipolare rapidamente i grandi array di dati N-dimensionali che sono il pane e il burro dell'informatica scientifica.
Hai già provato Sage ( www.sagemath.org )? È un contenitore per diversi software matematici e può eseguire calcoli simbolici e numerici. Questi ultimi sono fatti usando intorpidimento e scipy. Ha una comunità molto attiva ed è un progetto open source scritto in Python.
Dato che sei interessato alle performance, qui ci sono alcuni benchmark (alla fine della pagina anche i confronti con Matlab).
Non ho fatto un vero confronto, ma nella mia esperienza la forma di un'ottava in prospettiva è migliore di MATLAB.
Si noti che "tutto è relativo" diverse cassette degli strumenti hanno prestazioni diverse.
Se hai una RAM limitata sulla tua macchina, direi che qualsiasi cosa funzionerebbe meglio di MATLAB.
Il mio college utilizza MATLAB sui loro PC Windows. Ma per usare MATLAB su Ubuntu mi erano rimaste due possibilità
Poiché la virtualizzazione è molto pesante sul mio laptop, ho cercato un'alternativa. Dopo molte prove del software, ho finalmente optato per OCTAVE. Può eseguire la maggior parte dei codici MATLAB standard. Invece di GNU Octave, è meglio scegliere qt Octave. Mentre il primo è basato su terminale, il secondo è basato sulla GUI. La mia scelta è scegliere qt Octave
sudo apt-get install qtoctave