SlideShare a Scribd company logo
Introduction to Matlab
Introduction to Computing
by
Engr. Mohammad Haroon Yousaf
Topics
• Introduction
• MATLAB Environment
• Getting Help
• Variables
• Vectors, Matrices, and Linear Algebra
• Plotting
• Built in Functions
• Selection Programming
• M-Files
• User Defined Functions
• Specific Topics
Introduction
 What is MATLAB ?
• MATLAB is a computer program that combines computation and
visualization power that makes it particularly useful tool for engineers.
• MATLAB is an executive program, and a script can be made with a list
of MATLAB commands like other programming language.
 MATLAB Stands for MATrix LABoratory.
• The system was designed to make matrix computation particularly easy.
 The MATLAB environment allows the user to:
• manage variables
• import and export data
• perform calculations
• generate plots
• develop and manage files for use with MATLAB.
To start MATLAB:
START  PROGRAMS 
MATLAB 7.0  MATLAB
7.0
MATLAB
Environment
Display Windows
Display Windows (con’t…)
• Graphic (Figure) Window
– Displays plots and graphs
– Created in response to graphics commands.
• M-file editor/debugger window
– Create and edit scripts of commands called M-files.
Getting Help
• type one of following commands in the command window:
– help – lists all the help topic
– help topic – provides help for the specified topic
– help command – provides help for the specified command
• help help – provides information on use of the help command
– helpwin – opens a separate help window for navigation
– lookfor keyword – Search all M-files for keyword
Getting Help (con’t…)
• Google “MATLAB helpdesk”
• Go to the online HelpDesk provided by
www.mathworks.com
You can find EVERYTHING you
need to know about MATLAB
from the online HelpDesk.
Variables
• Variable names:
– Must start with a letter
– May contain only letters, digits, and the underscore “_”
– Matlab is case sensitive, i.e. one & OnE are different variables.
– Matlab only recognizes the first 31 characters in a variable name.
• Assignment statement:
– Variable = number;
– Variable = expression;
• Example:
>> tutorial = 1234;
>> tutorial = 1234
tutorial =
1234
NOTE: when a semi-colon
”;” is placed at the end of
each command, the result
is not displayed.
Variables (con’t…)
• Special variables:
– ans : default variable name for the result
– pi:  = 3.1415926…………
– eps:  = 2.2204e-016, smallest amount by which 2 numbers can differ.
– Inf or inf : , infinity
– NaN or nan: not-a-number
• Commands involving variables:
– who: lists the names of defined variables
– whos: lists the names and sizes of defined variables
– clear: clears all varialbes, reset the default values of special
variables.
– clear name: clears the variable name
– clc: clears the command window
– clf: clears the current figure and the graph window.
Vectors, Matrices and Linear Algebra
• Vectors
• Array Operations
• Matrices
• Solutions to Systems of Linear Equations.
MATLAB BASICS
Variables and Arrays
• Array: A collection of data values organized into rows
and columns, and known by a single name.
Row 1
Row 2
Row 3
Row 4
Col 1 Col 2 Col 3 Col 4 Col 5
arr(3,2)
MATLAB BASICS
Arrays
• The fundamental unit of data in MATLAB
• Scalars are also treated as arrays by MATLAB (1
row and 1 column).
• Row and column indices of an array start from 1.
• Arrays can be classified as vectors and
matrices.
MATLAB BASICS
• Vector: Array with one dimension
• Matrix: Array with more than one dimension
• Size of an array is specified by the number of rows
and the number of columns, with the number of
rows mentioned first (For example: n x m array).
Total number of elements in an array is the
product of the number of rows and the number of
columns.
MATLAB BASICS
1 2
3 4
5 6
a= 3x2 matrix  6 elements
b=[1 2 3 4] 1x4 array  4 elements, row vector
c=
1
3
5
3x1 array  3 elements, column vector
a(2,1)=3 b(3)=3 c(2)=3
Row # Column #
Vectors
• A row vector in MATLAB can be created by an explicit list, starting with a left bracket, entering
the values separated by spaces (or commas) and closing the vector with a right bracket.
• A column vector can be created the same way, and the rows are separated by semicolons.
• Example:
>> x = [ 0 0.25*pi 0.5*pi 0.75*pi pi ]
x =
0 0.7854 1.5708 2.3562 3.1416
>> y = [ 0; 0.25*pi; 0.5*pi; 0.75*pi; pi ]
y =
0
0.7854
1.5708
2.3562
3.1416
x is a row vector.
y is a column vector.
Vectors (con’t…)
• Vector Addressing – A vector element is addressed in MATLAB with an integer index
enclosed in parentheses.
• Example:
>> x(3)
ans =
1.5708
 1st to 3rd elements of vector x
