Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> MATLAB

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 demo
x = 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 demo
x = 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

  1. Cijfers versus nummering
  2. MATLAB - Overzicht
  3. MATLAB - Variabelen
  4. MATLAB - Opdrachten
  5. MATLAB - Gegevenstypen
  6. MATLAB - Operators
  7. MATLAB - Matrix
  8. MATLAB - Arrays
  9. MATLAB - Dubbele puntnotatie
  10. MATLAB - Snaren
  11. MATLAB - Functies