Open In App

Numeric Types in MATLAB

Last Updated : 15 Mar, 2022
Comments
Improve
Suggest changes
Like Article
Like
Report

Numeric class in MATLAB includes signed and unsigned integers, single-precision floating-point numbers, and double-precision floating-point numbers. Generally, MATLAB stores all numeric values as double-precision floating-point. But, we can choose to store any number, or, an array of numbers, as integers or, as single precision, for better memory utilization. All numeric types allow basic array operations, such as indexing, etc.

Create Numeric Variables:

Data typeDescriptionSizeTypical range
double      

Double-precision 

(floating-point values)

8 byte       +/- 1.7e +/- 308 (~15 digits)
single

Single-precision 

(floating-point values)

4 byte+/- 3.4e +/- 38 (~7 digits)
int88 bit signed integer1 byte-128 to 127
int1616 bit signed integer2 byte-32768 to 32767
int3232 bit signed integer4 byte-2147483648 to 2147483647
int64Signed integer8 byte-(263) to (263)-1
uint16Unsigned integer2 byte0 to 65535
uint32Unsigned integer4 byte0 to 4294967295
uint64Unsigned integer8 byte0 to 18,446,744,073,709,551,615

Example 1:

Matlab
% MATLAB code for Numeric Variables
gfg = single([4.4 3.9 6.9]) .* 8.4
gfg = double([4.4 3.9 6.9]) .* 8.4
gfg = int8([4.4 3.9 6.9]) .* 8.4
gfg = int16([4.4 3.9 6.9]) .* 8.4
gfg = int32([4.4 3.9 6.9]) .* 8.4
gfg = int64([4.4 3.9 6.9]) .* 8.4

 
 

Output:


 

gfg = 36.960  32.760   57.960
gfg = 36.960  32.760   57.960
gfg = 34  34  59
gfg = 34  34  59
gfg = 34  34  59
gfg = 34  34  59

Conversion of Numeric Types: 

MATLAB provides the following functions to convert to various numeric data types:


 

Data typeDescriptionSyntax
cast    Convert data type of one variable to other
  • B = cast ( A, newclass)
  • B = cast (A , 'like',p)
typecastConvert data type without changing underlying data
  • Y = typecast (X, type )

Example 2:


 

Matlab
% MATLAB code for conversion of Numeric Types
gfg = int8([-5 5]);
b= cast(gfg, "uint8")            

Output:

Ans: b = 0  5

Example 3:

Matlab
% MATLAB code for conversion of Numeric Types
gfg = int16(-1)
X = typecast(gfg , 'uint16')

 
 

Output:


 

gfg = -1
X = 65535

Query Type and Value:

MATLAB provides the following data type to check various numeric value:


 

Data typeDescriptionSyntax
isinteger        Determine whether input is integer array  TF = isinteger(A) 
isfloatDetermine if input is floating-point arrayTF = isfloat(A)
isnumericDetermine whether input is numeric arrayTF = isnumeric(A)
isrealDetermine whether array uses complex storageTF = isreal(A)
isfiniteDetermine which array elements are finiteTF = isfinite(A)
isinfDetermine which array elements are infiniteTF = isinf(A)
isnanDetermine which array elements are NaN(Not a Number)TF = isnan(A)

Example 4:


 

Matlab
% MATLAB code for Query Type and Value
gfg = isinteger(4)
g = isfloat(pi)
fg = isreal(2 + 7i)
x = isfinite(1 ./0)
y = isinf(1./0)
z = isnan(0./0)

 
 

Output:


 

gfg = 0
g = 1
fg = 0
x = 0
y = 1
z = 1

Numeric Value Limits:

MATLAB provides the following types to check limits of numeric value:


 

Type      Description Syntax
epsFloating-point relative accuracy
  • d = eps
  • d = eps(x)
  • d = eps(datatype)
flintmax

Largest consecutive integer 

in floating-point format

  • f = flintmax
  • f = flintmax(precision)
InfCreate array of all Inf values
  • X = Inf
  • X = Inf(n)
  • X = Inf(sz1,...,szN)
  • X = Inf(sz)
  • X = Inf(___,typename)
  • X = Inf(___,'like',p)
intmaxLargest value of specific integer type
  • v = intmax
  • v = intmax(type)
intminSmallest value of specified integer type
  • v = intmin
  • v = intmin('classname')
NaNCreate array of all Not a Number values
  • X = NaN
  • X = NaN(n)
  • X = NaN(sz1,...,szN)
  • X = NaN(sz)
  • X =NaN(___,typename)
  • X = NaN(___,'like',p)
realmaxLargest positive floating-point number
  • f = realmax
  • f = realmax(precision)
realmin    Smallest normalized floating-point number
  • f = realmin
  • f = realmin(precision)

Example 5:


 

Matlab
% MATLAB code for Numeric Value Limits
gfg = flintmax
gfg = intmax
gfg = Inf
gfg = intmin
gfg =NaN
gfg = realmax

 
 

Output:


 

gfg = 9.0072e+15
gfg = 2147483647
gfg = Inf
gfg = -2147483648
gfg = NaN
gfg = 1.7977e+308


 


Next Article

Similar Reads