• The colon notation may be used to address a block of elements.
(start : increment : end)
start is the starting index, increment is the amount to add to each successive index, and end is the
ending index. A shortened format (start : end) may be used if increment is 1.
• Example:
>> x(1:3)
ans =
0 0.7854 1.5708
NOTE: MATLAB index starts at 1.
 3rd element of vector x
Vectors (con’t…)
Some useful commands:
x = start:end create row vector x starting with start, counting by one,
ending at end
x = start:increment:end create row vector x starting with start, counting by
increment, ending at or before end
length(x) returns the length of vector x
y = x’ transpose of vector x
dot (x, y) returns the scalar dot product of the vector x and y.
Array Operations
• Scalar-Array Mathematics
For addition, subtraction, multiplication, and division of an array by a
scalar simply apply the operations to all elements of the array.
• Example:
>> f = [ 1 2; 3 4]
f =
1 2
3 4
>> g = 2*f – 1
g =
1 3
5 7
Each element in the array f is
multiplied by 2, then subtracted
by 1.
Array Operations (con’t…)
• Element-by-Element Array-Array Mathematics.
Operation Algebraic Form MATLAB
Addition a + b a + b
Subtraction a – b a – b
Multiplication a x b a .* b
Division a  b a ./ b
Exponentiation ab a .^ b
• Example:
>> x = [ 1 2 3 ];
>> y = [ 4 5 6 ];
>> z = x .* y
z =
4 10 18
Each element in x is multiplied by
the corresponding element in y.
Matrices
A is an m x n matrix.
 A Matrix array is two-dimensional, having both multiple rows and multiple columns,
similar to vector arrays:
 it begins with [, and end with ]
 spaces or commas are used to separate elements in a row
 semicolon or enter is used to separate rows.
•Example:
>> f = [ 1 2 3; 4 5 6]
f =
1 2 3
4 5 6
>> h = [ 2 4 6
1 3 5]
h =
2 4 6
1 3 5
the main diagonal
Matrices (con’t…)
• Matrix Addressing:
-- matrixname(row, column)
-- colon may be used in place of a row or column reference to select the
entire row or column.
recall:
f =
1 2 3
4 5 6
h =
2 4 6
1 3 5
 Example:
>> f(2,3)
ans =
6
>> h(:,1)
ans =
2
1
Matrices (con’t…)
Some useful commands:
zeros(n)
zeros(m,n)
ones(n)
ones(m,n)
size (A)
length(A)
returns a n x n matrix of zeros
returns a m x n matrix of zeros
returns a n x n matrix of ones
returns a m x n matrix of ones
for a m x n matrix A, returns the row vector [m,n]
containing the number of rows and columns in
matrix.
returns the larger of the number of rows or
columns in A.
Matrices (con’t…)
Transpose B = A’
Identity Matrix eye(n)  returns an n x n identity matrix
eye(m,n)  returns an m x n matrix with ones on the main
diagonal and zeros elsewhere.
Addition and subtraction C = A + B
C = A – B
Scalar Multiplication B = A, where  is a scalar.
Matrix Multiplication C = A*B
Matrix Inverse B = inv(A), A must be a square matrix in this case.
rank (A)  returns the rank of the matrix A.
Matrix Powers B = A.^2  squares each element in the matrix
C = A * A  computes A*A, and A must be a square matrix.
Determinant det (A), and A must be a square matrix.
more commands
A, B, C are matrices, and m, n,  are scalars.
Solutions to Systems of Linear Equations
• Example: a system of 3 linear equations with 3 unknowns (x1, x2, x3):
3x1 + 2x2 – x3 = 10
-x1 + 3x2 + 2x3 = 5
x1 – x2 – x3 = -1
Then, the system can be described as:
Ax = b














1
1
1
2
3
1
1
2
3
A











3
2
1
x
x
x
x












