MATLAB - Cijfers
MATLAB ondersteunt verschillende numerieke klassen, waaronder getekende en niet-ondertekende gehele getallen en drijvende-kommagetallen met enkele precisie en dubbele precisie. Standaard slaat MATLAB alle numerieke waarden op als drijvende-kommagetallen met dubbele precisie.
U kunt ervoor kiezen om elk getal of elke reeks getallen op te slaan als gehele getallen of als getallen met enkele precisie.
Alle numerieke typen ondersteunen basisarraybewerkingen en wiskundige bewerkingen.
Conversie naar verschillende numerieke gegevenstypen
MATLAB biedt de volgende functies om te converteren naar verschillende numerieke gegevenstypen −
Functie | Doel |
---|---|
dubbel | Converteert naar dubbel precisiegetal |
enkele | Converteert naar enkelvoudig precisiegetal |
int8 | Converteert naar 8-bits geheel getal met teken |
int16 | Converteert naar 16-bits geheel getal met teken |
int32 | Converteert naar 32-bits geheel getal met teken |
int64 | Converteert naar 64-bits geheel getal met teken |
uint8 | Converteert naar 8-bits geheel getal zonder teken |
uint16 | Converteert naar 16-bits geheel getal zonder teken |
uint32 | Converteert naar 32-bits geheel getal zonder teken |
uint64 | Converteert naar 64-bits geheel getal zonder teken |
Voorbeeld
Maak een scriptbestand en typ de volgende code −
Live demox = single([5.32 3.47 6.28]) .* 7.5 x = double([5.32 3.47 6.28]) .* 7.5 x = int8([5.32 3.47 6.28]) .* 7.5 x = int16([5.32 3.47 6.28]) .* 7.5 x = int32([5.32 3.47 6.28]) .* 7.5 x = int64([5.32 3.47 6.28]) .* 7.5
Wanneer u het bestand uitvoert, wordt het volgende resultaat weergegeven −
x = 39.900 26.025 47.100 x = 39.900 26.025 47.100 x = 38 23 45 x = 38 23 45 x = 38 23 45 x = 38 23 45
Voorbeeld
Laten we het vorige voorbeeld een beetje uitbreiden. Maak een scriptbestand en typ de volgende code −
Live demox = int32([5.32 3.47 6.28]) .* 7.5 x = int64([5.32 3.47 6.28]) .* 7.5 x = num2cell(x)
Wanneer u het bestand uitvoert, wordt het volgende resultaat weergegeven −
x = 38 23 45 x = 38 23 45 x = { [1,1] = 38 [1,2] = 23 [1,3] = 45 }
Kleinste en grootste gehele getal
De functies intmax() en intmin() retourneert de maximum- en minimumwaarden die kunnen worden weergegeven met alle soorten gehele getallen.
Beide functies nemen het gegevenstype integer als argument, bijvoorbeeld intmax(int8) of intmin(int64) en retourneren de maximum- en minimumwaarden die u kunt vertegenwoordigen met het gegevenstype integer.
Voorbeeld
Het volgende voorbeeld illustreert hoe u de kleinste en grootste waarden van gehele getallen kunt verkrijgen. Maak een scriptbestand en schrijf de volgende code erin −
Live demo% displaying the smallest and largest signed integer data str = 'The range for int8 is:\n\t%d to %d '; sprintf(str, intmin('int8'), intmax('int8')) str = 'The range for int16 is:\n\t%d to %d '; sprintf(str, intmin('int16'), intmax('int16')) str = 'The range for int32 is:\n\t%d to %d '; sprintf(str, intmin('int32'), intmax('int32')) str = 'The range for int64 is:\n\t%d to %d '; sprintf(str, intmin('int64'), intmax('int64')) % displaying the smallest and largest unsigned integer data str = 'The range for uint8 is:\n\t%d to %d '; sprintf(str, intmin('uint8'), intmax('uint8')) str = 'The range for uint16 is:\n\t%d to %d '; sprintf(str, intmin('uint16'), intmax('uint16')) str = 'The range for uint32 is:\n\t%d to %d '; sprintf(str, intmin('uint32'), intmax('uint32')) str = 'The range for uint64 is:\n\t%d to %d '; sprintf(str, intmin('uint64'), intmax('uint64'))
Wanneer u het bestand uitvoert, wordt het volgende resultaat weergegeven −
ans = The range for int8 is: -128 to 127 ans = The range for int16 is: -32768 to 32767 ans = The range for int32 is: -2147483648 to 2147483647 ans = The range for int64 is: 0 to 0 ans = The range for uint8 is: 0 to 255 ans = The range for uint16 is: 0 to 65535 ans = The range for uint32 is: 0 to -1 ans = The range for uint64 is: 0 to 18446744073709551616
Kleinste en grootste drijvende-kommagetallen
De functies realmax() en realmin() retourneert de maximum- en minimumwaarden die kunnen worden weergegeven met getallen met drijvende komma.
Zowel de functies, wanneer aangeroepen met het argument 'single', retourneren de maximum- en minimumwaarden die u kunt vertegenwoordigen met het gegevenstype single-precision en wanneer aangeroepen met het argument 'dubbel', retourneren de maximum- en minimumwaarden die u kunt vertegenwoordigen met het gegevenstype met dubbele precisie.
Voorbeeld
Het volgende voorbeeld illustreert hoe u de kleinste en grootste getallen met drijvende komma kunt verkrijgen. Maak een scriptbestand en schrijf de volgende code erin −
Live demo% displaying the smallest and largest single-precision % floating point number str = 'The range for single is:\n\t%g to %g and\n\t %g to %g'; sprintf(str, -realmax('single'), -realmin('single'), ... realmin('single'), realmax('single')) % displaying the smallest and largest double-precision % floating point number str = 'The range for double is:\n\t%g to %g and\n\t %g to %g'; sprintf(str, -realmax('double'), -realmin('double'), ... realmin('double'), realmax('double'))
Wanneer u het bestand uitvoert, wordt het volgende resultaat weergegeven −
ans = The range for single is: -3.40282e+38 to -1.17549e-38 and 1.17549e-38 to 3.40282e+38 ans = The range for double is: -1.79769e+308 to -2.22507e-308 and 2.22507e-308 to 1.79769e+308
MATLAB