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.
Best Machine Learning and AI Courses Online
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.
In-demand Machine Learning Skills
Get Machine Learning Certification from the World’s top Universities. Earn Masters, Executive PGP, or Advanced Certificate Programs to fast-track your career.
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
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 |
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 |
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 |
|
int16 | 16-bit signed integer arrays |
|
int32 | 32-bit signed integer arrays |
|
int64 | 64-bit signed integer arrays |
|
uint8 | 8-bit unsigned integer arrays |
|
uint16 | 16-bit unsigned integer arrays |
|
uint32 | 32-bit unsigned integer arrays |
|
uint64 | 64-bit unsigned integer arrays |
|
Read: While loop in MATLAB: Everything You Need to Know
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.
Syntax: c = ‘up grad’
“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 cells. Cells 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.
Syntax: c = {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 fields. Fields 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
Also Read: Recursion in Data Structure: How Does it Work, Types & When Used
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
Popular AI and ML Blogs & Free Courses
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.