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. Akár tetszik, akár nem, az egyetemi tanulmányai során feladatokat fog végezni, egyenleteket vagy a projekt problémáinak egy részét valamilyen kódolással oldja meg. És ha úgy gondolja, hogy magasabb tanulmányokat folytat, és kiterjedt kutatást végez, akkor a “kódok írása” elengedhetetlen készség az Ön számára.

melyiket kell megtanulnod — Matlab vagy Python? Nincsenek határozott válaszok. MATLAB már ott a tudományos számítástechnika sokáig, ahol a fejlesztés a tudományos számítástechnikai csomagok python pl SciPy, NumPy nem elavult. Tehát a MATLAB a tudományos közösség örökölt nyelvévé vagy eszközévé vált.
ez lett a régi nyelv számos okból. A mérnököknek és tudósoknak mindig szükségük volt egy olyan programozási nyelvre, amely közvetlenül kifejezi a mátrix-és tömbmatematikát, majd létrejött a MATLAB (mátrix laboratórium). MATLAB egy matematikai és mátrix orientált nyelv jön a különböző típusú speciális eszköztárak (meg kell fizetni toolbox) több célra, például modellezés gazdasági adatok, képelemzés vagy vezetés egy robot. Ezeket az eszköztárakat professzionálisan fejlesztették ki, szigorúan tesztelték és jól dokumentálták tudományos és mérnöki alkalmazásokhoz. És ezért fizeted meg az árát. Másrészt a Pythonban gyakran kell támaszkodnia a közösség által írt csomagokra a tudományos és mérnöki felhasználásokhoz.

mátrix manipuláció python vs matlab

a MATLAB szilárd mennyiségű funkcióval rendelkezik. Az egyik legjobb termék a ‘SimuLink’, amelynek még nincs alternatívája. Gondolhat egy másik grafikus programozási nyelvet, a ‘LabView’ nevet, mint alternatívát, de akkor súlyos árat kell fizetnie érte. És a Pythonban, hogy ezt közösségi fejlesztésű csomagként kapjuk meg, lehet, hogy legalább fél évtizedet kell várnunk.

rendkívül jó dokumentációval rendelkezik a tanulás megkezdéséhez, és egy nagy tudományos közösség, akik vagy válaszoltak a feltett kérdésekre, vagy valaki válaszol, amikor közzéteszi őket a MATLAB Central-ban. 365 000 közreműködő van, 120 kérdésre válaszolnak, és 25 000 minta szkriptet vagy kódot töltenek le naponta.

a MATLAB legjobb dolog a GUI alapú alkalmazások elérhetősége a közös feladatok elvégzéséhez, ami megkönnyíti a kezdő életét. Nem tudod, hogyan kell illeszteni egy görbét az ‘fminsearch’ paranccsal, csak megnyitod az adatillesztő eszköztárat, és néhány egérkattintással megtörténik. A párhuzamos feldolgozás sokkal könnyebb a MATLAB – ban, ha valaki hozzáfér a párhuzamos számítástechnikai eszköztárhoz. A számítástechnikai biológia, a számítástechnikai pénzügyek, az ellenőrzési rendszerek, az Adattudomány, a képfeldolgozás és a számítógépes látás, a gépi tanulás, a fizikai modellezés és szimuláció, a robotika, a jelfeldolgozás és a kommunikáció és az IOT eszköztárai. Csak hátrányai, hogy találtam, meg kell fizetni érte, és bizonyos mértékig szükség van egy kis extra RAM a számítástechnikai eszköz.

a másik oldalon a Python hívása a MATLAB alternatívájaként technikailag helytelen, inkább egy általános célú programozási nyelv, ami azt jelenti, hogy teljes értékű alkalmazásokat vagy más szoftvereszközöket fejleszthet a Pythonban. Lehetőség van alkalmazások létrehozására a főbb GUI könyvtárak (például Qt) használatával, az OpenGL használatával, az USB port meghajtásával stb.

a Python és társkönyvtárai napról napra egyre kifinomultabbak. Nagy léptékű problémák esetén a Python sokkal kifejezőbb és olvashatóbb, mint a MATLAB szkriptek. Python programok kap strukturált keresztül behúzás azaz kód blokkok által meghatározott behúzás, ami a program könnyebb követni.

behúzás a Pythonban

mivel egy ingyenes, platformokon átívelő, általános célú és magas szintű programozási nyelv, sok ember alkalmazza a Pythont. IDE-k, mint a pycharm, ipython notebook, jupyter notebook az olyan disztribúciók, mint az anaconda, sokkal használhatóbbá tették a Pythont a kutatók számára. Ennek a népszerűségnek köszönhetően rengeteg Python tudományos csomag vált elérhetővé kiterjedt dokumentációval az adatvizualizációhoz, a gépi tanuláshoz, a természetes nyelv feldolgozásához, a komplex adatelemzéshez és még sok máshoz. Például a scikit-learn magában foglalja a legmodernebb ‘Gépi tanulás’ megközelítéseket, nagyon jó dokumentációval és oktatóanyagokkal.