1
5
10
b
Let :
Solutions to Systems of Linear Equations (con’t…)
• Solution by Matrix Inverse:
Ax = b
A-1Ax = A-1b
x = A-1b
• MATLAB:
>> A = [ 3 2 -1; -1 3 2; 1 -1 -1];
>> b = [ 10; 5; -1];
>> x = inv(A)*b
x =
-2.0000
5.0000
-6.0000
Answer:
x1 = -2, x2 = 5, x3 = -6
• Solution by Matrix Division:
The solution to the equation
Ax = b
can be computed using left division.
Answer:
x1 = -2, x2 = 5, x3 = -6
NOTE:
left division: Ab  b  A right division: x/y  x  y
 MATLAB:
>> A = [ 3 2 -1; -1 3 2; 1 -1 -1];
>> b = [ 10; 5; -1];
>> x = Ab
x =
-2.0000
5.0000
-6.0000
• The input function displays a prompt string in the
Command Window and then waits for the user to
respond.
my_val = input( ‘Enter an input value: ’ );
in1 = input( ‘Enter data: ’ );
in2 = input( ‘Enter data: ’ ,`s`);
Initializing with Keyboard Input
How to display data
The disp( ) function
>> disp( 'Hello' )
Hello
>> disp(5)
5
>> disp( [ 'Bilkent ' 'University' ] )
Bilkent University
>> name = 'Alper';
>> disp( [ 'Hello ' name ] )
Hello Alper
Plotting
• For more information on 2-D plotting, type help graph2d
• Plotting a point:
>> plot ( variablename, ‘symbol’)
the function plot () creates a
graphics window, called a Figure
window, and named by default
“Figure No. 1”
 Example : Complex number
>> z = 1 + 0.5j;
>> plot (z, ‘.’)
Plotting (con’t…)
Built-in MATLAB Functions
result = function_name( input );
– abs, sign
– log, log10, log2
– exp
– sqrt
– sin, cos, tan
– asin, acos, atan
– max, min
– round, floor, ceil, fix
– mod, rem
• help elfun  help for elementary math functions
Selection Programming
• Flow Control
• Loops
Flow Control
• Simple if statement:
if logical expression
commands
end
• Example: (Nested)
if d <50
count = count + 1;
disp(d);
if b>d
b=0;
end
end
• Example: (else and elseif clauses)
if temperature > 100
disp (‘Too hot – equipment malfunctioning.’)
elseif temperature > 90
disp (‘Normal operating range.’);
elseif (‘Below desired operating range.’)
else
disp (‘Too cold – turn off equipment.’)
end
Flow Control (con’t…)
• The switch statement:
switch expression
case test expression 1
commands
case test expression 2
commands
otherwise
commands
end
• Example:
switch interval < 1
case 1
xinc = interval /10;
case 0
xinc = 0.1;
end
Loops
• for loop
for variable = expression
commands
end
• while loop
while expression
commands
end
•Example (for loop):
for t = 1:5000
y(t) = sin (2*pi*t/10);
end
•Example (while loop):
EPS = 1;
while ( 1+EPS) >1
EPS = EPS/2;
end
EPS = 2*EPS
 the break statement
break – is used to terminate the execution of the loop.
M-Files
• The M-file is a text file that consists a group of
MATLAB commands.
• MATLAB can open and execute the commands
exactly as if they were entered at the MATLAB
command window.
• To run the M-files, just type the file name in the
command window. (make sure the current working
directory is set correctly)
All MATLAB commands are M-files.
So far, we have executed the commands in the command window.
But a more practical way is to create a M-file.
User-Defined Function
• Add the following command in the beginning of your m-file:
function [output variables] = function_name (input variables);
NOTE: the function_name should
be the same as your file name to
avoid confusion.
 calling your function:
-- a user-defined function is called by the name of the m-file, not
the name given in the function definition.
-- type in the m-file name like other pre-defined commands.
 Comments:
-- The first few lines should be comments, as they will be
displayed if help is requested for the function name. the first
comment line is reference by the lookfor command.
Specific Topics
• This tutorial gives you a general background on the
usage of MATLAB.
• There are thousands of MATLAB commands for
many different applications, therefore it is
impossible to cover all topics here.
• For a specific topic relating to a class, you should
consult the TA or the Instructor.
Questions?
Topics
• Introduction
• MATLAB Environment
• Getting Help
• Variables
• Vectors, Matrices, and Linear Algebra
• Mathematical Functions and Applications
• Plotting
• Selection Programming
• M-Files
• User Defined Functions
• Specific Topics

More Related Content

PPTX
Double Integrals
kishor pokar
 
PPTX
Tree - Data Structure
Ashim Lamichhane
 
PPT
Relational algebra in dbms
shekhar1991
 
