# Matlab Quick reference¶

*Page last updated on: 2019-10-14*

## The Matlab Work Environment¶

## General Commands¶

Tip

Some commands have links to syntax details and examples.

Command | Description |
---|---|

clc | Clear Command Window |

clear | Remove items from workspace, freeing up system memory |

close all | Close all plots |

doc function | Display documentation page in Help browser |

help | Help for functions in Command Window |

ver | Version information for MathWorks products |

% some comment text | Comment text |

CTRL+C | Abort the current operation |

format short | Display 4 decimal places |

format long | Display 15 decimal places |

disp('some text') | Print some text |

## Defining Variables¶

Command | Description |
---|---|

a = 3 | Define variable a to be 3 |

x = [1, 2, 3] | Set x to be the row vector [1, 2, 3] |

x = [1; 2; 3] | Set x to be the column vector [1, 2, 3]T |

A = [1, 2, 3, 4, 5, 6; 7, 8, 9, 10, 11, 12] |
Set A to be a 2 × 6 matrix |

x(2) = 7 | Change x from [1, 2, 3] to [1, 7, 3] |

A(2,1) = 0 | Change A2,1 from 5 to 0 |

## Basic Arithmetic¶

Command | Description |
---|---|

3*4, 7+4, 2-6, 8/3 | multiply, add, subtract and divide |

3^7 | Compute 3^7 |

sqrt(5) | Compute \sqrt{5} |

log(3) | Compute natural logarithm ln(3) |

log10(100) | Compute common logarithm (base 10) log(10) |

abs(-5) | Compute |-5| |

sin(5*pi/3) | Compute sin(5\pi/3) |

## Round numbers¶

Command | Description |
---|---|

floor(-1.5) | -2; Round toward negative infinity |

ceil(-1.5) | -1; Round toward positive infinity |

fix(-1.5) | -1; Round toward zero |

round(-1.5) | -2; Round to nearest decimal or integer |

## Matrices and Vectors¶

Command | Description |
---|---|

zeros(12, 5) | Make a 12 × 5 matrix of zeros |

ones(12, 5) | Make a 12 × 5 matrix of ones |

eye(5) | Make a 5 × 5 identity matrix |

eye(12, 5) | Make a 12 × 5 identity matrix |

linspace(1.4, 6.3, 1004) | Make a vector with 1004 elements evenly spaced between 1.4 and 6.3 |

logspace(1.4, 6.3, 1004) | Make a vector with 1004 elements where the log of the spacing is evenly increasing between 1.4 and 6.3 |

7:15 | Row vector of 7, 8, . . . , 14, 15 |

## Operations on Matrices and Vectors¶

Command | Description |
---|---|

3 * x | Multiply every element of x by 3 |

x + 2 | Add 2 to every element of x |

x + y | Element-wise addition of two vectors x and y |

A * y | Product of a matrix and vector |

A * B | Product of two matrices |

A .* B | Element-wise product of two matrices |

A ^ 3 | Square matrix A to the third power |

A .^ 3 | Every element of A to the third power |

cos(A) | Compute the cosine of every element of A |

abs(A) | Compute the absolute values of every element of A |

A' | Transpose of A |

inv(A) | Compute the inverse of A |

det(A) | Compute the determinant of A |

eig(A) | Compute the eigenvalues of A |

size(A) | Get the size of A |

## Slicing Matrices and vectors¶

Command | Description |
---|---|

x(2:12) | The 2^{nd} to the 12^{th} elements of x |

x(2:end) | The 2^{nd} to the last elements of x |

x(1:3:end) | Every third element of x from the first to last |

A(5,:) | Get the 5^{th} row of A |

A(:,5) | Get the 5^{th} column of A |

A(5, 1:3) | Get the first to third elements in the 5^{th} row |

## Constants¶

Command | Description |
---|---|

pi | \pi = 3.141592653589793 |

NaN | Not a number (i.e. 0/0) |

Inf | Infinity |

realmax | Largest positive floating-point number 1.7977x10^{308} |

realmin | Smallest positive floating-point number 2.2251x10^{−308} |

## Loops¶

**For loop:**

```
for k = 1:5
disp(k);
end
```

**While loop:**

```
k = 0;
while k < 7
k = k + 1;
end
```

## Logicals¶

```
a = 10
a == 5 % Test if a is equal to 5
false
a == 10 % Test if a is equal to 10
true
a >= 5 % Test if a is greater than or equal to 5
true
a < 11 % Test if a is less than 11
true
a ~= 4 % Test if a is not equal to 4
true
a > 1 && a ~= 10 % Test if a is greater than 1 AND not equal to 10
false
a > 1 || a ~= 10 % Test if a is greater than 1 OR not equal to 10
true
```

## Conditional Statements¶

```
if a > 10
disp('Greater than 10');
elseif a == 5
disp('a is 5');
else
disp('Neither condition met');
end
```

## Functions¶

```
function output = addNumbers(x, y)
output = x + y;
end
addNumbers(10, -5)
5
```

## Plotting¶

Command | Description |
---|---|

plot(x,y) | Plot y versus x (must be the same length) |

loglog(x,y) | Plot y versus x on a log-log scale (both axes have a logarithmic scale) |

semilogx(x, y) | Plot y versus x with x on a log scale |

semilogy(x, y) | Plot y versus x with y on a log scale |

axis equal | Force the x and y axes to be scaled equally |

title('A Title') | Add a title to the plot |

xlabel('x label') | Add a label to the x axis |

ylabel('y label') | Add a label to the y axis |

legend('foo', 'bar') | Label 2 curves for the plot |

grid | Add a grid to the plot |

hold on | Multiple plots on single figure |

figure | Start a new plot |

Example:

```
x = linspace(-3*pi, 3*pi, 1000);
y1 = sin(x);
y2 = cos(x);
plot(x, y1, 'k-'); % Plot sin(x) as a black line
hold on % Now we can add another curve
plot(x, y2, 'r-'); % Plot cos(x) as a red line
% Set the axis limits
axis([-3*pi, 3*pi, -1.5, 1.5])
% Add axis labels
xlabel('x');
ylabel('y');
% Add a title
title('A plot of cos(x) and sin(x)');
% Add a legend
legend('sin(x)', 'cos(x)');
```

Last update: 2019-10-14