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. Fie că vă place sau nu, în timpul studiilor dvs. de student veți face sarcini, veți rezolva ecuații sau o parte din problemele proiectului dvs. cu un fel de codificare. Și, dacă te gândești de a merge pentru studii superioare și de a face unele ample de cercetare, apoi” scrierea codurilor ” este o trebuie să știe de calificare pentru tine.

pe care ar trebui să — l înveți-MATLAB sau Python? Nu există răspunsuri clare. MATLAB a fost acolo pentru calcul științific pentru o lungă perioadă de timp, în cazul în care ca dezvoltarea de pachete de calcul științifice pentru python de exemplu SciPy, NumPy nu au fost învechite. Deci, MATLAB a devenit un limbaj sau un instrument de moștenire pentru comunitatea științifică.
A devenit o limbă moștenită din mai multe motive. Inginerii și oamenii de știință au avut întotdeauna nevoie de un limbaj de programare care să exprime direct matematica matricei și matricei, iar apoi a apărut MATLAB (Laboratorul matricei). MATLAB este un limbaj orientat spre matematică și matrice vine cu diferite tipuri de cutii de instrumente specializate (trebuie să plătiți pentru trusa de instrumente) în mai multe scopuri, de exemplu, modelarea datelor economice, analiza imaginilor sau conducerea unui robot. Aceste cutii de instrumente sunt dezvoltate profesional, riguros testate și bine documentate pentru aplicații științifice și de inginerie. Și de aceea plătești prețul pentru asta. Pe de altă parte, în Python trebuie să vă bazați adesea pe pachete create de comunitate pentru utilizări științifice și inginerești.

manipulare matrice în Python vs matlab

Matlab are o cantitate solidă de funcții. Unul dintre cele mai bune produse este ‘SimuLink’, care nu are încă nicio alternativă. S-ar putea să vă gândiți la un alt limbaj de programare grafic numit ‘LabView’ ca alternativă la acesta, dar atunci trebuie să plătiți un preț greu pentru el. Și, în Python pentru a obține acest lucru ca pachet dezvoltat de Comunitate, s-ar putea să trebuiască să așteptăm cel puțin jumătate de deceniu.

are o documentație extraordinar de bună pentru a începe învățarea și o comunitate științifică mare care fie a răspuns la întrebările care urmează să fie puse, fie va primi răspuns de cineva în timp ce le postați în centrul MATLAB. Există 365.000 de contribuabili, 120 de întrebări au răspuns și 25.000 de scripturi sau coduri de probă sunt descărcate pe zi.

cel mai bun lucru al MATLAB este disponibilitatea aplicațiilor bazate pe GUI pentru îndeplinirea sarcinilor comune, ceea ce face viața începătorului mai ușoară. Nu știi cum să se potrivească o curbă folosind comanda ‘fminsearch’, trebuie doar să deschideți data fitting toolbox, și cu câteva clicuri de mouse se va face. Procesarea paralelă este mult mai ușoară în MATLAB, dacă cineva are acces la caseta de instrumente de calcul paralel. Are cutii de instrumente pentru biologie computațională, Finanțe computaționale, sisteme de control, știința datelor, procesarea imaginilor și viziunea computerizată, învățarea automată, modelarea fizică și simularea, robotica, procesarea și comunicațiile semnalului și IOT. Doar dezavantajele pe care le-am găsit, trebuie să plătiți pentru asta și într-o oarecare măsură necesită un pic de memorie RAM suplimentară în dispozitivul dvs. de calcul.

pe de altă parte, apelarea Python ca alternativă la MATLAB este incorectă din punct de vedere tehnic, mai degrabă este un limbaj de programare cu scop general, ceea ce înseamnă că puteți dezvolta aplicații complete sau alte instrumente software în python. Este posibil să creați aplicații utilizând oricare dintre bibliotecile GUI majore (de exemplu, Qt), utilizați OpenGL, conduceți portul USB etc.

Python și bibliotecile sale însoțitoare devin din ce în ce mai sofisticate zi de zi. Pentru probleme la scară largă, Python este mult mai expresiv și mai ușor de citit în comparație cu scripturile MATLAB. Programele Python se structurează prin indentare, adică blocurile de cod sunt definite prin indentarea lor, ceea ce face programul mai ușor de urmărit.

indentare în Python

