MATLAB vs Python: for Scientific Computing – A Beginners Guide

Faisal Riyad
Faisal Riyad

Follow

Apr 20, 2018 · 6 min read

Now a days “the ability to write codes” has become an essential skill for the students from the technical discipline. O ti piace o no, durante i tuoi studi universitari farai assegnazioni, risolverai equazioni o parte dei problemi del tuo progetto con una sorta di codifica. E, se si pensa di andare per gli studi superiori e fare qualche ricerca approfondita, poi “scrivere codici” è un must know abilità per voi.

Quale si dovrebbe imparare — MATLAB o Python? Non ci sono risposte definitive. MATLAB è stato lì per il calcolo scientifico per molto tempo, dove lo sviluppo di pacchetti di calcolo scientifico per python, ad esempio SciPy, NumPy non è stato antiquato. Quindi MATLAB è diventato un linguaggio o uno strumento legacy per la comunità scientifica.
È diventato un linguaggio legacy per una serie di motivi. Ingegneri e scienziati avevano sempre bisogno di un linguaggio di programmazione che esprimesse direttamente la matematica di matrice e matrice, e quindi MATLAB (matrix laboratory) è nato. MATLAB è un linguaggio orientato alla matematica e alla matrice dotato di diversi tipi di toolbox specializzati (devi pagare per toolbox) per diversi scopi, ad esempio modellazione di dati economici, analisi delle immagini o guida di un robot. Questi toolbox sono sviluppati professionalmente, rigorosamente testati e ben documentati per applicazioni scientifiche e ingegneristiche. Ed è per questo che ne paghi il prezzo. D’altra parte, in Python devi spesso fare affidamento su pacchetti creati dalla comunità per usi scientifici e ingegneristici.

operazioni con le matrici in Python vs MATLAB

MATLAB ha una solida quantità di funzioni. Uno dei suoi migliori prodotti è ‘SimuLink’, che non ha ancora alternative. Potresti pensare a un altro linguaggio di programmazione grafico chiamato ‘LabVIEW’ come alternativa ad esso, ma poi devi pagare un prezzo pesante per questo. E, in Python per ottenerlo come pacchetto sviluppato dalla comunità, potremmo dover aspettare almeno la metà di un decennio.

Ha una documentazione straordinariamente buona per iniziare ad imparare e una grande comunità scientifica che ha risposto alle domande che verranno poste o riceverà risposta da qualcuno mentre le pubblichi nel MATLAB Central. Ci sono 365.000 collaboratori, 120 domande sono risposte e 25.000 script di esempio o codici vengono scaricati al giorno.

La cosa migliore di MATLAB è la disponibilità di GUI applicazioni per eseguire attività comuni, che rende la vita di principiante più facile. Non sai come adattare una curva usando il comando ‘fminsearch’, apri semplicemente la casella degli strumenti di adattamento dei dati e con un paio di clic del mouse sarà fatto. L’elaborazione parallela è molto più semplice in MATLAB, se qualcuno ha accesso al parallel computing toolbox. Dispone di toolbox per la biologia computazionale, le finanze computazionali, i sistemi di controllo, la scienza dei dati, l’elaborazione delle immagini e la visione artificiale, l’apprendimento automatico, la modellazione fisica e la simulazione, la robotica, l’elaborazione dei segnali e le comunicazioni e l’IOT. Solo gli svantaggi che ho trovato, devi pagare per questo e in una certa misura richiede un po ‘ di RAM extra nel tuo dispositivo informatico.

D’altra parte, chiamare Python come alternativa a MATLAB è tecnicamente errato, piuttosto è un linguaggio di programmazione generico che significa che è possibile sviluppare app complete o altri strumenti software in python. È possibile creare applicazioni utilizzando una qualsiasi delle principali librerie GUI (ad esempio Qt), utilizzare OpenGL, guidare la porta USB, ecc.

Python e le sue librerie associate stanno diventando sempre più sofisticate giorno dopo giorno. Per problemi su larga scala, Python è molto più espressivo e leggibile rispetto agli script MATLAB. I programmi Python vengono strutturati attraverso il rientro, cioè i blocchi di codice sono definiti dal loro rientro che rende il programma più facile da seguire.

Rientro in Python

