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 Getallen: Typen, Opslag en Conversie

MATLAB ondersteunt diverse numerieke klassen: gesigneerde en ongesigneerde integers, en single- en double-precision floating-point getallen. Standaard slaat MATLAB alle numerieke waarden op als double-precision floating-point.

Je kunt ervoor kiezen om getallen als integers of single-precision op te slaan. Alle numerieke typen ondersteunen basis array- en wiskundige operaties.

Conversie naar Numerieke Datatypes

MATLAB biedt functies voor conversie naar verschillende numerieke typen:

FunctieDoel
doubleConverteert naar double precision
singleConverteert naar single precision
int8Converteert naar 8-bit signed integer
int16Converteert naar 16-bit signed integer
int32Converteert naar 32-bit signed integer
int64Converteert naar 64-bit signed integer
uint8Converteert naar 8-bit unsigned integer
uint16Converteert naar 16-bit unsigned integer
uint32Converteert naar 32-bit unsigned integer
uint64Converteert naar 64-bit unsigned integer

Voorbeeld: Conversie en Vermenigvuldiging

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

Resultaat:

x = 39.9000  26.0250  47.1000   (single/double)
x = 38  23  45                     (alle integer typen)

Let op: bij integer typen vindt afronding plaats naar het dichtstbijzijnde gehele getal.

Uitbreiding: Conversie naar Cel Array

x = int32([5.32 3.47 6.28]) .* 7.5
x = int64([5.32 3.47 6.28]) .* 7.5
x = num2cell(x)

Resultaat:

x = { [1,1] = 38; [1,2] = 23; [1,3] = 45 }

Kleinste en Grootste Integers

De functies intmax() en intmin() geven de maximum en minimum waarden voor integer typen.

intmax('int8')   % 127
intmin('int64')  % -9.2234e+18

Voorbeeld: Bereiken van alle Integer Typen

str = 'The range for int8 is:\n\t%d to %d ';
sprintf(str, intmin('int8'), intmax('int8'))
% ... herhalen voor int16, int32, int64, uint8, uint16, uint32, uint64

Resultaat (belangrijkste waarden):

int8:    -128 to 127
int16:   -32768 to 32767
int32:   -2.1475e+9 to 2.1475e+9
int64:   -9.2234e+18 to 9.2234e+18
uint8:   0 to 255
uint16:  0 to 65535
uint32:  0 to 4.2950e+9
uint64:  0 to 1.8447e+19

Kleinste en Grootste Floating-Point Getallen

De functies realmax() en realmin() geven de grenzen voor floating-point getallen.

Voorbeeld

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'))

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'))

Resultaat:

single: -3.4028e+38 to -1.1755e-38 and 1.1755e-38 to 3.4028e+38
double: -1.7977e+308 to -2.2251e-308 and 2.2251e-308 to 1.7977e+308

MATLAB

  1. Getallen vs Numeratie: Het Verschil en de Praktische Impact
  2. MATLAB: Uitgebreid Overzicht van een Leidende Numerieke Rekenomgeving
  3. Variabelen in MATLAB Begrijpen: Basis en Voorbeelden
  4. Essentiële MATLAB Commando's voor Efficiënte Berekening
  5. MATLAB Datatypes: Uitgebreide Gids
  6. MATLAB Operatoren: Complete Gids voor Rekenkundige, Logische en Bitwise Operaties
  7. MATLAB Matrix Basis: Data Aanmaken, Benaderen en Manipuleren
  8. MATLAB: Multidimensionale en Speciale Arrays Beheersen
  9. MATLAB Dubbele Punt Notatie: Vectors Maken & Efficiënt Itereren
  10. MATLAB Strings: Maken, Manipuleren en Functies
  11. MATLAB Functies: Definitie, Werkruimte, In- en Outputs