SlideShare a Scribd company logo
MATLAB
Basics
MATLAB User Environment
Workspace/Variable
Inspector
Command History
Command Window
Getting help
There are several ways of getting help:
Basic help on named commands/functions is echoed to the command
window by:
>> help command-name
A complete help system containing full text of manuals is started by:
>> helpdesk
System Environment
• Windows
– MATLAB installed in c:matlab6.5
– Your code…anywhere convenient (e.g. h:matlab)
• Linux (Environment network)
– MATLAB installed in /apps/matlab
– Your code in /home/username/matlab
– Your environment configuration in ~/.matlab
startup.m
• The script $matlab_roottoolboxlocalmatlabrc.m
is always run at startup – it reads system
environment variables etc, and initialises
platform dependent settings. If present it will run
a user defined initialisation script: startup.m
– Linux: /home/user/matlab/startup.m
– Windows: $matlab_roottoolboxlocalstartup.m
• Use startup.m for setting paths, forcing
preferred settings, etc.
%-------------------------------------
% Matlab startup file for IMB's laptop
%-------------------------------------
%-- add paths for my m-files --
addpath d:/matlab
addpath d:/matlab/bulk2.5
addpath d:/matlab/bulk2.6
addpath d:/matlab/coastal
addpath d:/matlab/lidar
addpath d:/matlab/ndbc
addpath d:/matlab/page
addpath d:/matlab/sections
addpath d:/matlab/sharem
addpath d:/matlab/wavelet
addpath d:/matlab/LEM
addpath d:/matlab/GPSbook
addpath d:/matlab/FAAM
addpath d:/matlab/FAAM/winds
addpath d:/matlab/faam/bae
%-- add netCDF toolbox --
addpath c:/matlab701/bin
addpath c:/matlab701/bin/win32
addpath d:/matlab/netcdf
addpath d:/matlab/netcdf/ncfiles
addpath d:/matlab/netcdf/nctype
addpath d:/matlab/netcdf/ncutility
%-- add path for generic data --
addpath d:/matlab/coastlines % coastline data
addpath d:/cw96/flight_data/jun02 % raw cw96
addpath d:/cw96/flight_data/jun07 % aircraft data
addpath d:/cw96/flight_data/jun11
addpath d:/cw96/flight_data/jun12
addpath d:/cw96/flight_data/jun17
addpath d:/cw96/flight_data/jun19
addpath d:/cw96/flight_data/jun21
addpath d:/cw96/flight_data/jun23
addpath d:/cw96/flight_data/jun26
addpath d:/cw96/flight_data/jun29
addpath d:/cw96/flight_data/jul01
addpath d:/cw96/runs % run definitions for cw96 flights
%----------------------------------------------------------------------
%-- set default figure options --
set(0,'DefaultFigurePaperType','a4')
% this should be the default in EU anyway
set(0,'DefaultFigurePaperUnits','inches')
% v6 defaults to cm for EU countries
set(0,'DefaultFigureRenderer','painters')
% v7 default OpenGL causes problems
Example startup.m file (for my laptop)
• addpath – adds directories to
the search path. MATLAB will
look in ALL directories on the
path for:
– Functions and scripts (.m files)
– MATLAB data files (.mat files)
• It will also look in the current
directory
• The ‘set’ commands in the
example startup.m file set
some default graphics
properties, overriding the
defaults – will cover these
later.
The WORKSPACE
• MATLAB maintains an active workspace, any
variables (data) loaded or defined here are
always available.
• Some commands to examine workspace, move
around, etc:
>> who
Your variables are:
x y
who : lists variables in workspace
>> whos
Name Size Bytes Class
x 3x1 24 double array
y 3x2 48 double array
Grand total is 9 elements using 72 bytes
whos : lists names and basic properties of variables in the workspace
>> pwd
ans =
D:
>> cd cw96jun02
>> dir
. 30m_wtv.mat edson2km.mat jun02_30m_runs.mat
.. 960602_sst.mat edson_2km_bulk.mat
pwd, cd, dir, ls : similar to operating system (but no option switches)
VARIABLES
• Everything (almost) is treated as a double-
precision floating point array by default
– Typed variables (integer, float, char,…) are supported,
but usually used only for specific applications. Not all
operations are supported for all typed variables.
– [IDL uses typed variables, but allows mixing of
types...at least to some extent]
>> x=[1 2 3]
x =
1 2 3
>> x=[1,2,3]
x =
1 2 3
>> x=[1
2
3
4];
>> x=[1;2;3;4]
x =
1
2
3
4
When defining variables, a space or
comma separates elements on a
row.
A newline or semicolon forces a
new row; these 2 statements are
equivalent.
NB. you can break definitions across
multiple lines.
• 1 & 2D arrays are treated as formal matrices
– Matrix algebra works by default:
>> a=[1 2];
>> b=[3
4];
>> a*b
ans =
11
>> b*a
ans =
3 6
4 8
1x2 row oriented array (vector)
(Trailing semicolon suppresses display of output)
2x1 column oriented array
Result of matrix multiplication depends on
order of terms (non-cummutative)
• Element-by-element operation is forced by
preceding operator with ‘.’
>> a=[1 2];
>> b=[3
4];
>> a.*b
??? Error using ==> times
Matrix dimensions must agree. Size and shape must match
>> a=[1 2]
A =
1 2
>> b=[3 4];
>> a.*b
ans =
3 8
>> c=a+b
c =
4 6
Matrix addition & subtraction
operate element-by-element
anyway. Dimensions of
matrix must still match!
No trailing semicolon,
immediate display of result
Element-by-element
multiplication
>> A = [1:3;4:6;7:9]
A =
1 2 3
4 5 6
7 8 9
>> mean(A)
ans =
4 5 6
>> sum(A)
ans =
12 15 18
Most common functions operate on
columns by default
INDEXING ARRAYS
• MATLAB indexes arrays:
– 1 to N
– [row,column]
[1,1 1,2 . 1,n
2,1 2,2 . 2,n
3,1 3,2 . 3,n
. . .
m,1 m,2 . m,n]
• IDL indexes arrays:
– 0 to N-1
– [column,row]
[0,0 1,0 . n-1,0
0,1 1,1 . n-1,1
0,2 1,2 . n-1,2
. . . .
0,m-1 1,m-1 . n-1,m-1]
n
m
>> A = [1:3;4:6;7:9]
A =
1 2 3
4 5 6
7 8 9
>> A(2,3)
ans =
6
>> A(1:3,2)
ans =
2
5
8
>> A(2,:)
ans =
4 5 6
The colon indicates a range, a:b (a to b)
A colon on its own indicates ALL values
THE COLON OPERATOR
• Colon operator occurs in several forms
– To indicate a range (as above)
– To indicate a range with non-unit increment
>> N = 5:10:35
N =
5 15 25 35
>> P = [1:3; 30:-10:10]
P =
1 2 3
30 20 10
• To extract ALL the elements of an array (extracts
everything to a single column vector)
>> A = [1:3; 10:10:30;
100:100:300]
A =
1 2 3
10 20 30
100 200 300
>> A(:)
ans =
1
10
100
2
20
200
3
30
300
LOGICAL INDEXING
• Instead of indexing arrays directly, a logical
mask can be used – an array of same size, but
consisting of 1s and 0s – usually derived as
result of a logical expression.
>> X = [1:10]
X =
1 2 3 4 5 6 7 8 9 10
>> ii = X>6
ii =
0 0 0 0 0 0 1 1 1 1
>> X(ii)
ans =
7 8 9 10
Basic Operators
+, -, *, / : basic numeric operators
 : left division (matrix division)