Essendo un libero, cross-platform, general-purpose e di alto livello, linguaggio di programmazione, un sacco di persone stanno adottando Python. IDE come pycharm, ipython notebook, jupyter notebook una distribuzione come anaconda ha reso Python molto più utilizzabile per i ricercatori. Come risultato di questa popolarità, molti pacchetti scientifici Python sono diventati disponibili con un’ampia documentazione per la visualizzazione dei dati, l’apprendimento automatico, l’elaborazione del linguaggio naturale, l’analisi dei dati complessi e altro ancora. Ad esempio, scikit-learn include approcci di “Machine Learning” all’inizio dell’arte con ottima documentazione e tutorial.

Qui ho raccolto un elenco di alcuni popolare di Python biblioteche scientifiche e strumenti:

SciPy: Questa libreria è utilizzato da scienziati, analisti, ingegneri e facendo il calcolo scientifico e tecnico computing. Contiene moduli per l’ottimizzazione, algebra lineare, integrazione, interpolazione, funzioni speciali, FFT, elaborazione di segnali e immagini, risolutori di ODE e altri compiti comuni nella scienza e nell’ingegneria.

NumPy: È il pacchetto fondamentale per il calcolo scientifico con Python, aggiungendo il supporto per array e matrici di grandi dimensioni e multidimensionali, insieme a una vasta libreria di funzioni matematiche di alto livello per operare su questi array.

Pandas: Pandas è una libreria per la manipolazione e l’analisi dei dati. La libreria fornisce strutture dati e operazioni per la manipolazione di tabelle numeriche e serie temporali.

SymPy: SymPy è una libreria per il calcolo simbolico e include funzionalità che vanno dall’aritmetica simbolica di base al calcolo, all’algebra, alla matematica discreta e alla fisica quantistica. Fornisce funzionalità di algebra del computer sia come applicazione standalone, come libreria per altre applicazioni, o dal vivo sul web.

Matplotlib: Matplotlib è una libreria di plotting 2D python che produce figure di qualità di pubblicazione in una varietà di formati cartacei e ambienti interattivi su piattaforme diverse. Matplotlib consente di generare grafici, istogrammi, spettri di potenza, grafici a barre, errorcharts, scatterplots e altro ancora.

scikit-imparare: scikit-imparare è una macchina di apprendimento biblioteca. È dotato di vari algoritmi di classificazione, regressione e clustering, tra cui macchine vettoriali di supporto, foreste casuali, aumento del gradiente, k-means e DBSCAN, ed è progettato per interagire con le librerie numeriche e scientifiche Python NumPy e SciPy.

scikit-image: scikit-image è una libreria di elaborazione delle immagini. Include algoritmi per segmentazione, trasformazioni geometriche, manipolazione dello spazio colore, analisi, filtraggio, morfologia, rilevamento di funzionalità e altro ancora.

Veusz: Veusz è un pacchetto di grafici e grafici scientifici progettato per produrre grafici di qualità di pubblicazione in formati vettoriali popolari, tra cui PDF, PostScript e SVG.

Astropy: Il progetto Astropy è una raccolta di pacchetti progettati per l’uso in astronomia. Il pacchetto core astropy contiene funzionalità rivolte a astronomi professionisti e astrofisici, ma può essere utile a chiunque sviluppi software di astronomia.

PsychoPy: PsychoPy è un pacchetto per la generazione di esperimenti per neuroscienze e psicologia sperimentale. PsychoPy è progettato per consentire la presentazione di stimoli e la raccolta di dati per una vasta gamma di esperimenti di neuroscienze, psicologia e psicofisica.

Biopython: Biopython è una raccolta di strumenti Python non commerciali per la biologia computazionale e la bioinformatica. Contiene classi per rappresentare sequenze biologiche e annotazioni di sequenza ed è in grado di leggere e scrivere in una varietà di formati di file.

Ci sono così tanti pacchetti in giro, e la cosa migliore è che sono gratuiti, cioè il costo di calcolo scientifico e numerico con Python è zero.

Quindi, da un punto di vista principiante, non esiste una risposta definitiva alla domanda: “Quale dovrei usare per il calcolo scientifico?”Vorrei rispondere a questa domanda in un modo diverso. L’utilizzo di Python significa che puoi collaborare più facilmente con persone che non hanno accesso a MATLAB. O, forse, userai MATLAB, perché non ci sono pacchetti alternativi in Python che servano al meglio come in MATLAB.

Si prega di come e seguici su Facebook: https://www.facebook.com/gradbunker

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.