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. Antingen gillar du det eller inte, under dina undergradstudier kommer du att göra uppdrag, lösa ekvationer eller en del av problemen i ditt projekt med någon form av kodning. Och, om du tänker på att gå för högre studier och göra några omfattande forskning, sedan ”skriva koder” är ett måste veta skicklighet för dig.

vilken ska du lära dig-MATLAB eller Python? Det finns inga bestämda svar. MATLAB har varit där för vetenskaplig databehandling länge, där utvecklingen av vetenskapliga databehandlingspaket för python t.ex. SciPy, NumPy inte har blivit föråldrade. Så MATLAB har blivit ett äldre språk eller verktyg för det vetenskapliga samfundet.
det har blivit ett äldre språk av flera skäl. Ingenjörer och forskare behövde alltid ett programmeringsspråk som uttrycker matris-och arraymatematik direkt, och sedan kom MATLAB (matrislaboratorium) till. MATLAB är ett matematiskt och matrisorienterat språk som levereras med olika typer av specialverktygslådor (du måste betala för verktygslåda) för flera ändamål, t.ex. modellering av ekonomiska data, bildanalys eller körning av en robot. Dessa verktygslådor är professionellt utvecklade, noggrant testade och väl dokumenterade för vetenskapliga och tekniska tillämpningar. Och det är därför du betalar priset för det. Å andra sidan, i Python måste du ofta lita på gemenskapsförfattade paket för vetenskapliga och tekniska användningsområden.

Matrismanipulation i Python vs Matlab

Matlab har en solid mängd funktioner. En av dess bästa produkt är ’SimuLink’, som ännu inte har något alternativ. Du kanske tror att ett annat grafiskt programmeringsspråk som heter ’LabView’ som ett alternativ till det, men då måste du betala ett högt pris för det. Och i Python för att få det som ett community-utvecklat paket kan vi behöva vänta i minst hälften av ett decennium.

det har utomordentligt bra dokumentation för att börja lära sig, och ett stort vetenskapligt samhälle som antingen har svarat på de frågor som kommer att ställas eller kommer att besvaras av någon när du lägger upp dem i MATLAB Central. Det finns 365 000 bidragsgivare, 120 frågor besvaras och 25 000 exempelskript eller koder laddas ner per dag.

det bästa med MATLAB är tillgängligheten av GUI-baserade appar för att utföra vanliga uppgifter som gör nybörjarens liv enklare. Du vet inte hur man passar en kurva med kommandot ’fminsearch’, du öppnar bara verktygslådan data fitting, och med några musklick kommer det att göras. Parallell bearbetning är mycket lättare i MATLAB, om någon har tillgång till parallel computing toolbox. Den har verktygslådor för beräkningsbiologi, beräkningsfinansiering, styrsystem, datavetenskap, bildbehandling och datorsyn, maskininlärning, fysisk modellering och simulering, robotik, signalbehandling och kommunikation och IOT. Bara nackdelar som jag hittade, du måste betala för det och till viss del kräver det lite extra RAM i din dator.

å andra sidan är det tekniskt felaktigt att ringa Python som ett alternativ till MATLAB, snarare är det ett allmänt programmeringsspråk vilket innebär att du kan utveckla fullfjädrade appar eller andra mjukvaruverktyg i python. Det är möjligt att skapa program som använder någon av de stora GUI bibliotek (t.ex. Qt), använda OpenGL, kör din USB-port, etc.

Python och dess följeslagare bibliotek blir mer och mer sofistikerade dag för dag. För storskaliga problem är Python mycket mer uttrycksfullt och läsbart jämfört med MATLAB-skript. Python-program struktureras genom indrag, dvs kodblock definieras av deras indrag vilket gör programmet lättare att följa.

indrag i Python

att vara en fri, plattformsoberoende, allmänt ändamål och hög nivå programmeringsspråk, massor av människor nu anta python. IDES som pycharm, ipython notebook, jupyter notebook en distributioner som anaconda har gjort python mycket mer användbar för forskare. Som ett resultat av denna popularitet har många Python vetenskapliga paket blivit tillgängliga med omfattande dokumentation för datavisualisering, maskininlärning, naturlig språkbehandling, komplex dataanalys och mer. Till exempel, scikit-learn innehåller start-of-the-art ’maskininlärning’ metoder med mycket bra dokumentation och handledning.

