Programs

# MATLAB Data Types: Everything You Need to Know

MATLAB provides many ways to store numbers and variables. All the numbers are equivalent to actual numerical real numbers. There is an upper limit to the largest number and a lower limit on the absolute value of the non-zero number. This is due to the finite memory of the processing devices compared to the real number, which can be infinite.

Due to finite space, the MATLAB variable cannot store an irrational number. E.g., The value of pi is returned to the approximation value. The set of values that are represented in the MATLAB variable is finite. Data types in MATLAB will help to handle this limitation.

All MATLAB variables belong to a class where different classes have different characteristics and are suitable to represent different types of data, whether it is numeric, textual, or complex.

Remember: All the given elements in an array should be of the same type.

MATLAB provides in a total of 16 fundamental types, and the data types in MATLAB is defined by,

• Set of values defined
• Operation Set that can be used to perform on those values Source

## Numerical Types

The numerical types include signed and unsigned integers, single, double-precision floating-point numbers. The numeric variables and their features are listed below:

 double Double-precision arrays Default numeric data type (class) in MATLAB Stored as 64-bit (8-byte) floating-point value Range- Negative numbers = -1.79769 x 10308 and -2.22507 x 10-308 Positive numbers = 2.22507 x 10-308 and 1.79769 x 10308 single Single-precision arrays Stored as 4-byte (32-bit) floating-point value    Range- Negative numbers = -1.79769 x 10308 and -2.22507 x 10-308 Positive numbers = 2.22507 x 10-308 and 1.79769 x 10308 int8 8-bit signed integer arrays Stored as 1-byte (8-bit) signed integers Range is -27 to 27-1 int16 16-bit signed integer arrays Stored as 2-byte (16-bit) signed integers  Range -215 to 215 -1 int32 32-bit signed integer arrays Stored as 4-byte (32-bit) signed integers  Range is -231 to 231-1 int64 64-bit signed integer arrays Stored as 8-byte (64-bit) signed integers  Range is -263 to 263-1 uint8 8-bit unsigned integer arrays Stored as 1-byte (8-bit) unsigned integers  Range is 0 to 28-1 uint16 16-bit unsigned integer arrays Stored as 2-byte (16-bit) unsigned integers Range is 0 to 216 -1 uint32 32-bit unsigned integer arrays Stored as 4-byte (32-bit) unsigned integers  Range is 0 to 232-1 uint64 64-bit unsigned integer arrays Stored as 8-byte (64-bit) unsigned integers  Range is 0 to 264-1

## Logical Type

True and false value is represented with the logical value 0 and 1. Any numerical value (non-complex) can be converted into logical representation.

Syntax: L = logical (x)

The above statement converts x into any array of logical values. Nonzero element of x is converted to the logical value 1 (true), and zero value is converted to logical value 0 (false).

## Character and String type

The MATLAB character and string array provide storage for text data. The sequence of characters is a character array compared with the sequence of numbers called a numeric array.

“up grad” is the sequence of characters forming a string array. We can observe this also as a piece of text wrapped.

## Cell array

A cell array is a MATLAB data type which contains indexed data containers called cellsCells can contain any type of data, commonly contain character vectors of different length, numbers, an array of numbers of any size. Sets of cells are enclosed in () and access to the cells is done by using {} which is to create, edit or delete any cell functions.

Syntaxc = {s,m,i,l,e}

## Tables

Tabular or column-oriented data requires tables, and this is stored as columns in a text file or spreadsheet. It contains rows and column variables. Each variable can be of different data types and different sizes, but each variable needs to have the same number of rows.

Range of functions are used to access data to create, edit, and read the table data.

## Structures

Named fields contain data with varying types and sizes. Here data containers are used to group related data and their type, which are called fieldsFields may contain any type of data.

Access to the data in the structures is given using the dot notation.

Format: structname.fieldName.

Example:

Scalar structure is used to store patient records, belonging to the same group.

patient(1).name = ‘John Doe’;

patient(1).billing = 127.00;

patient(1).test = [79, 75, 73; 180, 178, 177.5; 220, 210, 205];

## Function Handles

Use of a function handle is majorly to pass a function (numerical or char) to another function. Variables that are used to invoke function indirectly can be named as Function handle.