PPTX
Linear Algebra and Matlab tutorial
Jia-Bin Huang
 
PPTX
2D Transformation
ShahDhruv21
 
PPT
Properties of cfg
lavishka_anuj
 
PPT
1.1 binary tree
Krish_ver2
 
PPT
17. Trees and Graphs
Intro C# Book
 
Double Integrals
kishor pokar
 
Tree - Data Structure
Ashim Lamichhane
 
Relational algebra in dbms
shekhar1991
 
Linear Algebra and Matlab tutorial
Jia-Bin Huang
 
2D Transformation
ShahDhruv21
 
Properties of cfg
lavishka_anuj
 
1.1 binary tree
Krish_ver2
 
17. Trees and Graphs
Intro C# Book
 

What's hot (20)

PPT
systems of linear equations & matrices
Student
 
PPTX
discrete wavelet transform
piyush_11
 
PPTX
Gauss jordan
jorgeduardooo
 
PPTX
Doubly Linked List
Ninad Mankar
 
PPTX
Linear transformation and application
shreyansp
 
PPTX
sorting and its types
SIVASHANKARIRAJAN
 
PDF
Functions in discrete mathematics
Rachana Pathak
 
PDF
Relation Hasse diagram
Rachana Pathak
 
PPTX
Data structure - Graph
Madhu Bala
 
PPTX
Aliasing & anti aliasing Slide
Ashek Shanto
 
PPT
03.Scan Conversion.ppt
RobinAhmedSaikat
 
PPT
Divide and Conquer
Dr Shashikant Athawale
 
DOCX
Bisection method
uis
 
PPT
DESIGN AND ANALYSIS OF ALGORITHMS
Gayathri Gaayu
 
PPTX
Line Drawing Algorithms - Computer Graphics - Notes
Omprakash Chauhan
 
PPTX
Diagonalization of Matrices
AmenahGondal1
 
PPT
Merge sort
Vidushi Pathak
 
PPTX
Regular expressions
Ratnakar Mikkili
 
systems of linear equations & matrices
Student
 
discrete wavelet transform
piyush_11
 
Gauss jordan
jorgeduardooo
 
Doubly Linked List
Ninad Mankar
 
Linear transformation and application
shreyansp
 
sorting and its types
SIVASHANKARIRAJAN
 
Functions in discrete mathematics
Rachana Pathak
 
Relation Hasse diagram
Rachana Pathak
 
Data structure - Graph
Madhu Bala
 
Aliasing & anti aliasing Slide
Ashek Shanto
 
03.Scan Conversion.ppt
RobinAhmedSaikat
 
Divide and Conquer
Dr Shashikant Athawale
 
Bisection method
uis
 
DESIGN AND ANALYSIS OF ALGORITHMS
Gayathri Gaayu
 
Line Drawing Algorithms - Computer Graphics - Notes
Omprakash Chauhan
 
Diagonalization of Matrices
AmenahGondal1
 
Merge sort
Vidushi Pathak
 
Regular expressions
Ratnakar Mikkili
 
Ad

Similar to Introduction to Matlab - Basic Functions (20)

PPTX
1. Introduction to Computing - MATLAB.pptx
tgkfkj9n2k
 
PPTX
Introduction to MATLAB Programming for Engineers
archanb
 
PPT
matlab_tutorial.ppt
naveen_setty
 
PPT
matlab_tutorial.ppt
aboma2hawi
 
PPT
matlab_tutorial for student in the first
naghamsalimmohammed
 
PPT
Matlab introduction
Satish Gummadi
 
PDF
Basics of matlab
Anil Maurya
 
PPTX
MATLAB : Introduction , Features , Display Windows, Syntax, Operators, Graph...
Amity University, Patna
 
PPTX
An Introduction to MATLAB for beginners
Murshida ck
 
PPT
Matlab practical and lab session
Dr. Krishna Mohbey
 
PPT
MatlabIntro1234.ppt.....................
RajeshMadarkar
 
PDF
A complete introduction on matlab and matlab's projects
Mukesh Kumar
 
PDF
bobok
Adi Pandarangga
 
PPTX
1. Introduction.pptx
SungaleliYuen
 
PDF
Mat lab
Gizachew Kefelew
 
PPTX
From zero to MATLAB hero: Mastering the basics and beyond
MahuaPal6
 
PDF
Matlabch01
Mohammad Ayyash
 
PPTX
presentation.pptx
raghav415187
 