^ : raise to power
’ : transpose (of matrix) – flip along diagonal
• fliplr(), flipud() : flip matrix about
vertical and horizontal axes.
SAVING DATA
• MATLAB uses its own platform independent file format
for saving data – files have a .mat extension
– The ‘save’ command saves variables from the
workspace to a named file (or matlab.mat if no
filename given)
• save filename – saves entire workspace to filename.mat
• save var1 var2 … filename – saves named variables
to filename.mat
– By default save overwrites an existing file of the same
name, the –append switch forces appending data to
an existing file (but variables of same name will be
overwritten!)
• save var1 var2 filename -append
– Data is recovered with the ‘load’ command
• load filename – loads entire .mat file
• load filename var1 var2 …– loads named variables
• load filename –ascii – loads contents of an ascii
flatfile in a variable ‘filename’.
The ascii file must contain a rectangular array of numbers so
that it loads into a single matrix.
• X=load(‘filename’,’-ascii’) – loads the ascii file into
a variable ‘X’
• save var1 filename –ascii – saves a single variable
to an ascii flat file (rectangular array of numbers)
• There have been changes to the internal format of .mat files
between MATLAB v4 and v5 (major changes to allow arrays
with more than 2 dimensions, structures, cell arrays…), and
again with v7 (minor change to use unicode instead of ascii).
Later versions will load old format files. You can force save to
an old file format with –v4 and –v6 switches
save filename –v6