fiind un limbaj de programare gratuit, cross-platform, de uz general și la nivel înalt, o mulțime de oameni adoptă acum Python. IDE precum pycharm, notebook ipython, notebook jupyter și distribuții precum anaconda au făcut python mult mai ușor de utilizat pentru cercetători. Ca urmare a acestei popularități, o mulțime de pachete științifice Python au devenit disponibile cu documentație extinsă pentru vizualizarea datelor, învățarea automată, procesarea limbajului natural, analiza complexă a datelor și multe altele. De exemplu, scikit-learn include abordări de învățare automată la început de artă, cu documentație și tutoriale foarte bune.

aici am colectat lista unor biblioteci și instrumente științifice Python populare:

scipy: această bibliotecă este utilizată de oameni de știință, analiști și ingineri care fac calcul științific și calcul tehnic. Conține module pentru optimizare, algebră liniară, integrare, interpolare, funcții speciale, FFT, procesare de semnale și imagini, rezolvatori ODE și alte sarcini comune în știință și inginerie.

NumPy: Este pachetul fundamental pentru calculul științific cu Python, adăugând suport pentru matrice și matrice mari, multidimensionale, împreună cu o bibliotecă mare de funcții matematice de nivel înalt pentru a funcționa pe aceste matrice.

Panda: Panda este o bibliotecă pentru manipularea și analiza datelor. Biblioteca oferă structuri de date și operații pentru manipularea tabelelor numerice și a seriilor de timp.

SymPy: SymPy este o bibliotecă pentru calculul simbolic și include caracteristici variind de la aritmetica simbolică de bază la calcul, algebră, matematică discretă și fizică cuantică. Acesta oferă capabilități algebra calculator, fie ca o aplicație independentă, ca o bibliotecă pentru alte aplicații, sau live pe web.

Matplotlib: Matplotlib este o bibliotecă de complot python 2D care produce cifre de calitate a publicării într-o varietate de formate tipărite și medii interactive pe platforme. Matplotlib vă permite să generați parcele, histograme, spectre de putere, diagrame bar, errorcharts, scatterplots, și mai mult.

scikit-learn: scikit-learn este o bibliotecă de învățare automată. Dispune de diverse algoritmi de clasificare, regresie și grupare, inclusiv mașini vectoriale de sprijin, păduri aleatorii, creșterea gradientului, k-means și DBSCAN și este conceput pentru a interopera cu bibliotecile numerice și științifice Python NumPy și SciPy.

scikit-image: scikit-image este o bibliotecă de procesare a imaginilor. Acesta include algoritmi pentru segmentare, transformări geometrice, manipularea spațiului de culoare, analiză, filtrare, morfologie, detectarea caracteristicilor și multe altele.Veusz: Veusz este un pachet științific de grafică și grafică conceput pentru a produce parcele de calitate a publicațiilor în formate vectoriale populare, inclusiv PDF, PostScript și SVG.

Astropy: proiectul Astropy este o colecție de pachete concepute pentru a fi utilizate în astronomie. Pachetul de bază astropy conține funcționalități destinate astronomilor profesioniști și astrofizicienilor, dar poate fi util oricui dezvoltă software de astronomie.

PsychoPy: Psihopia este un pachet pentru generarea de experimente pentru Neuroștiințe și psihologie experimentală. Psihopia este concepută pentru a permite prezentarea stimulilor și colectarea de date pentru o gamă largă de experimente de neuroștiință, Psihologie și psihofizică.

Biopython: Biopython este o colecție de instrumente Python non-comerciale pentru biologie computațională și bioinformatică. Conține clase pentru a reprezenta secvențe biologice și adnotări de secvențe și este capabil să citească și să scrie într-o varietate de formate de fișiere.

există atât de multe pachete în jurul valorii de acolo, și cel mai bun lucru este că acestea sunt gratuite adică costul de calcul științific și numeric cu Python este zero.

deci, dintr-o perspectivă începător, nu există un răspuns clar la întrebarea: „pe care ar trebui să-l folosesc pentru calculul științific?”Aș dori să răspund la această întrebare într-un mod diferit. Utilizarea Python înseamnă că puteți colabora mai ușor cu persoane care nu au acces la MATLAB. Sau, poate, veți folosi MATLAB, deoarece nu există pachete alternative în Python care să servească la fel de bine ca în MATLAB.

vă rugăm ca și urmați-ne pe Facebook: https://www.facebook.com/gradbunker

Lasă un răspuns

Adresa ta de email nu va fi publicată.