Här har jag samlat listan över några populära python vetenskapliga bibliotek och verktyg:

scipy: detta bibliotek används av forskare, analytiker och ingenjörer som gör vetenskaplig databehandling och teknisk databehandling. Den innehåller moduler för optimering, linjär algebra, integration, interpolering, specialfunktioner, FFT, signal-och bildbehandling, ode-lösare och andra uppgifter som är vanliga inom vetenskap och teknik.

NumPy: Det är det grundläggande paketet för vetenskaplig databehandling med Python, vilket ger stöd för stora, flerdimensionella arrayer och matriser, tillsammans med ett stort bibliotek med matematiska funktioner på hög nivå för att fungera på dessa arrayer.

Pandas: Pandas är ett bibliotek för datamanipulation och analys. Biblioteket tillhandahåller datastrukturer och operationer för att manipulera numeriska tabeller och tidsserier.SymPy: SymPy är ett bibliotek för symbolisk beräkning och innehåller funktioner som sträcker sig från grundläggande symbolisk aritmetik till kalkyl, algebra, diskret matematik och kvantfysik. Det ger dator algebra kapacitet antingen som ett fristående program, som ett bibliotek till andra program, eller leva på webben.

Matplotlib: Matplotlib är ett python 2D-plottbibliotek som producerar publiceringskvalitetssiffror i en mängd olika pappersformat och interaktiva miljöer över plattformar. Matplotlib kan du generera tomter, histogram, effektspektra, stapeldiagram, errorcharts, scatterplots, och mer.

scikit-learn: scikit-learn är ett maskininlärningsbibliotek. Den har olika klassificering, regression och klustring algoritmer inklusive stöd vektor maskiner, slumpmässiga skogar, lutning öka, k-medel och DBSCAN, och är utformad för att samverka med Python numeriska och vetenskapliga bibliotek NumPy och SciPy.

scikit-image: scikit-image är ett bildbehandlingsbibliotek. Den innehåller algoritmer för segmentering, geometriska transformationer, färgrymdsmanipulation, analys, filtrering, morfologi, funktionsdetektering och mer.

Veusz: Veusz är ett vetenskapligt plottnings-och grafpaket som är utformat för att producera publiceringskvalitetsdiagram i populära vektorformat, inklusive PDF, PostScript och SVG.

Astropy: Astropy-projektet är en samling paket avsedda för användning i astronomi. Core astropy-paketet innehåller funktionalitet riktad till professionella astronomer och astrofysiker, men kan vara användbar för alla som utvecklar astronomiprogramvara.

PsychoPy: PsychoPy är ett paket för generering av experiment för neurovetenskap och experimentell psykologi. PsychoPy är utformad för att möjliggöra presentation av stimuli och insamling av data för ett brett spektrum av neurovetenskap, Psykologi och Psykofysik experiment.

Biopython: Biopython är en samling av icke-kommersiella Python verktyg för beräkningsbiologi och bioinformatik. Den innehåller klasser för att representera biologiska sekvenser och sekvensanteckningar, och den kan läsa och skriva till en mängd olika filformat.

det finns så många paket där, och det bästa är att de är gratis, dvs den vetenskapliga och numeriska beräkningskostnaden med Python är noll.

så, från ett nybörjarperspektiv finns det inget bestämt svar på frågan: ”vilken jag ska använda för vetenskaplig databehandling?”Jag skulle vilja svara på denna fråga på ett annat sätt. Med Python kan du lättare samarbeta med personer som inte har tillgång till MATLAB. Eller kanske du kommer att använda MATLAB, eftersom det inte finns några alternativa paket i Python som fungerar så bra som det gör i MATLAB.

vänligen gilla och följ oss på Facebook: https://www.facebook.com/gradbunker

Lämna ett svar

Din e-postadress kommer inte publiceras.