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. Of je het nu leuk vindt of niet, tijdens je bacheloropleiding doe je opdrachten, los je vergelijkingen op of een deel van de problemen van je project met een soort codering. En, als je denkt om te gaan voor hogere studies en het doen van een aantal uitgebreide onderzoek, dan “het schrijven van codes” is een must know vaardigheid voor u.

welke moet je leren-MATLAB of Python? Er zijn geen definitieve antwoorden. MATLAB is er voor wetenschappelijke computing voor een lange tijd, waar als de ontwikkeling van wetenschappelijke computing pakketten voor python bijvoorbeeld SciPy, NumPy zijn niet verouderd. MATLAB is dus een oude taal of hulpmiddel geworden voor de wetenschappelijke gemeenschap.
Het is om een aantal redenen een oude taal geworden. Ingenieurs en wetenschappers hadden altijd een programmeertaal nodig die matrix-en array-wiskunde direct uitdrukt, en toen ontstond MATLAB (matrix laboratory). MATLAB is een wiskunde en matrix georiënteerde taal wordt geleverd met verschillende soorten gespecialiseerde toolboxen (je moet betalen voor toolbox) voor verschillende doeleinden, bijvoorbeeld het modelleren van economische gegevens, beeldanalyse of het besturen van een robot. Deze toolboxen zijn professioneel ontwikkeld, grondig getest en goed gedocumenteerd voor wetenschappelijke en technische toepassingen. En daarom betaal je er de prijs voor. Aan de andere kant, in Python moet je vaak vertrouwen op community-auteur pakketten voor wetenschappelijke en technische toepassingen.

Matrixmanipulatie in Python vs matlab

matlab heeft een vast aantal functies. Een van zijn beste producten is ‘SimuLink’, dat nog geen alternatief heeft. Je zou kunnen denken aan een andere grafische programmeertaal genaamd ‘LabView’ als alternatief, maar dan moet je er een hoge prijs voor betalen. En, in Python om dat als een door de gemeenschap ontwikkeld pakket te krijgen, moeten we misschien minstens een half decennium wachten.

Het heeft buitengewoon goede documentatie om te beginnen met leren, en een grote wetenschappelijke gemeenschap die ofwel de vragen hebben beantwoord die zullen worden gesteld of zullen worden beantwoord door iemand als je ze post in het Matlab Central. Er zijn 365.000 bijdragers, 120 vragen worden beantwoord en 25.000 voorbeeldscripts of codes worden gedownload per dag.

het beste ding van MATLAB is de beschikbaarheid van GUI gebaseerde apps voor het uitvoeren van gemeenschappelijke taken die het leven van beginner gemakkelijker maakt. Je weet niet hoe je een curve past met behulp van’ fminsearch ‘ commando, je opent gewoon de data fitting toolbox, en met een paar muisklikken zal het worden gedaan. Parallelle verwerking is veel gemakkelijker in MATLAB, als iemand toegang heeft tot de parallelle computing toolbox. Het heeft toolboxen voor computationele biologie, computationele financiën, controlesystemen, Data science, beeldverwerking en computer vision, machine learning, fysieke modellering en simulatie, robotica, signaalverwerking en communicatie en IOT. Alleen nadelen die ik vond, je moet betalen voor het en tot op zekere hoogte het vereist een beetje extra RAM in uw computerapparaat.

aan de andere kant is het aanroepen van Python als alternatief voor MATLAB technisch onjuist, eerder is het een algemene programmeertaal, wat betekent dat je volwaardige apps of andere softwaretools in python kunt ontwikkelen. Het is mogelijk om toepassingen te maken met behulp van een van de belangrijkste GUI bibliotheken (bijvoorbeeld Qt), gebruik maken van OpenGL, rijden uw USB-poort, enz.

Python en zijn bijbehorende bibliotheken worden dag na dag steeds geavanceerder. Voor grootschalige problemen, Python is veel expressiever en leesbaar in vergelijking met MATLAB scripts. Python programma ‘ s krijgen gestructureerd door inspringen dat wil zeggen code blokken worden gedefinieerd door hun inspringen die het programma gemakkelijker te volgen maakt.

inspringen in Python

