MATLAB

Commerciële software voor het oplossen van wiskundige problemen en het presenteren van de resultaten
(Doorverwezen vanaf 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)
Logo
Ontwikkelaar(s) MathWorks
Uitgebracht 1984 (39 jaar)
Recentste versie R2024b (12 september 2024)[1] Bewerken op Wikidata
Status Actief
Besturingssysteem Windows, macOS, Linux
Geschreven in C, C++, Fortran, Java
Categorie Wiskunde
Licentie(s) propriëtaire licentie
Website (mul) Officële webpagina
Portaal  Portaalicoon   Informatica
Wiskunde
MATLAB (programmeer taal)
MATLAB
Verschenen 1984 (39 jaar)
Ontwerper Cleve Moler
Ontwikkelaar MathWorks, Cleve Moler
Huidige versie R2024b[1] Bewerken op Wikidata
Besturings­systeem Linux, macOS, Windows
Licentie Propriëtaire software
Bestands­extensies m, p, mat, mlapp, mltbx, mlx, mlappinstall, mlpkginstall
Website (mul) Officële webpagina
Portaal  Portaalicoon   Informatica
Wiskunde
Met MATLAB is het mogelijk om driedimensionale grafieken en andere complexe figuren weer te geven

Geschiedenis

bewerken

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]

Werkomgeving

bewerken

De 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

bewerken

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.

Syntaxis

bewerken

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.

Objectgeorienteerd programmeren

bewerken

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]

Voorbeelden

bewerken
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
bewerken

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]

MATLAB en C

bewerken

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]

bewerken
Wikibooks heeft een Engelstalig boek over dit onderwerp: MATLAB Programming.
Wikibooks heeft een Franstalig boek over dit onderwerp: Découvrir Matlab.
Commons heeft media­bestanden in de categorie MATLAB.