This document provides a summary of useful MATLAB commands in 3 categories:
1. Vectors/Matrices Operations and Indexing - Commands for basic operations on vectors and matrices like addition, multiplication, concatenation, as well as indexing vectors and matrices.
2. Built-in Functions/Constants - Common mathematical functions, constants, and functions for creating, transforming and getting information about matrices and vectors.
3. Loops and Branching - Commands for conditional branching and loops in MATLAB code.
This document provides a summary of useful MATLAB commands in 3 categories:
1. Vectors/Matrices Operations and Indexing - Commands for basic operations on vectors and matrices like addition, multiplication, concatenation, as well as indexing vectors and matrices.
2. Built-in Functions/Constants - Common mathematical functions, constants, and functions for creating, transforming and getting information about matrices and vectors.
3. Loops and Branching - Commands for conditional branching and loops in MATLAB code.
a + b element-wise addition a - b element-wise subtraction a(1) the first element in vector clc clear command window a * b matrix multiplication a([1, 2, 5]) the first, second and fifth element in clear clear workspace a .* b element-wise multiplication vector clear x clear x from workspace a / b matrix division, mrdivide a(1:3) the first three elements of an vector close all close all figures a \ b mldivide a([1:3 5:6]) selected elements of a vector help function help for function a ./ b element-wise division a(end) the last element of the vector doc function documentation for function a ˆ b matrix power a(5:end) from the fifth to the last element in quit, exit terminates Matlab a .ˆ b element-wise power vector edit opens Matlab editor a.´ transpose a(5:end-1) from the fifth to the penultimate ele- functionName a´ transpose + complex conjugate (Her- ment in vector format sets command window output format mitian transpose) a(1) = 10 replace the first element in vector by short/long/compact [A B] concatenates 2 matrices horizontally 10 [A; B] concatenates 2 matrices vertically a([1 3 5]) = [2 replace elements in vector by values 2, cat(dim, A, B) concatenates 2 matrices 5 7] 5, and 7 length(A) size of longest dimension of A a([1 3 5]) = [] discard elements on position 1, 3, and Built in Functions/Constants size(A) size of A 5 ndims(A) number of dimensions of A numel(A) number of elements of A pi constant π tril(A) lower triangular part of matrix Matrix Indexing exp() exponential function triu(A) upper triangular part of matrix eps() floating point accuracy repmat(A, x, y) repeats copy of matrix A(1, 1) an element in the first row and first 1e6 1 × 106 reshape(A, x, y) changes dimensions of matrix column of matrix Inf infinity value squeeze(A) removes dimensions of size 1 A([1 5], 2:4) elements of matrix in the first and fifth NaN not-a-number value flip(A, dim) flips array (see also fliplr and rows and in columns two, three and 1i, 1j imaginary unit flipud) four circshift(A, K, circularly shifts array A(n, :) the nth row in array dim) A(:, n) the nth column in array det(A) matrix determinant A(n, :) = [] discard nth row in array Vectors/Matrices Creation inv(A) matrix inversion A(:, n) = [] discard nth column in array roots(vec) polynomial roots A(1) the first element in array (linear index- round(A) round to nearest decimal integer (see ing) x = [1 2 3] row vector 1 × 3 also ceil, floor, and fix) A(1:3) the first three elements of an array (lin- x = [1; 2; 3] column vector 3 × 1 mod(A, n) modulo operation ear indexing) x = [1 2; 3 4] matrix 2 × 2 rem(A, n) reminder after division a:b row vector [a, a + 1, . . . , b] row vector [a, a + x, . . . , b] Logical Operators a:x:b Logical Indexing linspace(a, b, n evenly spaced points between a and & logical AND n) b && short-circuit logical AND logical OR A(A == 3) extract elements equal to 3 logspace(a, b, n logarithmically spaced points be- | short-circuit logical OR A(A > 5) extract elements greater than 5 n) tween 10a and 10b || not A(A > 5 & A < extract elements greater than 5 and at ones(n, m) matrix of values 1, [n × m] ~ function all 30) the same time less than 30 zeros(n, m) matrix of values 0, [n × m] all eye(n) identity matrix, [n × n] any function any NaN(n, m) matrix of values NaN, [n × m] is* several function with logical output Inf(n, m) matrix of values true, [n × m] Debugging and Time Measurement true(n, m) matrix of logical ones, [n × m] Relation Operators false(n, m) matrix of logical zeros, [n × m] > greater then keyboard pauses execution rand(n, m) matrix of random uniformly dis- >= greater then or equal to dbcont resume execution (end debug mode) tributed values, [n × m] (see also < less then dbclear all removes all breakpoints randi and randn <= less then or equal to tic, toc start/stop time measurement diag() diagonal elements of matrix, vector -> == equal to profile profile code execution square matrix ~= not equal to on/off/clear/viewer Loops and Branching Basic Visualization writematrix(A, writes matrix to file (see also filename) readmatrix) if expression program branching using if-else figure opens empty figure imwrite(A, writes image to graphics file (see also ... axes creates Cartesian axes filename) imread) elseif plot(x, y) 2D line plot expression hold on/off retain current plot with new line fid = open file ... grid display/hide grid lines fopen(filename) else on/off/minor fclose(fid) close opened file ... title(txt) adds title to figure fgetl(fid) read line from file end xlabel(txt) adds x-axis label (same for y and z) fread(fid) read from binary file xlim([min, max]) sets limits of x-axis (same for y and z) fwrite(fid, A) write to binary file switch variable program branching using switch colormap view colormap case value1 stem(x, y) discrete stem plot Other Data Types ... pcolor(A) displays array data as colored cells A = cell(m, n) create cell array case {value2, surf(X, Y, Z) displays surface plot A = {x, y, z} create cell array value3} semilogx(X) semi-logarithmic plot (same for y) A(1, 1) smooth parentheses indexing, creates ... image(X) Show image from array subset cell array otherwise doc LineSpec plot parameters to customize curves A{1, 1} curly brackets indexing, access to data ... set(ref, Name, sets graphics object property in cell array end Value) B = create structure array get(ref, Name) query graphics object property value struct(field, for n = 1:10 for cycle ref.Name = Value dot notation, sets graphics object value) ... property B.field = value create structure array end Value = ref.Name dot notation, query graphics object double(A) converts array to double precision (see property value also single) while expression while cycle view(az, el) camera line of sight int8(A) converts array to 8-bit signed inte- ... ger (see also int16, int32, uint8, end Character arrays and Strings int18, . . . ) datetime() array representing points in time (see break terminates execution of loop 'Hello world!' character vector is created using single also years, days, hours, . . . ) continue pass control to next iteration quotation marks sparse(A) creates sparse matrix return return to invoking function A = char(B) convert another data type to character array Other useful functions Functions strfind(str, find string within other string find(X) find indices of nonzero elements pattern) fprintf(fileID, write data to text file function [out1, function definition out2] = foo(in1, strcmp(str1, compare strings format, A1) str2) sprintf(format, format data into character vector in2) @sin handle function definition strjoin(str, join strings in array A1) delimiter) eval(txt) executes Matlab expression in text @(x) xˆ2 + anonymous function definition strtok(str, split string into parts feval(fun, x1) evaluate function sin(x) delimiter) str2num(X) convert character array to numeric ar- nargin returns number of inputs regexp(str, reg) match regular expression ray nargout returns number of outputs str2double(X) convert characters to double precision varargin input variable allowing multiple inputs "Hello world!" string is created using double quota- numbers varargout output variable allowing multiple out- tion marks num2str(X) convert numeric array to character ar- puts A = string(B) convert another data type to string ray realmax largest positive floating-point num- Set operations ber (see also realmin, intmax, and File Handling intersect(A, B) set intersection of two arrays realmin) union(A, B) set union of two arrays dir folderName lists folder content interp1 1-D interpolation (see also interp2, setdiff(A, B) set difference of two arrays pwd identifies current folder interp3, and interpn) setxor(A, B) set exclusive or of two arrays exist name check existence of variable, function, fminbnd find minimum of single-variable func- unique(A) unique values in array folder, . . . tion sort(X) sort array elements cd(path) changes current folder fft Fast Fourier transform (see also fft2, sortrows(X) sorts rows of matrix mkdir(path, makes new folder fftn, ifft, fftshift, . . . ) issorted(X) determines if the array is sorted folderName) timer creates object of timer to schedule exe- ismember(A, B) array elements that are members of set rmdir(path) remove folder cution of Matlab commands (see doc- array umentation) Shortcuts Command Window Shortcuts Matlab Editor Matlab File Suffix (not all) ENTER line execution CTRL + moves between tabs .m script/function/class ESC delete whole line PG.UP/PG.DOWN .mlx Matlab live script DEL delete one character (right to the cur- CTRL + R comment lines .p protected Matlab code sor) CTRL + T uncomment lines .mat binary data file BACKSPACE delete one character (left to the cursor) CTRL + D open highlighted m-file (func- .fig Matlab figure HOME moves cursor to the beginning of line tion/script) .mdl, .slx Simulink model END moves cursor to the end of line F5 execute current script/function .mdlp, .slxp Simulink protected model CTRL + ↑ moves cursor to the beginning of next CTRL + S save current file (done automatically .mexa64, mex libraries word after pressing F5 .mexmaci64, CTRL + ↓ moves cursor to the beginning of pre- CTRL + HOME jump to the beginning of file .mexw32, vious word CTRL + END jump to the end of file .mexw64 SHIFT + ENTER sends cursor to the next line (without CTRL + →/← jump word-by-word or expression-by- .mlappinstall APP file – installer execution) expression to the right/left .mlpkginstall support package – installer CTRL + K deletes all to the right of cursor CTRL + W close current file .mltbx toolbox file – installer CTRL + C forces interruption of Matlab CTRL + O activates open file dialog box .mn MuPAD notebook (e.g.long/erroneous calculation) CTRL + F find/replace dialog box .mu MuPAD code CTRL + TAB switching between windows of Mat- CTRL + G “go to", jumps to the indicated line lab environment number ↓ and ↑ command history listing (searching in CTRL + I indent of block of lines corresponding available CTRL + F) to key words F1 context help related to the word where F1 open context help related to the func- the cursor is placed tion at position of the cursor TAB function or variable name hint F9 run highlighted code Handle Graphics App Building (new graphics) fig = figure get figure reference uifigure creates graphics window set(ref, Name, Value) sets graphics object property uiaxes creates axes in uifigure get(ref, Name) query graphics object property value uipanel creates panel; container for other objects ref.Name = Value dot notation, sets graphics object property uitab creates tab; container for other objects Value = ref.Name dot notation, query graphics object prop- uigridlayout layout manager; positioning of graphics erty value components uibuttongroup creates superior object for group of buttons groot, get(0) graphics root object (screen) (i.e. radiobuttons) axes creates Cartesian axes uimenu creates menu or menu item axis(lims) scales axes uitable creates 2D table uimenu creates menu or menu item uilabel creates text field uicontextmenu creates context menu uieditfield creates editable text field uitoolbar creates toolbar with icons uitextarea creates multiple line editable text uipanel creates panel; container for other objects uibutton creates one-state or two-state button uitabgroup creates tabgroup; container for other tabs uiradiobutton creates radio button component uitab crates a tab; container for other objects uicheckbox creates checkbox component uitable creates 2D table uilistbox creates list of items uibuttongroup creates superior object for group of buttons uidropdown creates drop-down component (popup (i.e. radiobuttons) menu) uicontrol creates fundamental element of GUI, be- uislider creates slider component havior depends on style of the object uispinner creates spinner component uicontrol('Style', style) changes style of uicontrol uiswitch(style) creates switch object (possible styles: uicontrol('Style', 'Text') creates text field 'slider', 'rocker', and 'toggle') uicontrol('Style', 'Edit') creates editable text field uiknob(style) creates knob component (possible styles: uicontrol('Style', 'Pushbutton') creates one-state button 'continuous' and 'discrete') uicontrol('Style', 'Togglebutton') creates two-state button uigauge(style) creates gauge component (possible styles: uicontrol('Style', 'Radiobutton') creates radio button 'circular', 'linear', 'ninetydegree', and uicontrol('Style', 'Checkbox') creates checkbox 'semicircular') uicontrol('Style', 'Listbox') creates list of items uilamp creates lamp component uicontrol('Style', 'Popupmenu') creates popup menu with multiple choices uitree creates tree component uicontrol('Style', 'Slider') creates slider uidatepicker creates calendar component uiimage creates image component set(ref, 'Callback', @foo) set callback as function handle uihtml creats HTML component set(ref, 'Callback', @(src, set callback as anonymous function event)foo(in1)) ref.ButtonPushedFcn = @foo set callback as function handle set(ref, 'Callback', {@foo, in1}) set callback as function handle in cell array ref.ButtonPushedFcn = @(src, set callback as anonymous function event)foo(in1)) gcf returns reference of current figure (last ref.ButtonPushedFcn = {@foo, in1} set callback as function handle in cell array active) gca returns reference of current axes (last ac- setappdata(ref, field, data) defines stored data inside the application tive) getappdata(ref, field) retrieves previously stored data gco returns reference of last "mouse-clicked" object uialert predefined alert window findobj(property, value) finds object(s) with required property uiconfirm predefined confirmation window findall finds all graphics objects allchild(ref) finds all children objects of selected object copyobj(ref) copies an object delete(ref) deletes object
setappdata(ref, field, data) defines stored data inside the application
getappdata(ref, field) retrieves previously stored data