More Related Content

PDF
A complete introduction on matlab and matlab's projects
PPT
Matlab introduction
PPTX
Mat lab workshop
DOC
Lesson 2
PPT
Introduction to MATLAB
PDF
Matlab solved problems
PPTX
What is matlab
PPT
Scala collection
A complete introduction on matlab and matlab's projects
Matlab introduction
Mat lab workshop
Lesson 2
Introduction to MATLAB
Matlab solved problems
What is matlab
Scala collection

What's hot (20)

PDF
Data transformation-cheatsheet
PDF
Aaa ped-5-Data manipulation: Pandas
PDF
MATLAB for Technical Computing
PPTX
PDF
Data import-cheatsheet
PDF
Scala collections
PPTX
ADVANCE ITT BY PRASAD
PDF
8 python data structure-1
PDF
R training3
PDF
Pandas Cheat Sheet
PDF
Introduction to R programming
PDF
Stata Cheat Sheets (all)
PDF
محاضرة برنامج التحليل الكمي R program د.هديل القفيدي
PPTX
Pandas csv
PPTX
Standard Template Library
PDF
LectureNotes-05-DSA
PPTX
R Get Started I
ODP
Data structures in scala
PPTX
Data Structures - Lecture 3 [Arrays]
PPT
Arrays
Data transformation-cheatsheet
Aaa ped-5-Data manipulation: Pandas
MATLAB for Technical Computing
Data import-cheatsheet
Scala collections
ADVANCE ITT BY PRASAD
8 python data structure-1
R training3
Pandas Cheat Sheet
Introduction to R programming
Stata Cheat Sheets (all)
محاضرة برنامج التحليل الكمي R program د.هديل القفيدي
Pandas csv
Standard Template Library
LectureNotes-05-DSA
R Get Started I
Data structures in scala
Data Structures - Lecture 3 [Arrays]
Arrays
Ad

Similar to Matlab basics (20)

PPT
Matlab practical and lab session
PPT
Matlab Tutorial.ppt
PPT
Brief Introduction to Matlab
PPT
MatlabIntro1234.ppt.....................
PPT
MatlabIntro (1).ppt
PPT
MatlabIntro.ppt
PPT
MatlabIntro.ppt
PPT
MatlabIntro.ppt
PPT
Matlab intro
PPT
MatlabIntro.ppt
PPT
WIDI FREAK MANUSIA SETENGAH EDIOTDAN LEMBOT
PPT
Matlab Introduction for beginners_i .ppt
PPT
Matlab_Introduction_by_Michael_Medvinsky.ppt
PPT
MatlabIntroduction presentation xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PPT
WIDI ediot autis dongok part 2.ediot lu lembot lu
PPT
WIDI ediot autis dongok part 3.EDIOT LU LEMBOT LY
PDF
MATLAB Programming
PPT
matlab_tutorial.ppt
PPT
matlab_tutorial.ppt
PPT
matlab_tutorial.ppt
Matlab practical and lab session
Matlab Tutorial.ppt
Brief Introduction to Matlab
MatlabIntro1234.ppt.....................
MatlabIntro (1).ppt
MatlabIntro.ppt
MatlabIntro.ppt
MatlabIntro.ppt
Matlab intro
MatlabIntro.ppt
WIDI FREAK MANUSIA SETENGAH EDIOTDAN LEMBOT
Matlab Introduction for beginners_i .ppt
Matlab_Introduction_by_Michael_Medvinsky.ppt
MatlabIntroduction presentation xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
WIDI ediot autis dongok part 2.ediot lu lembot lu
WIDI ediot autis dongok part 3.EDIOT LU LEMBOT LY
MATLAB Programming
matlab_tutorial.ppt
matlab_tutorial.ppt
matlab_tutorial.ppt
Ad

Recently uploaded (20)

DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
DOCX
573137875-Attendance-Management-System-original
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PDF
Well-logging-methods_new................
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
Internet of Things (IOT) - A guide to understanding
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
bas. eng. economics group 4 presentation 1.pptx
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
Welding lecture in detail for understanding
PPTX
web development for engineering and engineering
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
UNIT-1 - COAL BASED THERMAL POWER PLANTS
Arduino robotics embedded978-1-4302-3184-4.pdf
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
573137875-Attendance-Management-System-original
Model Code of Practice - Construction Work - 21102022 .pdf
Well-logging-methods_new................
OOP with Java - Java Introduction (Basics)
Internet of Things (IOT) - A guide to understanding
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Foundation to blockchain - A guide to Blockchain Tech
bas. eng. economics group 4 presentation 1.pptx
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Welding lecture in detail for understanding
web development for engineering and engineering

