MATLAB
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 (software) | ||||
---|---|---|---|---|
Ontwikkelaar(s) | MathWorks | |||
Uitgebracht | 1984 (39 jaar) | |||
Recentste versie | R2024b (12 september 2024)[1] | |||
Status | Actief | |||
Besturingssysteem | Windows, macOS, Linux | |||
Geschreven in | C, C++, Fortran, Java | |||
Categorie | Wiskunde | |||
Licentie(s) | propriëtaire licentie | |||
Website | (mul) Officële webpagina | |||
|
MATLAB (programmeer taal) | ||||
---|---|---|---|---|
Verschenen | 1984 (39 jaar) | |||
Ontwerper | Cleve Moler | |||
Ontwikkelaar | MathWorks, Cleve Moler | |||
Huidige versie | R2024b[1] | |||
Besturingssysteem | Linux, macOS, Windows | |||
Licentie | Propriëtaire software | |||
Bestandsextensies | m, p, mat, mlapp, mltbx, mlx, mlappinstall, mlpkginstall | |||
Website | (mul) Officële webpagina | |||
|
Geschiedenis
bewerkenMATLAB 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]
Werkomgeving
bewerkenDe MATLAB-omgeving is opgebouwd uit drie delen:
- Workspace of werkruimte
- Commandogeschiedenis
- Commandovenster of shell
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.
Uitbreidingen en toolboxes
bewerkenThe 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.
M-code
bewerkenSyntaxis
bewerkenHet 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.
Objectgeorienteerd programmeren
bewerkenSinds 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]
Voorbeelden
bewerkenX = 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
MATLAB en Simulink
bewerkenBij 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]
MATLAB en C
bewerkenVanaf 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]
Externe link
bewerken- (mul) Officële webpagina
- ↑ a b MathWorks Announces Release 2024b of MATLAB and Simulink. Geraadpleegd op 15 september 2024.
- ↑ MATLAB News & Notes - December 2004 - Cleve's Corner - The Origins of MATLAB (gearchiveerd)
- ↑ Object Oriented Programming in MATLAB. Gearchiveerd op 5 december 2008. Geraadpleegd op 30 november 2008.
- ↑ Simulink - Simulation and Model-Based Design
- ↑ MathWorks rolls MATLAB C generator | DSP DesignLine