half - Construct half-precision numeric object - MATLAB (original) (raw)

Main Content

Construct half-precision numeric object

Description

Use the half constructor to assign a half-precision data type to a number or variable. A half-precision data type occupies 16 bits of memory, but its floating-point representation enables it to handle wider dynamic ranges than integer or fixed-point data types of the same size. For more information, see Floating-Point Numbers (Fixed-Point Designer) andWhat Is Half Precision? (Fixed-Point Designer).

For a list of functions that support code generation with half-precision inputs, see Half Precision Code Generation Support.

Creation

Syntax

Description

`a` = half([v](#mw%5F8c5fdae8-31a5-4dd4-a731-85e7d90fc5e8)) converts the values in v to half-precision.

Input Arguments

expand all

v — Input array

scalar | vector | matrix | multidimensional array

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

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Complex Number Support: Yes

Object Functions

These functions are supported for simulation with half-precision inputs in MATLAB®. MATLAB System object™ supports half-precision data type and MATLAB System (Simulink) block supports half-precision data type with real values. For a list of functions that support code generation with half-precision inputs, see Half Precision Code Generation Support (Fixed-Point Designer).

expand all

Math and Arithmetic

abs Absolute value and complex magnitude
acos Inverse cosine in radians
acosh Inverse hyperbolic cosine
asin Inverse sine in radians
asinh Inverse hyperbolic sine
atan Inverse tangent in radians
atan2 Four-quadrant inverse tangent
atanh Inverse hyperbolic tangent
ceil Round toward positive infinity
conj Complex conjugate
conv Convolution and polynomial multiplication
conv2 2-D convolution
cos Cosine of argument in radians
cosh Hyperbolic cosine
cospi Compute cos(X*pi) accurately
cumsum Cumulative sum
dot Dot product
exp Exponential
expm1 Compute exp(X)-1 accurately for smallX
fft Fast Fourier transform
fft2 2-D fast Fourier transform
fftn N-D fast Fourier transform
fftshift Shift zero-frequency component to center of spectrum
fix Round toward zero
fixed.interp1 (Fixed-Point Designer) 1-D data interpolation (table lookup)
fixed.interp2 (Fixed-Point Designer) Interpolation for 2-D gridded data in meshgrid format
fixed.interp3 (Fixed-Point Designer) Interpolation for 3-D gridded data in meshgrid format
fixed.interpn (Fixed-Point Designer) Interpolation for 1-D, 2-D, 3-D, and N-D gridded data inndgrid format
floor Round toward negative infinity
fma (Fixed-Point Designer) Multiply and add using fused multiply add approach
hypot Square root of sum of squares (hypotenuse)
ifft Inverse fast Fourier transform
ifft2 2-D inverse fast Fourier transform
ifftn Multidimensional inverse fast Fourier transform
ifftshift Inverse zero-frequency shift
imag Imaginary part of complex number
ldivide Left array division
log Natural logarithm
log10 Common logarithm (base 10)
log1p Compute natural logarithm of 1+X accurately for smallX
log2 Base 2 logarithm and floating-point number dissection
mean Average or mean value of array
minus Subtraction
mldivide Solve systems of linear equations Ax = B for_x_
mod Remainder after division (modulo operation)
mrdivide Solve systems of linear equations xA = B for_x_
mtimes Matrix multiplication
plus Add numbers, append strings
pow10 (Fixed-Point Designer) Base 10 power and scale half-precision numbers
pow2 Base 2 exponentiation and scaling of floating-point numbers
power Element-wise power
prod Product of array elements
rdivide Right array division
real Real part of complex number
rem Remainder after division
round Round to nearest decimal or integer
rsqrt (Fixed-Point Designer) Reciprocal square root
sign Sign function (signum function)
sin Sine of argument in radians
sinh Hyperbolic sine
sinpi Compute sin(X*pi) accurately
sqrt Square root
sum Sum of array elements
tan Tangent of argument in radians
tanh Hyperbolic tangent
times Multiplication
uminus Unary minus
uplus Unary plus

Data Types

allfinite Determine if all array elements are finite
anynan Determine if any array element is NaN
cast Convert variable to different data type
cell Cell array
double Double-precision arrays
eps Floating-point relative accuracy
flintmax Largest consecutive integer in floating-point format
Inf Create array of all Inf values
int16 16-bit signed integer arrays
int32 32-bit signed integer arrays
int64 64-bit signed integer arrays
int8 8-bit signed integer arrays
isa Determine if input is instance of specified class
isfloat (Fixed-Point Designer) Determine whether input is floating-point data type
isinteger Determine whether input is integer array
islogical Determine if input is logical array
isnan Determine which array elements are NaN
isnumeric Determine whether input is numeric array
isobject Determine if input is MATLAB object
isreal Determine whether array uses complex storage
logical Convert numeric values to logicals
NaN Create array of all NaN values
realmax Largest positive floating-point number
realmin Smallest normalized floating-point number
single Single-precision arrays
storedInteger (Fixed-Point Designer) Stored integer value of fi object
typecast Convert data type without changing underlying data
uint16 16-bit unsigned integer arrays
uint32 32-bit unsigned integer arrays
uint64 64-bit unsigned integer arrays
uint8 8-bit unsigned integer arrays

Relational and Logical Operators

all Determine if all array elements are nonzero or true
and Find logical AND
Short-Circuit AND Logical AND with short-circuiting
any Determine if any array elements are nonzero
eq Determine equality
ge Determine greater than or equal to
gt Determine greater than
isequal Determine array equality
isequaln Determine array equality, treating NaN values as equal
le Determine less than or equal to
lt Determine less than
ne Determine inequality
not Find logical NOT
or Find logical OR
Short-Circuit OR Logical OR with short-circuiting

Array and Matrix Operations

cat Concatenate arrays
chol Cholesky factorization
circshift Shift array circularly
colon Vector creation, array subscripting, and for-loop iteration
complex Create complex array
ctranspose Complex conjugate transpose
empty Create empty array of specified class
eye Identity matrix
flip Flip order of elements
fliplr Flip array left to right
flipud Flip array up to down
horzcat Horizontal concatenation for heterogeneous arrays
iscolumn Determine if input is column vector
isempty Determine whether array is empty
isfinite Determine which array elements are finite
isinf Determine which array elements are infinite
ismatrix Determine whether input is matrix
isrow Determine if input is row vector
isscalar Determine whether input is scalar
issorted Determine if array is sorted
isvector Determine whether input is vector
length Length of largest array dimension
lu LU matrix factorization
max Maximum elements of array
min Minimum elements of array
ndims Number of array dimensions
numel Number of array elements
ones Create array of all ones
permute Permute array dimensions
repelem Repeat copies of array elements
repmat Repeat copies of array
reshape Reshape array by rearranging existing elements
size Array size
sort Sort array elements
squeeze Remove dimensions of length 1
transpose Transpose vector or matrix
vertcat Vertically concatenate for heterogeneous arrays
zeros Create array of all zeros

Graphics

Deep Learning

activations (Deep Learning Toolbox) (Not recommended) Compute deep learning network layer activations
classify (Deep Learning Toolbox) (Not recommended) Classify data using trained deep learning neural network
predict (Deep Learning Toolbox) Reconstruct the inputs using trained autoencoder
predictAndUpdateState (Deep Learning Toolbox) (Not recommended) Predict responses using a trained recurrent neural network and update the network state

To display a list of supported functions, at the MATLAB Command Window, enter:

Examples

collapse all

Convert Value to Half Precision

To cast a double-precision number to half precision, use thehalf function.

You can also use the half function to cast an existing variable to half-precision.

v = 3x3 single matrix

 8     1     6
 3     5     7
 4     9     2

a =

3x3 half matrix

 8     1     6
 3     5     7
 4     9     2

Limitations

Extended Capabilities

C/C++ Code Generation

Generate C and C++ code using MATLAB® Coder™.

GPU Code Generation

Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.

Version History

Introduced in R2018b