Matlab basics

  • 3. Getting help There are several ways of getting help: Basic help on named commands/functions is echoed to the command window by: >> help command-name A complete help system containing full text of manuals is started by: >> helpdesk
  • 4. System Environment • Windows – MATLAB installed in c:matlab6.5 – Your code…anywhere convenient (e.g. h:matlab) • Linux (Environment network) – MATLAB installed in /apps/matlab – Your code in /home/username/matlab – Your environment configuration in ~/.matlab
  • 5. startup.m • The script $matlab_roottoolboxlocalmatlabrc.m is always run at startup – it reads system environment variables etc, and initialises platform dependent settings. If present it will run a user defined initialisation script: startup.m – Linux: /home/user/matlab/startup.m – Windows: $matlab_roottoolboxlocalstartup.m • Use startup.m for setting paths, forcing preferred settings, etc.
  • 6. %------------------------------------- % Matlab startup file for IMB's laptop %------------------------------------- %-- add paths for my m-files -- addpath d:/matlab addpath d:/matlab/bulk2.5 addpath d:/matlab/bulk2.6 addpath d:/matlab/coastal addpath d:/matlab/lidar addpath d:/matlab/ndbc addpath d:/matlab/page addpath d:/matlab/sections addpath d:/matlab/sharem addpath d:/matlab/wavelet addpath d:/matlab/LEM addpath d:/matlab/GPSbook addpath d:/matlab/FAAM addpath d:/matlab/FAAM/winds addpath d:/matlab/faam/bae %-- add netCDF toolbox -- addpath c:/matlab701/bin addpath c:/matlab701/bin/win32 addpath d:/matlab/netcdf addpath d:/matlab/netcdf/ncfiles addpath d:/matlab/netcdf/nctype addpath d:/matlab/netcdf/ncutility %-- add path for generic data -- addpath d:/matlab/coastlines % coastline data addpath d:/cw96/flight_data/jun02 % raw cw96 addpath d:/cw96/flight_data/jun07 % aircraft data addpath d:/cw96/flight_data/jun11 addpath d:/cw96/flight_data/jun12 addpath d:/cw96/flight_data/jun17 addpath d:/cw96/flight_data/jun19 addpath d:/cw96/flight_data/jun21 addpath d:/cw96/flight_data/jun23 addpath d:/cw96/flight_data/jun26 addpath d:/cw96/flight_data/jun29 addpath d:/cw96/flight_data/jul01 addpath d:/cw96/runs % run definitions for cw96 flights %---------------------------------------------------------------------- %-- set default figure options -- set(0,'DefaultFigurePaperType','a4') % this should be the default in EU anyway set(0,'DefaultFigurePaperUnits','inches') % v6 defaults to cm for EU countries set(0,'DefaultFigureRenderer','painters') % v7 default OpenGL causes problems Example startup.m file (for my laptop)
  • 7. • addpath – adds directories to the search path. MATLAB will look in ALL directories on the path for: – Functions and scripts (.m files) – MATLAB data files (.mat files) • It will also look in the current directory • The ‘set’ commands in the example startup.m file set some default graphics properties, overriding the defaults – will cover these later.
  • 8. The WORKSPACE • MATLAB maintains an active workspace, any variables (data) loaded or defined here are always available. • Some commands to examine workspace, move around, etc: >> who Your variables are: x y who : lists variables in workspace
  • 9. >> whos Name Size Bytes Class x 3x1 24 double array y 3x2 48 double array Grand total is 9 elements using 72 bytes whos : lists names and basic properties of variables in the workspace >> pwd ans = D: >> cd cw96jun02 >> dir . 30m_wtv.mat edson2km.mat jun02_30m_runs.mat .. 960602_sst.mat edson_2km_bulk.mat pwd, cd, dir, ls : similar to operating system (but no option switches)
  • 10. VARIABLES • Everything (almost) is treated as a double- precision floating point array by default – Typed variables (integer, float, char,…) are supported, but usually used only for specific applications. Not all operations are supported for all typed variables. – [IDL uses typed variables, but allows mixing of types...at least to some extent]
  • 11. >> x=[1 2 3] x = 1 2 3 >> x=[1,2,3] x = 1 2 3 >> x=[1 2 3 4]; >> x=[1;2;3;4] x = 1 2 3 4 When defining variables, a space or comma separates elements on a row. A newline or semicolon forces a new row; these 2 statements are equivalent. NB. you can break definitions across multiple lines.
  • 12. • 1 & 2D arrays are treated as formal matrices – Matrix algebra works by default: >> a=[1 2]; >> b=[3 4]; >> a*b ans = 11 >> b*a ans = 3 6 4 8 1x2 row oriented array (vector) (Trailing semicolon suppresses display of output) 2x1 column oriented array Result of matrix multiplication depends on order of terms (non-cummutative)
  • 13. • Element-by-element operation is forced by preceding operator with ‘.’ >> a=[1 2]; >> b=[3 4]; >> a.*b ??? Error using ==> times Matrix dimensions must agree. Size and shape must match
  • 14. >> a=[1 2] A = 1 2 >> b=[3 4]; >> a.*b ans = 3 8 >> c=a+b c = 4 6 Matrix addition & subtraction operate element-by-element anyway. Dimensions of matrix must still match! No trailing semicolon, immediate display of result Element-by-element multiplication
  • 15. >> A = [1:3;4:6;7:9] A = 1 2 3 4 5 6 7 8 9 >> mean(A) ans = 4 5 6 >> sum(A) ans = 12 15 18 Most common functions operate on columns by default
  • 16. INDEXING ARRAYS • MATLAB indexes arrays: – 1 to N – [row,column] [1,1 1,2 . 1,n 2,1 2,2 . 2,n 3,1 3,2 . 3,n . . . m,1 m,2 . m,n] • IDL indexes arrays: – 0 to N-1 – [column,row] [0,0 1,0 . n-1,0 0,1 1,1 . n-1,1 0,2 1,2 . n-1,2 . . . . 0,m-1 1,m-1 . n-1,m-1] n m
  • 17. >> A = [1:3;4:6;7:9] A = 1 2 3 4 5 6 7 8 9 >> A(2,3) ans = 6 >> A(1:3,2) ans = 2 5 8 >> A(2,:) ans = 4 5 6 The colon indicates a range, a:b (a to b) A colon on its own indicates ALL values
  • 18. THE COLON OPERATOR • Colon operator occurs in several forms – To indicate a range (as above) – To indicate a range with non-unit increment >> N = 5:10:35 N = 5 15 25 35 >> P = [1:3; 30:-10:10] P = 1 2 3 30 20 10
  • 19. • To extract ALL the elements of an array (extracts everything to a single column vector) >> A = [1:3; 10:10:30; 100:100:300] A = 1 2 3 10 20 30 100 200 300 >> A(:) ans = 1 10 100 2 20 200 3 30 300
  • 20. LOGICAL INDEXING • Instead of indexing arrays directly, a logical mask can be used – an array of same size, but consisting of 1s and 0s – usually derived as result of a logical expression. >> X = [1:10] X = 1 2 3 4 5 6 7 8 9 10 >> ii = X>6 ii = 0 0 0 0 0 0 1 1 1 1 >> X(ii) ans = 7 8 9 10
  • 21. Basic Operators +, -, *, / : basic numeric operators : left division (matrix division) ^ : raise to power ’ : transpose (of matrix) – flip along diagonal • fliplr(), flipud() : flip matrix about vertical and horizontal axes.
  • 22. SAVING DATA • MATLAB uses its own platform independent file format for saving data – files have a .mat extension – The ‘save’ command saves variables from the workspace to a named file (or matlab.mat if no filename given) • save filename – saves entire workspace to filename.mat • save var1 var2 … filename – saves named variables to filename.mat – By default save overwrites an existing file of the same name, the –append switch forces appending data to an existing file (but variables of same name will be overwritten!) • save var1 var2 filename -append
  • 23. – Data is recovered with the ‘load’ command • load filename – loads entire .mat file • load filename var1 var2 …– loads named variables • load filename –ascii – loads contents of an ascii flatfile in a variable ‘filename’. The ascii file must contain a rectangular array of numbers so that it loads into a single matrix. • X=load(‘filename’,’-ascii’) – loads the ascii file into a variable ‘X’ • save var1 filename –ascii – saves a single variable to an ascii flat file (rectangular array of numbers)
  • 24. • There have been changes to the internal format of .mat files between MATLAB v4 and v5 (major changes to allow arrays with more than 2 dimensions, structures, cell arrays…), and again with v7 (minor change to use unicode instead of ascii). Later versions will load old format files. You can force save to an old file format with –v4 and –v6 switches save filename –v6