To create a function handle ‘@’ operator is used.

Example: To create a function handle to evaluate a2 -b2 , function used is:

F = @(a,b) (a.^2 – b.^2);

## Data type identification

MATLAB has a set of variables that are used to identify the data type

 iscalendarduration To check if input data is calendar duration array iscellstr To check if input data is a cell array is of character vectors iscell To check if input data is cell array isjava To check if input data is Java object ischar To check if input data is character array iscategorical To check whether input data is categorical array isduration To check if input data is duration array isenum To check if variable is enumeration isfloat To check if input data is floating-point array isdatetime To check if input data is datetime array isinteger To check whether input data is integer array istable To check whether input data is table isgraphics True for valid graphics object handles isnumeric To check whether input data is numeric array isobject To check if input data is MATLAB object isreal To check whether array is real isstring To check if input data is string array isstruct To check if input data is structure array validateattributes Check validity of array istimetable To check if input data is timetable isa To check if input data has specified data type islogical To check if input data is logical array is* Detect state class Class of object

## Data Type conversion

The following functions are used to change between different MATLAB data types, a numeric array, character array, cell array, structures, or tables.

char – Character array

cellstr – To change to cell array of character vectors

int2str – To change integers to characters

mat2str – To change matrix to characters

num2str – To change numbers to a character array

str2double – To change strings to double precision values

str2num – To change character array or string to numeric array

native2unicode – To change numeric bytes to Unicode character representation

unicode2native – To change Unicode character representation to numeric bytes

base2dec – To change text representing a number in base N to decimal number

hex2dec – To change text representation of a hexadecimal number to decimal number

hex2num – To change IEEE hexadecimal format to a double-precision number

num2hex – To change single- and double-precision numbers to IEEE hexadecimal format

table2array – To change the table to a homogeneous array

table2cell – To change table to cell array

table2struct – To change table to structure array

array2table – To change the homogeneous array to a table

cell2table – To change the cell array to a table

struct2table – To change the structure array to a table

cell2mat – To change cell array to an ordinary array of the underlying data type

cell2struct – To change cell array to structure array

mat2cell – To change array to cell array whose cells contain subarrays

num2cell – To change array to cell array with consistently sized cells

struct2cell – To change structure to cell array

## Conclusion

From the above article, we got an overview of various MATLAB data types. Each of these data types is very essential for MATLAB users to understand and effectively use MATLAB programming. MATLAB is very popular in the science and engineering fields due to its precise calculation, syntax, and large community support.

If you’re interested to learn more about MATLAB, machine learning, and its relevant topics, check out IIIT-B & upGrad’s PG Diploma in Machine Learning & AI which is designed for working professionals and offers 450+ hours of rigorous training, 30+ case studies & assignments, IIIT-B Alumni status, 5+ practical hands-on capstone projects & job assistance with top firms.

## What are different data types used in MATLAB?

Data in MATLAB can be either numeric or character. Numeric data represents values that correspond to the numbers and arithmetic operations you are familiar with, such as addition and multiplication. Character data are strings of text, such as words, letters, or symbols (such as '\$'). The elements of character arrays can be accessed using the same syntax as for numeric data (e.g., C('This is a character array') returns the element of array C that contains the string, This is a character array).

## What are structures in MATLAB?

MATLAB includes three classes of structures: cell arrays, structs, and handle arrays. A cell array is a single data structure that contains elements of different types. A cell array is actually a group of structures, each of which contains one element of the array. If you use the cell() function to create a cell array, MATLAB fills the array with zeros by default. A struct is a collection of variables that all have the same name, but may have different types. MATLAB handles structs as cell arrays. You can store only one struct in a cell array. A handle array is a container for references to other MATLAB arrays or to objects such as graphs and figures. You can store multiple handle arrays in a cell array.

## How to identify the data type in matlab?

This can be done using isa command in matlab. The syntax of isa command is as: isa(my_data). For example: If you want to know the data type of my_data, you can use the isa command as: isa(my_data) This will return the following text: int64, int32, int16, uint8, uint32, uint64, complex64, complex128, char. This command is to be used in matlab only.

## Lead the AI Driven Technological Revolution

Enroll Today

### Machine Learning Skills To Master  