Double-precision arrays


By default, MATLAB® stores all numeric variables as double-precision floating-point values that are 8 bytes (64 bits). These variables have data type (class) double. For example:

x = 10;
whos x
  Name      Size            Bytes  Class     Attributes

  x         1x1                 8  double  

For more information on floating-point values, see Floating-Point Numbers.


You can create a double-precision array using the [] operator, such as A = [1 2 3; 4 5 6]. In addition, many functions return double-precision arrays, such as sin.

If you have an array of a different type, such as single or int8, then you can convert that array to double precision using the double function.


Y = double(X)



Y = double(X) converts the values in X to double precision.

Input Arguments

expand all

Input array, specified as a scalar, vector, matrix, or multidimensional array.

Data Types: single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string


collapse all

By default, numbers in MATLAB are of the data type double. You can use the class function to verify a variable's type.

x = 100;
xtype = class(x)
xtype = 

Use the double function to convert variables that are not double precision to type double.

y = true
y = logical

ydouble = double(y);
ynewtype = class(ydouble)
ynewtype = 


  • When you are creating a class, overload double when it makes sense to convert an object of that class to a double-precision value.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced before R2006a