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. Enten kan du lide det eller ej, under dine undergrad studier vil du gøre opgaver, løse ligninger eller en del af problemerne i dit projekt med en slags kodning. Og hvis du tænker på at gå til højere studier og gøre nogle omfattende forskning, derefter “skrive koder” er et must vide færdighed for dig.

hvilken skal du lære-MATLAB eller Python? Der er ingen konkrete svar. MATLAB har været der for videnskabelig computing i lang tid, hvor udviklingen af videnskabelige computerpakker til python f.eks. Så MATLAB er blevet et arvsprog eller værktøj for det videnskabelige samfund.
det er blevet en arv sprog af flere årsager. Ingeniører og forskere havde altid brug for et programmeringssprog, der udtrykker Matrice og array matematik direkte, og derefter opstod MATLAB. MATLAB er et math og matrice orienteret sprog kommer med forskellige typer af specialiserede værktøjskasser (du skal betale for værktøjskasse) til flere formål f.eks modellering økonomiske data, billedanalyse eller køre en robot. Disse værktøjskasser er professionelt udviklet, grundigt testet og veldokumenteret til videnskabelige og tekniske applikationer. Og det er derfor, du betaler prisen for det. På den anden side er du i Python ofte nødt til at stole på samfundsforfattede pakker til videnskabelige og tekniske anvendelser.

Matrice manipulation i Python vs Matlab

Matlab har en solid mængde funktioner. Et af det bedste produkt er ‘SimuLink’, som endnu ikke har noget alternativ. Du kan måske tænke et andet grafisk programmeringssprog, der hedder ‘Labse’ som et alternativ til det, men så skal du betale en høj pris for det. Og i Python for at få det som en samfundsudviklet pakke, må vi måske vente i mindst et halvt årti.

det har ekstraordinært god dokumentation til at begynde at lære, og et stort videnskabeligt samfund, der enten har besvaret de spørgsmål, der vil blive stillet eller vil blive besvaret af nogen, når du sender dem i MATLAB Central. Der er 365.000 bidragydere, 120 spørgsmål besvares og 25.000 prøve scripts eller koder hentes per dag.

det bedste ved Matlab er tilgængeligheden af GUI-baserede apps til at udføre almindelige opgaver, der gør nybegynderens liv lettere. Du ved ikke, hvordan du passer til en kurve ved hjælp af kommandoen ‘fminsearch’, du åbner bare værktøjskassen til datatilpasning, og med et par museklik vil det blive gjort. Parallel behandling er meget lettere i MATLAB, hvis nogen har adgang til værktøjskassen til parallel computing. Det har værktøjskasser til beregningsbiologi, beregningsfinansiering, kontrolsystemer, datalogi, billedbehandling og computersyn, maskinindlæring, fysisk modellering og simulering, robotik, signalbehandling og kommunikation og IOT. Kun ulemper, som jeg fandt, du skal betale for det, og til en vis grad kræver det lidt ekstra RAM i din computerenhed.