itt összegyűjtöttem néhány népszerű python tudományos könyvtárat és eszközt:

scipy: ezt a könyvtárat tudósok, elemzők és mérnökök használják tudományos számítástechnika és műszaki Számítástechnika. Modulokat tartalmaz az optimalizáláshoz, a lineáris algebrához, az integrációhoz, az interpolációhoz, a speciális funkciókhoz, az FFT-hez, a jel-és képfeldolgozáshoz, az ODE megoldókhoz és a tudományban és a mérnöki munkában közös feladatokhoz.

NumPy: Ez az alapvető csomag a tudományos számítástechnika Python, hozzátéve, támogatja a nagy, többdimenziós tömbök és mátrixok, valamint egy nagy könyvtár magas szintű matematikai függvények működni ezeket a tömböket.

Pandas: Pandas egy könyvtár az adatok manipulálására és elemzésére. A könyvtár adatstruktúrákat és műveleteket biztosít numerikus táblázatok és idősorok manipulálásához.

SymPy: SymPy egy könyvtár szimbolikus számítás és magában foglalja a funkciók kezdve az alapvető szimbolikus aritmetikai kalkulus, algebra, diszkrét matematika és a kvantumfizika. Számítógépes algebra képességeket biztosít önálló alkalmazásként, könyvtárként más alkalmazásokhoz, vagy élőben az interneten.

Matplotlib: a Matplotlib egy python 2D ábrázolási könyvtár, amely publikációs minőségi adatokat állít elő különféle nyomtatott formátumokban és interaktív környezetekben platformokon keresztül. Matplotlib lehetővé teszi, hogy létrehoz telkek, hisztogramok, teljesítmény spektrumok, sávdiagramok, errorcharts, scatterplots, és így tovább.

scikit-learn: a scikit-learn egy gépi tanulási könyvtár. Különböző osztályozási, regressziós és fürtözési algoritmusokat tartalmaz, beleértve a vektorgépeket, a véletlenszerű erdőket, a gradiensnövelést, a k-means-t és a DBSCAN-t, és úgy tervezték, hogy együttműködjön a Python numerikus és tudományos könyvtárakkal NumPy és SciPy.

scikit-image: a scikit-image egy képfeldolgozó könyvtár. Ez magában foglalja algoritmusok szegmentálás, geometriai transzformációk, színtér manipuláció, elemzés, szűrés, morfológia, feature detection, és így tovább.

Veusz: a Veusz egy tudományos rajzoló és grafikus csomag, melynek célja publikációs minőségű grafikonok készítése népszerű vektoros formátumokban, beleértve a PDF, PostScript és SVG formátumokat.

Astropy: az Astropy projekt a csillagászatban való használatra tervezett csomagok gyűjteménye. A core astropy csomag olyan funkciókat tartalmaz, amelyek professzionális csillagászoknak és asztrofizikusoknak szólnak, de hasznos lehet bárki számára, aki csillagászati szoftvert fejleszt.

PsychoPy: PsychoPy egy csomag a generációs kísérletek idegtudomány és kísérleti pszichológia. A PsychoPy célja, hogy lehetővé tegye az ingerek bemutatását és az adatok gyűjtését az idegtudományi, pszichológiai és pszichofizikai kísérletek széles köréhez.

Biopython: Biopython gyűjteménye nem kereskedelmi Python eszközök számítógépes biológia és bioinformatika. Osztályokat tartalmaz a biológiai szekvenciák és szekvencia-megjegyzések ábrázolására, és képes olvasni és írni a különböző fájlformátumokban.

olyan sok csomag van ott, és a legjobb dolog az, hogy ingyenesek, azaz a Python tudományos és numerikus számítási költsége nulla.

tehát kezdő szempontból nincs határozott válasz a kérdésre: “melyiket kell használnom a tudományos számítástechnikához?”Erre a kérdésre másképp szeretnék válaszolni. A Python használata azt jelenti, hogy könnyebben együttműködhet olyan emberekkel, akik nem férnek hozzá a MATLAB-hoz. Vagy talán a MATLAB-ot fogja használni, mert a Pythonban nincs olyan alternatív csomag, amely a legjobban szolgálna, mint a MATLAB-ban.

kérjük, lájkoljon és kövessen minket a Facebook-on: https://www.facebook.com/gradbunker

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.