MATLAB Datatypes: Uitgebreide Gids
MATLAB vereist geen type-declaratie of dimensie-statements. Wanneer MATLAB een nieuwe variabelenaam tegenkomt, creëert het de variabele en wijst passend geheugenruimte toe.
Als de variabele al bestaat, vervangt MATLAB de originele inhoud door nieuwe inhoud en wijst nieuwe opslagruimte toe, waar nodig.
Bijvoorbeeld:
Total = 42
De bovenstaande statement creëert een 1-op-1 matrix met de naam 'Total' en slaat de waarde 42 erin op.
Beschikbare Datatypes in MATLAB
MATLAB biedt 15 fundamentele datatypes. Elk datatype slaat data op in de vorm van een matrix of array. De grootte van deze matrix of array is minimaal 0-op-0 en kan groeien tot een matrix of array van elke grootte.
De volgende tabel toont de meest gebruikte datatypes in MATLAB:
| Nr. | Datatype & Beschrijving |
|---|---|
| 1 | int8 8-bit gesigneerde integer |
| 2 | uint8 8-bit onge-signeerde integer |
| 3 | int16 16-bit gesigneerde integer |
| 4 | uint16 16-bit onge-signeerde integer |
| 5 | int32 32-bit gesigneerde integer |
| 6 | uint32 32-bit onge-signeerde integer |
| 7 | int64 64-bit gesigneerde integer |
| 8 | uint64 64-bit onge-signeerde integer |
| 9 | single enkele precisie numerieke data |
| 10 | double dubbele precisie numerieke data |
| 11 | logical logische waarden 1 of 0, vertegenwoordigen true en false respectievelijk |
| 12 | char karakterdata (strings worden opgeslagen als vector van karakters) |
| 13 | cel-array array van geïndexeerde cellen, elk capabel om een array van een andere dimensie en datatype op te slaan |
| 14 | structuur C-achtige structuren, elk met benoemde velden capabel om een array van een andere dimensie en datatype op te slaan |
| 15 | function handle wijzer naar een functie |
| 16 | gebruikersklassen objecten geconstrueerd vanuit een door de gebruiker gedefinieerde klasse |
| 17 | java klassen objecten geconstrueerd vanuit een Java-klasse |
Voorbeeld
Maak een script-bestand met de volgende code:
Live Demostr = 'Hello World!' n = 2345 d = double(n) un = uint32(789.50) rn = 5678.92347 c = int32(rn)
Wanneer de bovenstaande code gecompileerd en uitgevoerd wordt, produceert het het volgende resultaat:
str = Hello World! n = 2345 d = 2345 un = 790 rn = 5678.9 c = 5679
Datatype Conversie
MATLAB biedt diverse functies voor het converteren van een waarde van het ene datatype naar het andere. De volgende tabel toont de datatype-conversiefuncties:
| Functie | Doel |
|---|---|
| char | Converteer naar karakterarray (string) |
| int2str | Converteer integer data naar string |
| mat2str | Converteer matrix naar string |
| num2str | Converteer getal naar string |
| str2double | Converteer string naar dubbele-precisie waarde |
| str2num | Converteer string naar getal |
| native2unicode | Converteer numerieke bytes naar Unicode karakters |
| unicode2native | Converteer Unicode karakters naar numerieke bytes |
| base2dec | Converteer basis N getal string naar decimaal getal |
| bin2dec | Converteer binair getal string naar decimaal getal |
| dec2base | Converteer decimaal naar basis N getal in string |
| dec2bin | Converteer decimaal naar binair getal in string |
| dec2hex | Converteer decimaal naar hexadecimaal getal in string |
| hex2dec | Converteer hexadecimaal getal string naar decimaal getal |
| hex2num | Converteer hexadecimaal getal string naar dubbele-precisie getal |
| num2hex | Converteer singles en doubles naar IEEE hexadecimale strings |
| cell2mat | Converteer cel-array naar numerieke array |
| cell2struct | Converteer cel-array naar structuur-array |
| cellstr | Creëer cel-array van strings uit karakterarray |
| mat2cell | Converteer array naar cel-array met potentieel verschillende grote cellen |
| num2cell | Converteer array naar cel-array met consistent grote cellen |
| struct2cell | Converteer structuur naar cel-array |
Bepaling van Datatypes
MATLAB biedt diverse functies voor het identificeren van het datatype van een variabele.
De volgende tabel biedt de functies voor het bepalen van het datatype van een variabele:
| Functie | Doel |
|---|---|
| is | Detecteer staat |
| isa | Bepaal of invoer object is van gespecifieerde klasse |
| iscell | Bepaal of invoer cel-array is |
| iscellstr | Bepaal of invoer cel-array van strings is |
| ischar | Bepaal of item karakterarray is |
| isfield | Bepaal of invoer structuur-array veld is |
| isfloat | Bepaal of invoer drijvende-komma array is |
| ishghandle | True voor Handle Graphics object handles |
| isinteger | Bepaal of invoer integer array is |
| isjava | Bepaal of invoer Java-object is |
| islogical | Bepaal of invoer logische array is |
| isnumeric | Bepaal of invoer numerieke array is |
| isobject | Bepaal of invoer MATLAB-object is |
| isreal | Controleer of invoer reële array is |
| isscalar | Bepaal of invoer scalaire is |
| isstr | Bepaal of invoer karakterarray is |
| isstruct | Bepaal of invoer structuur-array is |
| isvector | Bepaal of invoer vector is |
| class | Bepaal klasse van object |
| validateattributes | Controleer geldigheid van array |
| whos | Lijst variabelen in workspace, met groottes en types |
Voorbeeld
Maak een script-bestand met de volgende code:
Live Demox = 3 isinteger(x) isfloat(x) isvector(x) isscalar(x) isnumeric(x) x = 23.54 isinteger(x) isfloat(x) isvector(x) isscalar(x) isnumeric(x) x = [1 2 3] isinteger(x) isfloat(x) isvector(x) isscalar(x) x = 'Hello' isinteger(x) isfloat(x) isvector(x) isscalar(x) isnumeric(x)
Wanneer je het bestand uitvoert, produceert het het volgende resultaat:
x = 3 ans = 0 ans = 1 ans = 1 ans = 1 ans = 1 x = 23.540 ans = 0 ans = 1 ans = 1 ans = 1 ans = 1 x = 1 2 3 ans = 0 ans = 1 ans = 1 ans = 0 x = Hello ans = 0 ans = 0 ans = 1 ans = 0 ans = 0
MATLAB
- 5 datacentermodellen uitgelegd: ontwerp, use cases en voorbeelden
- Acht sleutel cloud computing-modellen van 2021
- 8 veelvoorkomende datalekkage-typen – voorbeelden uit de praktijk & impact
- C# Variabelen & Primitive Datatypes onder de knie krijgen: Complete gids
- C++ datatypes begrijpen: fundamentals, modifiers en best practices
- C Datatypes Uitgelegd: int, float, char en Meer – Een Complete Gids
- C-datatypes begrijpen: Een complete gids
- MATLAB: Uitgebreid Overzicht van een Leidende Numerieke Rekenomgeving
- Variabelen in MATLAB Begrijpen: Basis en Voorbeelden
- Python Datatypes onder de knie krijgen: Een praktische gids
- Java primitieve datatypes: complete gids met voorbeelden