omdat het een vrije, platformonafhankelijke, algemene programmeertaal op hoog niveau is, gebruiken veel mensen nu Python. IDES zoals pycharm, ipython notebook, jupyter notebook een distributies zoals anaconda heeft python veel meer bruikbaar voor onderzoekers gemaakt. Als gevolg van deze populariteit, tal van Python wetenschappelijke pakketten zijn beschikbaar gekomen met uitgebreide documentatie voor data visualisatie, machine learning, natuurlijke taalverwerking, complexe data-analyse en meer. Bijvoorbeeld, scikit-learn omvat start-of-the-art ‘Machine Learning’ benaderingen met zeer goede documentatie en tutorials.

Hier heb ik verzameld in de lijst van sommige populaire Python wetenschappelijke bibliotheken en gereedschappen:

SciPy: Deze bibliotheek wordt gebruikt door wetenschappers, analisten, engineers en het doen van wetenschappelijke informatica en technische informatica. Het bevat modules voor optimalisatie, lineaire algebra, integratie, interpolatie, speciale functies, FFT, signaal-en beeldverwerking, ode-solvers en andere taken die gebruikelijk zijn in de wetenschap en techniek.

NumPy: Het is het fundamentele pakket voor wetenschappelijke computing met Python, het toevoegen van ondersteuning voor grote, multi-dimensionale arrays en matrices, samen met een grote bibliotheek van high-level wiskundige functies om te werken op deze arrays.

Panda ‘s: Panda’ s is een bibliotheek voor datamanipulatie en-analyse. De bibliotheek biedt datastructuren en bewerkingen voor het manipuleren van numerieke tabellen en tijdreeksen.

SymPy: SymPy is een bibliotheek voor symbolische berekening en bevat functies variërend van elementaire symbolische rekenkunde tot calculus, algebra, discrete wiskunde en kwantumfysica. Het biedt computer algebra mogelijkheden, hetzij als een standalone applicatie, als een bibliotheek voor andere toepassingen, of live op het web.

Matplotlib: Matplotlib is een python 2D plotten bibliotheek die publicaties kwaliteit cijfers produceert in een verscheidenheid van hardcopy formaten en interactieve omgevingen op verschillende platforms. Matplotlib kunt u plots, histogrammen, macht spectra, staafdiagrammen, errorcharts, scatterplots, en meer te genereren.

scikit-leren: scikit-leren is een machine learning bibliotheek. Het beschikt over verschillende classificatie, regressie en clustering algoritmen, waaronder ondersteuning vector machines, willekeurige bossen, gradiënt stimuleren, k-means en DBSCAN, en is ontworpen om samen te werken met de Python numerieke en wetenschappelijke bibliotheken NumPy en SciPy.

scikit-image: scikit-image is een beeldverwerkingsbibliotheek. Het bevat algoritmen voor segmentatie, geometrische transformaties, kleurruimte manipulatie, analyse, filtering, morfologie, functie detectie, en meer.

Veusz: Veusz is een wetenschappelijk plot-en grafisch pakket dat ontworpen is om grafieken van publicatiekwaliteit te produceren in populaire vectorformaten, waaronder PDF, PostScript en SVG.

Astropy: het Astropy Project is een verzameling van pakketten ontworpen voor gebruik in de astronomie. Het kern-astropiepakket bevat functionaliteit gericht op professionele astronomen en astrofysici, maar kan nuttig zijn voor iedereen die astronomische software ontwikkelt.

PsychoPy: PsychoPy is een pakket voor het genereren van experimenten voor Neurowetenschappen en experimentele psychologie. PsychoPy is ontworpen om de presentatie van stimuli en het verzamelen van gegevens voor een breed scala van neurowetenschappen, psychologie en Psychofysica experimenten mogelijk te maken.biopython: Biopython is een verzameling van niet-commerciële Python-tools voor computationele biologie en Bioinformatica. Het bevat klassen om biologische opeenvolgingen en opeenvolgingsannotaties te vertegenwoordigen, en het kan aan een verscheidenheid van dossierformaten lezen en schrijven.

er zijn zoveel pakketten in de buurt, en het beste is dat ze vrij zijn, dat wil zeggen dat de wetenschappelijke en numerieke rekenkosten met Python nul zijn.

dus, vanuit een beginnersperspectief, is er geen definitief antwoord op de vraag: “Welke zou ik moeten gebruiken voor scientific computing?”Ik wil deze vraag graag op een andere manier beantwoorden. Het gebruik van Python betekent dat je gemakkelijker kunt samenwerken met mensen die geen toegang hebben tot MATLAB. Of misschien zul je MATLAB gebruiken, omdat er geen alternatieve pakketten in Python zijn die zo goed dienen als in MATLAB.

vind ons leuk en volg ons op Facebook: https://www.facebook.com/gradbunker

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.