Upload
krishnaakshatanil
View
182
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
By ANIL MAURYAELECTRICAL & ELECTRONICS ENGINEER
1
Topics�Introduction�MATLAB Environment�Getting Help�Variables�Vectors, Matrices, and Linear Algebra�Mathematical Functions and Applications�Plotting�Plotting�Selection Programming�M-Files�User Defined Functions�Applications�Specific topics
2ANIL MAURYA Electrical & Electronics Engineer
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.
3
�� MATLAB Stands for MATLAB Stands for MATMATrixrix LABLABoratoryoratory..
•• The system was designed to make matrix computation particularly The system was designed to make matrix computation particularly easy.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.
ANIL MAURYA Electrical & Electronics Engineer
MATLABEnvironment
To start MATLAB: START �START �
PROGRAMS �MATLAB 7.0 �MATLAB 7.0
4ANIL MAURYA Electrical & Electronics Engineer
Display Windows
5ANIL MAURYA Electrical & Electronics Engineer
Display Windows (con’t…)
� Graphic (Figure) Window� Displays plots and graphs� Created in response to graphics commands.
� M-file editor/debugger window� M-file editor/debugger window� Create and edit scripts of commands called M-files.
6ANIL MAURYA Electrical & Electronics Engineer
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 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� PWD prints working directory
7ANIL MAURYA Electrical & Electronics Engineer
Getting Help (con’t…)
� Google “MATLAB helpdesk”� Go to the online HelpDesk provided by
www.mathworks.com
8
You can find EVERYTHING you need to know about MATLAB from the online HelpDesk.
ANIL MAURYA Electrical & Electronics Engineer
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:� Assignment statement:� Variable = number;� Variable = expression;
� Example:>> tutorial = 1234;>> tutorial = 1234tutorial =
1234
9
NOTE: when a semi-colon ”;” is placed at the end of each command, the result is not displayed.
ANIL MAURYA Electrical & Electronics Engineer
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.
10ANIL MAURYA Electrical & Electronics Engineer
11ANIL MAURYA Electrical & Electronics Engineer
Vectors, Matrices and Linear Algebra� Vectors� Array Operations� Matrices� Solutions to Systems of Linear Equations.
12ANIL MAURYA Electrical & Electronics Engineer
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 =x =
0 0.7854 1.5708 2.3562 3.1416>> y = [ 0; 0.25*pi; 0.5*pi; 0.75*pi; pi ]y =
00.78541.57082.35623.1416
13
x is a row vector.
y is a column vector.
ANIL MAURYA Electrical & Electronics Engineer
Vectors (con’t…)Some useful commands:
x = start:endx = start:end create row vector x starting with start, counting by create row vector x starting with start, counting by one, ending at endone, ending at end
x = start:increment:endx = start:increment:end create row vector x starting with start, counting by create row vector x starting with start, counting by increment, ending at or before endincrement, ending at or before end
create row vector x starting with start, ending at create row vector x starting with start, ending at
14
linspace(start,end,number)linspace(start,end,number) create row vector x starting with start, ending at create row vector x starting with start, ending at end, having number elementsend, having number elements
length(x)length(x) returns the length of vector xreturns the length of vector x
y = x’y = x’ transpose of vector xtranspose of vector x
dot (x, y)dot (x, y) returns the scalar dot product of the vector x and y.returns the scalar dot product of the vector x and y.
ANIL MAURYA Electrical & Electronics Engineer
15ANIL MAURYA Electrical & Electronics Engineer
16ANIL MAURYA Electrical & Electronics Engineer
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 � 3rd element of vector x1.5708
17
� 1st to 3rd elements of vector x
�� The colon notation may be used to address a block of elements.The colon notation may be used to address a block of elements.(start : increment : end)(start : increment : end)
start is the starting index, increment is the amount to add to each successive index, and 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.is the ending index. A shortened format (start : end) may be used if increment is 1.
�� Example:Example:>> x(1:3)>> x(1:3)ans =ans =
0 0.7854 1.57080 0.7854 1.5708
NOTE: MATLAB index starts at 1.
� 3rd element of vector x
ANIL MAURYA Electrical & Electronics Engineer
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 21 23 4
>> g = 2*f – 1g =
1 35 7
18
Each element in the array f is multiplied by 2, then subtracted by 1.
ANIL MAURYA Electrical & Electronics Engineer
Array Operations (con’t…)� Element-by-Element Array-Array Mathematics.
OperationOperation Algebraic FormAlgebraic Form MATLABMATLAB
AdditionAddition a + ba + b a + ba + b
Subtraction Subtraction a a –– bb a a –– bb
Multiplication Multiplication a x ba x b a .* ba .* b
19
Multiplication Multiplication a x ba x b a .* ba .* b
DivisionDivision a a ÷÷ bb a ./ ba ./ b
ExponentiationExponentiation aabb a .^ ba .^ b
�� Example:Example:>> x = [ 1 2 3 ];>> x = [ 1 2 3 ];
>> y = [ 4 5 6 ];>> y = [ 4 5 6 ];
>> z = x .* y>> z = x .* y
z =z =
4 10 184 10 18
Each element in x is multiplied by the corresponding element in y.
ANIL MAURYA Electrical & Electronics Engineer
Matrices� 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.
A is an m x n matrix.
20
•Example:>> f = [ 1 2 3; 4 5 6]f =
1 2 34 5 6
>> h = [ 2 4 61 3 5]h =
2 4 61 3 5
the main diagonal
ANIL MAURYA Electrical & Electronics Engineer
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:� Example:
21
recall:f =
1 2 34 5 6
h =2 4 61 3 5
� Example:
>> f(2,3)
ans =
6
>> h(:,1)
ans =
2
1
ANIL MAURYA Electrical & Electronics Engineer
Matrices (con’t…)
Some useful commands:
zeros(n)zeros(m,n)
ones(n)
returns a n x n matrix of zerosreturns a m x n matrix of zeros
returns a n x n matrix of ones
22
ones(n)ones(m,n)
size (A)
length(A)
returns a n x n matrix of onesreturns 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.
ANIL MAURYA Electrical & Electronics Engineer
Matrices (con’t…)
TransposeTranspose B = A’B = A’
Identity MatrixIdentity Matrix eye(n) eye(n) �� returns an n x n identity matrixreturns an n x n identity matrixeye(m,n) eye(m,n) �� returns an m x n matrix with ones on the main returns an m x n matrix with ones on the main
diagonal and zeros elsewhere.diagonal and zeros elsewhere.
Addition and subtractionAddition and subtraction C = A + BC = A + B
more commands
23
Addition and subtractionAddition and subtraction C = A + BC = A + BC = A C = A –– BB
Scalar MultiplicationScalar Multiplication B = B = ααA, where A, where αα is a scalar.is a scalar.
Matrix MultiplicationMatrix Multiplication C = A*BC = A*B
Matrix InverseMatrix Inverse B = inv(A), A must be a square matrix in this case.B = inv(A), A must be a square matrix in this case.rank (A) rank (A) �� returns the rank of the matrix A.returns the rank of the matrix A.
Matrix PowersMatrix Powers B = A.^2 B = A.^2 �� squares each element in the matrixsquares each element in the matrixC = A * A C = A * A �� computes A*A, and A must be a square matrix.computes A*A, and A must be a square matrix.
DeterminantDeterminant det (A), and A must be a square matrix.det (A), and A must be a square matrix.
A, B, C are matrices, and m, n, α are scalars.
ANIL MAURYA Electrical & Electronics Engineer
Solutions to Systems of Linear Equations
� Example: a system of 3 linear equations with 3 unknowns (x1, x2, x3):3x 1 + 2x 2 – x 3 = 10-x 1 + 3x 2 + 2x 3 = 5
x1 – x 2 – x 3 = -1
−123 x 10
Let :
24
Then, the system can be described as:
Ax = b
−−−
−=
111
231
123
A
=
3
2
1
x
x
x
x
−=
1
5
10
b
ANIL MAURYA Electrical & Electronics Engineer
Solutions to Systems of Linear Equations (con’t…)
� Solution by Matrix Inverse:Ax = bA-1Ax = A-1bx = A-1b
� MATLAB:>> A = [ 3 2 -1; -1 3 2; 1 -1 -1];
�� Solution by Matrix Division:Solution by Matrix Division:The solution to the equationThe solution to the equation
Ax = bAx = bcan be computed using can be computed using left divisionleft division..
� MATLAB:>> A = [ 3 2 -1; -1 3 2; 1 -1 -1];>> A = [ 3 2 -1; -1 3 2; 1 -1 -1];
>> b = [ 10; 5; -1];>> x = inv(A)*bx =
-2.00005.0000
-6.0000
25
Answer:x1 = -2, x2 = 5, x3 = -6
Answer:x1 = -2, x2 = 5, x3 = -6
NOTE: left division: A\b � b ÷ A right division: x/y � x ÷ y
>> A = [ 3 2 -1; -1 3 2; 1 -1 -1];>> b = [ 10; 5; -1];>> x = A\bx =
-2.00005.0000
-6.0000
ANIL MAURYA Electrical & Electronics Engineer
26ANIL MAURYA Electrical & Electronics Engineer
27ANIL MAURYA Electrical & Electronics Engineer
28ANIL MAURYA Electrical & Electronics Engineer
29ANIL MAURYA Electrical & Electronics Engineer
30ANIL MAURYA Electrical & Electronics Engineer
31ANIL MAURYA Electrical & Electronics Engineer
32ANIL MAURYA Electrical & Electronics Engineer
33ANIL MAURYA Electrical & Electronics Engineer
34ANIL MAURYA Electrical & Electronics Engineer
35ANIL MAURYA Electrical & Electronics Engineer
36ANIL MAURYA Electrical & Electronics Engineer
37ANIL MAURYA Electrical & Electronics Engineer
38ANIL MAURYA Electrical & Electronics Engineer
39ANIL MAURYA Electrical & Electronics Engineer
40ANIL MAURYA Electrical & Electronics Engineer
41ANIL MAURYA Electrical & Electronics Engineer
42ANIL MAURYA Electrical & Electronics Engineer
43ANIL MAURYA Electrical & Electronics Engineer
44ANIL MAURYA Electrical & Electronics Engineer
45ANIL MAURYA Electrical & Electronics Engineer
46ANIL MAURYA Electrical & Electronics Engineer
47ANIL MAURYA Electrical & Electronics Engineer