MATLAB (software) | ||||
---|---|---|---|---|
![]() | ||||
Ontwikkelaar(s) | MathWorks | |||
Uitgebracht | 1984 (39 jaar) | |||
Recentste versie | R2024a Update 3 (14 mei 2024)[1] ![]() | |||
Status | Actief | |||
Besturingssysteem | Microsoft Windows, macOS, Linux | |||
Geschreven in | C, C++, Fortran | |||
Categorie | Wiskunde | |||
Licentie(s) | propriëtaire licentie | |||
Website | (mul) Officële webpagina | |||
|
MATLAB (programmeer taal) | ||||
---|---|---|---|---|
![]() | ||||
Verschenen | 1984 (39 jaar) | |||
Ontworpen door | Cleve Moler | |||
Ontwikkeld door | MathWorks, Cleve Moler | |||
Huidige versie | R2024a Update 3[1] ![]() | |||
Besturingssysteem | Linux, macOS, Windows | |||
Licentie | Propriëtaire software | |||
Bestandsextensies | m, p, mat, mlapp, mltbx, mlx, mlappinstall, mlpkginstall | |||
Website | (mul) Officële webpagina | |||
|
MATLAB (oorspronkelijk MATrix LABoratory) is een technische softwareomgeving uitgegeven door The Mathworks en wordt gebruikt in zowel de industrie als de academische wereld voor wiskundige toepassingen, zoals het berekenen van functies, bewerken van matrices, statistiek, tekenen van grafieken, schrijven en implementeren van algoritmen en het maken van grafische gebruikersinterfaces. De basis van het programma is de programmeertaal ‘M-code’ of ‘M’. Deze wordt gebruikt voor het invoeren, bewerken en uitvoeren van gegevens.
MATLAB werd in de jaren 70 ontwikkeld door Cleve Moler aan de Amerikaanse Universiteit van New Mexico als hulpmiddel voor zijn studenten. De eerste commerciële versie kwam er toen Moler Jack Little ontmoette en ze samen besloten het bedrijf The Mathworks op te richten in 1984 om de in C herschreven versie van MATLAB uit te geven.[2]
De MATLAB-omgeving is opgebouwd uit drie delen:
De werkruimte toont alle huidige variabelen met hun eigenschappen zoals dimensies, maxima en minima. De commandogeschiedenis toont de laatst uitgevoerde commando’s met het tijdstip. Met het commandovenster worden commando’s ingevoerd en het resultaat weergegeven.
The Mathworks brengt ook verschillende toolboxes en uitbreidingen uit die MATLAB voorzien van extra functies en functionaliteit. Zo is er bijvoorbeeld de FDAtool die gebruikt wordt om digitale filters te ontwerpen en de image processing toolbox die gebruikt wordt voor het verwerken en bewerken van beelden. Elke toolbox voegt zijn eigen functies en Graphical User Interfaces (GUI) toe, die daarna op te roepen zijn in de standaard MATLAB-script files of via het menu.
Het uitvoeren van MATLAB-code gebeurt via de commandoregel waardoor de omgeving erg op een shell lijkt. Verschillende opeenvolgende instructies kunnen worden opgeslagen in een tekstbestand en worden uitgevoerd als een script. In tegenstelling tot andere programmeertalen is het gebruik van de puntkomma (;) aan het einde van een regel niet verplicht in MATLAB. Wanneer de puntkomma toch geplaatst wordt onderdrukt deze de uitvoer van de regel in het commandovenster.
Sinds versie r2008a bevat MATLAB de mogelijkheid om objectgeoriënteerd (OO) te programmeren. Hierdoor kan men gebruikmaken van de OO-principes zoals overerving en encapsulatie. Zo wordt het schrijven van herbruikbare code vereenvoudigd.[3]
X = 10
Resultaat:
X = 10
Y = 0:1:9
Resultaat:
Y = 0 1 2 3 4 5 6 7 8 9
Z = [0:0.5:10;0:1:20]
Resultaat:
Z =
Columns 1 through 6
0 0.5000 1.0000 1.5000 2.0000 2.5000
0 1.0000 2.0000 3.0000 4.0000 5.0000
Columns 7 through 12
3.0000 3.5000 4.0000 4.5000 5.0000 5.5000
6.0000 7.0000 8.0000 9.0000 10.0000 11.0000
Columns 13 through 18
6.0000 6.5000 7.0000 7.5000 8.0000 8.5000
12.0000 13.0000 14.0000 15.0000 16.0000 17.0000
Columns 19 through 21
9.0000 9.5000 10.0000
18.0000 19.0000 20.0000
Bij MATLAB hoort ook een modelgebaseerde simulatieomgeving genaamd Simulink. Deze omgeving biedt gebruikers de kans om op een efficiënte manier systemen te simuleren en/of te implementeren. Men werkt opnieuw op basis van Toolboxes die elk gespecialiseerde blokken bevatten voor het uitbreiden van de functionaliteit. Zo bestaat er een Fixed-point toolbox die de gebruiker toelaat het model aan bepaalde precisieparameters te laten voldoen en het systeem vervolgens om te zetten naar een Hardware-Description Language (HDL) zoals VHDL of Verilog.[4]
Vanaf versie R2007b heeft MATLAB de mogelijkheid om C-code te genereren van M-bestanden door middel van de Real Time Workshop (tegenwoordig Matlab Coder). Deze ANSI/ISO C-bestanden kunnen vervolgens geïmplementeerd worden in hardware of worden ingevoegd als bouwstenen in Simulink door middel van het Embedded Matlab Block. Mede hierdoor heeft MATLAB veel aanhang verworven bij het ontwikkelen van algoritmen voor o.a. digitale filters, beeldherkenning, beeldverwerking, FFT, Discrete fouriertransformatie.[5]