MATLAB Data Types
MATLAB exposes numeric, character array, and string data types.
Contents
Numeric
All numeric variables are arrays. Colloquially, an array with a single element is called a scalar.
By default, all numeric values are stored as double-precision floating point. Other storage sizes are available however.
x = 3; y = [3 5];
A shorthand for an array of sequential numbers (with an optional step parameter) is:
a = 5:8; b = 20:2:24;
Storage Size
To declare a numeric array with a specific storage size, try:
y = uint64(10);
These declaration functions include:
double()
single()
int8()
int16()
int32()
int64()
uint8()
uint16()
uint32()
uint64()
Type Casting
The cast function is used to change the storage size of a numeric array. Try:
b = cast(a,"uint8");
The second argument must be one of:
"single"
"double"
"int8"
"int16"
"int32"
"int64"
"uint8"
"uint16"
"uint32"
"uint64"
"logical"
"char"
Character Array
Character arrays store a sequence of characters. They are declared like:
c = 'Hello World';
String
All string variables are arrays. Colloquially, a string array with a single element is called a string scalar.
str = "Greetings friend" str = ["Greetings friend" "Hello, world"]
To convert a numeric array into a string array, try:
>> str = string([1 24 356]); str = 1x3 string "1" "24" "356"
Symbolic Variable
Symbolic variables are created like:
% Declaring symbolic variables. syms x y; % Defining symbolic expressions. f = (x^2 + y^2); % Defining symbolic functions. f(x,y) = (x^2 + y^2);
Symbolic functions can then be evaluated for input values.
Symbolic expressions are very similar, but can be used to define a surface to plot or to solve a system.
% Define a quadratic equation. f = a*x^2 + b*x + c % Solve for roots of a quadratic equation. x_0 = solve(f == 0, x);
Function Handle
Function handles are created like:
% Declaring symbolic variables needed by the function handle. syms x y z; f = @(x,y,z) (x.^2 + y.^2 + z.^2);