PPTX
INTRODUCTION TO MATLAB presentation.pptx
Devaraj Chilakala
 
PPT
MATLAB-Introd.ppt
kebeAman
 
1. Introduction to Computing - MATLAB.pptx
tgkfkj9n2k
 
Introduction to MATLAB Programming for Engineers
archanb
 
matlab_tutorial.ppt
naveen_setty
 
matlab_tutorial.ppt
aboma2hawi
 
matlab_tutorial for student in the first
naghamsalimmohammed
 
Matlab introduction
Satish Gummadi
 
Basics of matlab
Anil Maurya
 
MATLAB : Introduction , Features , Display Windows, Syntax, Operators, Graph...
Amity University, Patna
 
An Introduction to MATLAB for beginners
Murshida ck
 
Matlab practical and lab session
Dr. Krishna Mohbey
 
MatlabIntro1234.ppt.....................
RajeshMadarkar
 
A complete introduction on matlab and matlab's projects
Mukesh Kumar
 
1. Introduction.pptx
SungaleliYuen
 
From zero to MATLAB hero: Mastering the basics and beyond
MahuaPal6
 
Matlabch01
Mohammad Ayyash
 
presentation.pptx
raghav415187
 
INTRODUCTION TO MATLAB presentation.pptx
Devaraj Chilakala
 
MATLAB-Introd.ppt
kebeAman
 
Ad

Recently uploaded (20)

PPTX
Unit 5 BSP.pptxytrrftyyydfyujfttyczcgvcd
ghousebhasha2007
 
PPTX
IoT_Smart_Agriculture_Presentations.pptx
poojakumari696707
 
PDF
dse_final_merit_2025_26 gtgfffffcjjjuuyy
rushabhjain127
 
PPT
SCOPE_~1- technology of green house and poyhouse
bala464780
 
PPTX
Edge to Cloud Protocol HTTP WEBSOCKET MQTT-SN MQTT.pptx
dhanashri894551
 
PDF
Unit I Part II.pdf : Security Fundamentals
Dr. Madhuri Jawale
 
PPTX
Simulation of electric circuit laws using tinkercad.pptx
VidhyaH3
 
PPTX
Civil Engineering Practices_BY Sh.JP Mishra 23.09.pptx
bineetmishra1990
 
PDF
Chad Ayach - A Versatile Aerospace Professional
Chad Ayach
 
PPTX
Victory Precisions_Supplier Profile.pptx
victoryprecisions199
 
PDF
Traditional Exams vs Continuous Assessment in Boarding Schools.pdf
The Asian School
 
PPTX
MSME 4.0 Template idea hackathon pdf to understand
alaudeenaarish
 
PPT
Ppt for engineering students application on field effect
lakshmi.ec
 
PDF
Software Testing Tools - names and explanation
shruti533256
 
PPTX
Azure-DevOps-Training presentation downloadable
NamanGoyal428595
 
PDF
Introduction to Ship Engine Room Systems.pdf
Mahmoud Moghtaderi
 
PDF
Queuing formulas to evaluate throughputs and servers
gptshubham
 
PPTX
TE-AI-Unit VI notes using planning model
swatigaikwad6389
 
PPTX
Module2 Data Base Design- ER and NF.pptx
gomathisankariv2
 
PDF
Cryptography and Information :Security Fundamentals
Dr. Madhuri Jawale
 
Unit 5 BSP.pptxytrrftyyydfyujfttyczcgvcd
ghousebhasha2007
 
IoT_Smart_Agriculture_Presentations.pptx
poojakumari696707
 
dse_final_merit_2025_26 gtgfffffcjjjuuyy
rushabhjain127
 
SCOPE_~1- technology of green house and poyhouse
bala464780
 
Edge to Cloud Protocol HTTP WEBSOCKET MQTT-SN MQTT.pptx
dhanashri894551
 
Unit I Part II.pdf : Security Fundamentals
Dr. Madhuri Jawale
 
Simulation of electric circuit laws using tinkercad.pptx
VidhyaH3
 
Civil Engineering Practices_BY Sh.JP Mishra 23.09.pptx
bineetmishra1990
 
Chad Ayach - A Versatile Aerospace Professional
Chad Ayach
 
Victory Precisions_Supplier Profile.pptx
victoryprecisions199
 
Traditional Exams vs Continuous Assessment in Boarding Schools.pdf
The Asian School
 
MSME 4.0 Template idea hackathon pdf to understand
alaudeenaarish
 