på den anden side er det teknisk forkert at kalde Python som et alternativ til MATLAB, snarere er det et programmeringssprog til generelle formål, hvilket betyder, at du kan udvikle fuldgyldige apps eller andre programmelværktøjer i python. Det er muligt at oprette applikationer ved hjælp af et af de store GUI-biblioteker (f.eks.Python og dets ledsagende biblioteker bliver mere og mere sofistikerede dag for dag. For problemer i stor skala er Python meget mere udtryksfuld og læsbar sammenlignet med MATLAB-scripts. Python-programmer bliver struktureret gennem indrykning, dvs. kodeblokke defineres af deres indrykning, hvilket gør programmet lettere at følge.

indrykning i Python

at være et gratis programmeringssprog på tværs af platforme, generelt og højt niveau, vedtager mange mennesker nu python. IDES som pycharm, ipython notebook, jupyter notebook en distributioner som anaconda har gjort python langt mere anvendelig for forskere. Som et resultat af denne popularitet er masser af Python videnskabelige pakker blevet tilgængelige med omfattende dokumentation til datavisualisering, maskinindlæring, naturlig sprogbehandling, kompleks dataanalyse og mere. For eksempel inkluderer scikit-learn start-of-the-art ‘maskinlæring’ tilgange med meget god dokumentation og tutorials.

Her har jeg samlet listen over nogle populære python videnskabelige biblioteker og værktøjer:

scipy: dette bibliotek bruges af forskere, analytikere og ingeniører, der laver videnskabelig computing og teknisk computing. Den indeholder moduler til optimering, lineær algebra, integration, interpolation, specielle funktioner, FFT, signal-og billedbehandling, ode-løsere og andre opgaver, der er almindelige inden for videnskab og teknik.

NumPy: Det er den grundlæggende pakke til videnskabelig computing med Python, der tilføjer understøttelse af store, multidimensionelle arrays og matricer sammen med et stort bibliotek med matematiske funktioner på højt niveau til at fungere på disse arrays.

Pandas: Pandas er et bibliotek til data manipulation og analyse. Biblioteket giver datastrukturer og operationer til at manipulere numeriske tabeller og tidsserier.

SymPy: SymPy er et bibliotek til symbolsk beregning og inkluderer funktioner, der spænder fra grundlæggende symbolsk aritmetik til beregning, algebra, Diskret matematik og kvantefysik. Det giver computer algebra kapaciteter enten som et selvstændigt program, som et bibliotek til andre programmer, eller leve på nettet.

Matplotlib: Matplotlib er en python 2D plotte bibliotek, der producerer publikation kvalitet tal i en række hardcopy formater og interaktive miljøer på tværs af platforme. Matplotlib giver dig mulighed for at generere plots, histogrammer, effektspektre, søjlediagrammer, fejldiagrammer, scatterplots og meget mere.

scikit-learn: scikit-learn er en maskine læring bibliotek. Den er udstyret med forskellige klassificering, regression og klyngedannelse algoritmer, herunder støtte vektor maskiner, tilfældige skove, gradient boosting, k-midler og DBSCAN, og er designet til at fungere sammen med Python numeriske og videnskabelige biblioteker NumPy og SciPy.

scikit-image: scikit-image er et billedbehandlingsbibliotek. Det inkluderer algoritmer til segmentering, geometriske transformationer, manipulation af farverum, analyse, filtrering, morfologi, funktionsdetektion og mere.det er en videnskabelig plotte-og grafpakke designet til at producere plots af publikationskvalitet i populære vektorformater, herunder PDF, PostScript og SVG.Astropy: Astropy-projektet er en samling af pakker designet til brug i astronomi. Core astropy-pakken indeholder funktionalitet rettet mod professionelle astronomer og astrofysikere, men kan være nyttig for alle, der udvikler astronomiprogrammer.

PsychoPy: PsychoPy er en pakke til generering af eksperimenter for neurovidenskab og eksperimentel psykologi. PsychoPy er designet til at tillade præsentation af stimuli og indsamling af data til en bred vifte af neurovidenskab, psykologi og psykofysik eksperimenter.

Biopython: Biopython er en samling af ikke-kommercielle Python-værktøjer til beregningsbiologi og bioinformatik. Den indeholder klasser til at repræsentere biologiske sekvenser og sekvensanmærkninger, og den er i stand til at læse og skrive til en række filformater.

der er så mange pakker rundt der, og det bedste er, at de er gratis, dvs.de videnskabelige og numeriske computeromkostninger med Python er nul.

så fra et begynderperspektiv er der ikke noget konkret svar på spørgsmålet: “Hvilken skal jeg bruge til videnskabelig computing?”Jeg vil gerne besvare dette spørgsmål på en anden måde. Brug af Python betyder, at du lettere kan samarbejde med folk, der ikke har adgang til MATLAB. Eller måske vil du bruge MATLAB, fordi der ikke er nogen alternative pakker i Python, der tjener så godt som det gør i MATLAB.

please like og følg os på Facebook: https://www.facebook.com/gradbunker

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.