Ppt for engineering students application on field effect
lakshmi.ec
 
Software Testing Tools - names and explanation
shruti533256
 
Azure-DevOps-Training presentation downloadable
NamanGoyal428595
 
Introduction to Ship Engine Room Systems.pdf
Mahmoud Moghtaderi
 
Queuing formulas to evaluate throughputs and servers
gptshubham
 
TE-AI-Unit VI notes using planning model
swatigaikwad6389
 
Module2 Data Base Design- ER and NF.pptx
gomathisankariv2
 
Cryptography and Information :Security Fundamentals
Dr. Madhuri Jawale
 

Introduction to Matlab - Basic Functions

  • 1. Introduction to Matlab Introduction to Computing by Engr. Mohammad Haroon Yousaf
  • 2. Topics • Introduction • MATLAB Environment • Getting Help • Variables • Vectors, Matrices, and Linear Algebra • Plotting • Built in Functions • Selection Programming • M-Files • User Defined Functions • Specific Topics
  • 3. Introduction  What is MATLAB ? • MATLAB is a computer program that combines computation and visualization power that makes it particularly useful tool for engineers. • MATLAB is an executive program, and a script can be made with a list of MATLAB commands like other programming language.  MATLAB Stands for MATrix LABoratory. • The system was designed to make matrix computation particularly easy.  The MATLAB environment allows the user to: • manage variables • import and export data • perform calculations • generate plots • develop and manage files for use with MATLAB.
  • 4. To start MATLAB: START  PROGRAMS  MATLAB 7.0  MATLAB 7.0 MATLAB Environment
  • 6. Display Windows (con’t…) • Graphic (Figure) Window – Displays plots and graphs – Created in response to graphics commands. • M-file editor/debugger window – Create and edit scripts of commands called M-files.
  • 7. Getting Help • type one of following commands in the command window: – help – lists all the help topic – help topic – provides help for the specified topic – help command – provides help for the specified command • help help – provides information on use of the help command – helpwin – opens a separate help window for navigation – lookfor keyword – Search all M-files for keyword
  • 8. Getting Help (con’t…) • Google “MATLAB helpdesk” • Go to the online HelpDesk provided by www.mathworks.com You can find EVERYTHING you need to know about MATLAB from the online HelpDesk.
  • 9. Variables • Variable names: – Must start with a letter – May contain only letters, digits, and the underscore “_” – Matlab is case sensitive, i.e. one & OnE are different variables. – Matlab only recognizes the first 31 characters in a variable name. • Assignment statement: – Variable = number; – Variable = expression; • Example: >> tutorial = 1234; >> tutorial = 1234 tutorial = 1234 NOTE: when a semi-colon ”;” is placed at the end of each command, the result is not displayed.
  • 10. Variables (con’t…) • Special variables: – ans : default variable name for the result – pi:  = 3.1415926………… – eps:  = 2.2204e-016, smallest amount by which 2 numbers can differ. – Inf or inf : , infinity – NaN or nan: not-a-number • Commands involving variables: – who: lists the names of defined variables – whos: lists the names and sizes of defined variables – clear: clears all varialbes, reset the default values of special variables. – clear name: clears the variable name – clc: clears the command window – clf: clears the current figure and the graph window.
  • 11. Vectors, Matrices and Linear Algebra • Vectors • Array Operations • Matrices • Solutions to Systems of Linear Equations.
  • 12. MATLAB BASICS Variables and Arrays • Array: A collection of data values organized into rows and columns, and known by a single name. Row 1 Row 2 Row 3 Row 4 Col 1 Col 2 Col 3 Col 4 Col 5 arr(3,2)
  • 13. MATLAB BASICS Arrays • The fundamental unit of data in MATLAB • Scalars are also treated as arrays by MATLAB (1 row and 1 column). • Row and column indices of an array start from 1. • Arrays can be classified as vectors and matrices.
  • 14. MATLAB BASICS • Vector: Array with one dimension • Matrix: Array with more than one dimension • Size of an array is specified by the number of rows and the number of columns, with the number of rows mentioned first (For example: n x m array). Total number of elements in an array is the product of the number of rows and the number of columns.
  • 15. MATLAB BASICS 1 2 3 4 5 6 a= 3x2 matrix  6 elements b=[1 2 3 4] 1x4 array  4 elements, row vector c= 1 3 5 3x1 array  3 elements, column vector a(2,1)=3 b(3)=3 c(2)=3 Row # Column #
  • 16. Vectors • A row vector in MATLAB can be created by an explicit list, starting with a left bracket, entering the values separated by spaces (or commas) and closing the vector with a right bracket. • A column vector can be created the same way, and the rows are separated by semicolons. • Example: >> x = [ 0 0.25*pi 0.5*pi 0.75*pi pi ] x = 0 0.7854 1.5708 2.3562 3.1416 >> y = [ 0; 0.25*pi; 0.5*pi; 0.75*pi; pi ] y = 0 0.7854 1.5708 2.3562 3.1416 x is a row vector. y is a column vector.
  • 17. Vectors (con’t…) • Vector Addressing – A vector element is addressed in MATLAB with an integer index enclosed in parentheses. • Example: >> x(3) ans = 1.5708  1st to 3rd elements of vector x • The colon notation may be used to address a block of elements. (start : increment : end) start is the starting index, increment is the amount to add to each successive index, and end is the ending index. A shortened format (start : end) may be used if increment is 1. • Example: >> x(1:3) ans = 0 0.7854 1.5708 NOTE: MATLAB index starts at 1.  3rd element of vector x
  • 18. Vectors (con’t…) Some useful commands: x = start:end create row vector x starting with start, counting by one, ending at end x = start:increment:end create row vector x starting with start, counting by increment, ending at or before end length(x) returns the length of vector x y = x’ transpose of vector x dot (x, y) returns the scalar dot product of the vector x and y.
  • 19. Array Operations • Scalar-Array Mathematics For addition, subtraction, multiplication, and division of an array by a scalar simply apply the operations to all elements of the array. • Example: >> f = [ 1 2; 3 4] f = 1 2 3 4 >> g = 2*f – 1 g = 1 3 5 7 Each element in the array f is multiplied by 2, then subtracted by 1.
  • 20. Array Operations (con’t…) • Element-by-Element Array-Array Mathematics. Operation Algebraic Form MATLAB Addition a + b a + b Subtraction a – b a – b Multiplication a x b a .* b Division a  b a ./ b Exponentiation ab a .^ b • Example: >> x = [ 1 2 3 ]; >> y = [ 4 5 6 ]; >> z = x .* y z = 4 10 18 Each element in x is multiplied by the corresponding element in y.
  • 21. Matrices A is an m x n matrix.  A Matrix array is two-dimensional, having both multiple rows and multiple columns, similar to vector arrays:  it begins with [, and end with ]  spaces or commas are used to separate elements in a row  semicolon or enter is used to separate rows. •Example: >> f = [ 1 2 3; 4 5 6] f = 1 2 3 4 5 6 >> h = [ 2 4 6 1 3 5] h = 2 4 6 1 3 5 the main diagonal
  • 22. Matrices (con’t…) • Matrix Addressing: -- matrixname(row, column) -- colon may be used in place of a row or column reference to select the entire row or column. recall: f = 1 2 3 4 5 6 h = 2 4 6 1 3 5  Example: >> f(2,3) ans = 6 >> h(:,1) ans = 2 1
  • 23. Matrices (con’t…) Some useful commands: zeros(n) zeros(m,n) ones(n) ones(m,n) size (A) length(A) returns a n x n matrix of zeros returns a m x n matrix of zeros returns a n x n matrix of ones returns a m x n matrix of ones for a m x n matrix A, returns the row vector [m,n] containing the number of rows and columns in matrix. returns the larger of the number of rows or columns in A.
  • 24. Matrices (con’t…) Transpose B = A’ Identity Matrix eye(n)  returns an n x n identity matrix eye(m,n)  returns an m x n matrix with ones on the main diagonal and zeros elsewhere. Addition and subtraction C = A + B C = A – B Scalar Multiplication B = A, where  is a scalar. Matrix Multiplication C = A*B Matrix Inverse B = inv(A), A must be a square matrix in this case. rank (A)  returns the rank of the matrix A. Matrix Powers B = A.^2  squares each element in the matrix C = A * A  computes A*A, and A must be a square matrix. Determinant det (A), and A must be a square matrix. more commands A, B, C are matrices, and m, n,  are scalars.
  • 25. Solutions to Systems of Linear Equations • Example: a system of 3 linear equations with 3 unknowns (x1, x2, x3): 3x1 + 2x2 – x3 = 10 -x1 + 3x2 + 2x3 = 5 x1 – x2 – x3 = -1 Then, the system can be described as: Ax = b               1 1 1 2 3 1 1 2 3 A            3 2 1 x x x x             1 5 10 b Let :
  • 26. Solutions to Systems of Linear Equations (con’t…) • Solution by Matrix Inverse: Ax = b A-1Ax = A-1b x = A-1b • MATLAB: >> A = [ 3 2 -1; -1 3 2; 1 -1 -1]; >> b = [ 10; 5; -1]; >> x = inv(A)*b x = -2.0000 5.0000 -6.0000 Answer: x1 = -2, x2 = 5, x3 = -6 • Solution by Matrix Division: The solution to the equation Ax = b can be computed using left division. Answer: x1 = -2, x2 = 5, x3 = -6 NOTE: left division: Ab  b  A right division: x/y  x  y  MATLAB: >> A = [ 3 2 -1; -1 3 2; 1 -1 -1]; >> b = [ 10; 5; -1]; >> x = Ab x = -2.0000 5.0000 -6.0000
  • 27. • The input function displays a prompt string in the Command Window and then waits for the user to respond. my_val = input( ‘Enter an input value: ’ ); in1 = input( ‘Enter data: ’ ); in2 = input( ‘Enter data: ’ ,`s`); Initializing with Keyboard Input
  • 28. How to display data The disp( ) function >> disp( 'Hello' ) Hello >> disp(5) 5 >> disp( [ 'Bilkent ' 'University' ] ) Bilkent University >> name = 'Alper'; >> disp( [ 'Hello ' name ] ) Hello Alper
  • 29. Plotting • For more information on 2-D plotting, type help graph2d • Plotting a point: >> plot ( variablename, ‘symbol’) the function plot () creates a graphics window, called a Figure window, and named by default “Figure No. 1”  Example : Complex number >> z = 1 + 0.5j; >> plot (z, ‘.’)
  • 31. Built-in MATLAB Functions result = function_name( input ); – abs, sign – log, log10, log2 – exp – sqrt – sin, cos, tan – asin, acos, atan – max, min – round, floor, ceil, fix – mod, rem • help elfun  help for elementary math functions
  • 32. Selection Programming • Flow Control • Loops
  • 33. Flow Control • Simple if statement: if logical expression commands end • Example: (Nested) if d <50 count = count + 1; disp(d); if b>d b=0; end end • Example: (else and elseif clauses) if temperature > 100 disp (‘Too hot – equipment malfunctioning.’) elseif temperature > 90 disp (‘Normal operating range.’); elseif (‘Below desired operating range.’) else disp (‘Too cold – turn off equipment.’) end
  • 34. Flow Control (con’t…) • The switch statement: switch expression case test expression 1 commands case test expression 2 commands otherwise commands end • Example: switch interval < 1 case 1 xinc = interval /10; case 0 xinc = 0.1; end
  • 35. Loops • for loop for variable = expression commands end • while loop while expression commands end •Example (for loop): for t = 1:5000 y(t) = sin (2*pi*t/10); end •Example (while loop): EPS = 1; while ( 1+EPS) >1 EPS = EPS/2; end EPS = 2*EPS  the break statement break – is used to terminate the execution of the loop.
  • 36. M-Files • The M-file is a text file that consists a group of MATLAB commands. • MATLAB can open and execute the commands exactly as if they were entered at the MATLAB command window. • To run the M-files, just type the file name in the command window. (make sure the current working directory is set correctly) All MATLAB commands are M-files. So far, we have executed the commands in the command window. But a more practical way is to create a M-file.
  • 37. User-Defined Function • Add the following command in the beginning of your m-file: function [output variables] = function_name (input variables); NOTE: the function_name should be the same as your file name to avoid confusion.  calling your function: -- a user-defined function is called by the name of the m-file, not the name given in the function definition. -- type in the m-file name like other pre-defined commands.  Comments: -- The first few lines should be comments, as they will be displayed if help is requested for the function name. the first comment line is reference by the lookfor command.
  • 38. Specific Topics • This tutorial gives you a general background on the usage of MATLAB. • There are thousands of MATLAB commands for many different applications, therefore it is impossible to cover all topics here. • For a specific topic relating to a class, you should consult the TA or the Instructor.
  • 40. Topics • Introduction • MATLAB Environment • Getting Help • Variables • Vectors, Matrices, and Linear Algebra • Mathematical Functions and Applications • Plotting • Selection Programming • M-Files • User Defined Functions • Specific Topics