47
By ANIL MAURYA ELECTRICAL & ELECTRONICS ENGINEER 1

Basics of matlab

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Basics of matlab

By ANIL MAURYAELECTRICAL & ELECTRONICS ENGINEER

1

Page 2: Basics of matlab

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

Page 3: Basics of matlab

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

Page 4: Basics of matlab

MATLABEnvironment

To start MATLAB: START �START �

PROGRAMS �MATLAB 7.0 �MATLAB 7.0

4ANIL MAURYA Electrical & Electronics Engineer

Page 5: Basics of matlab

Display Windows

5ANIL MAURYA Electrical & Electronics Engineer

Page 6: Basics of matlab

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

Page 7: Basics of matlab

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

Page 8: Basics of matlab

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

Page 9: Basics of matlab

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

Page 10: Basics of matlab

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

Page 11: Basics of matlab

11ANIL MAURYA Electrical & Electronics Engineer

Page 12: Basics of matlab

Vectors, Matrices and Linear Algebra� Vectors� Array Operations� Matrices� Solutions to Systems of Linear Equations.

12ANIL MAURYA Electrical & Electronics Engineer

Page 13: Basics of matlab

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

Page 14: Basics of matlab

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

Page 15: Basics of matlab

15ANIL MAURYA Electrical & Electronics Engineer

Page 16: Basics of matlab

16ANIL MAURYA Electrical & Electronics Engineer

Page 17: Basics of matlab

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

Page 18: Basics of matlab

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

Page 19: Basics of matlab

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

Page 20: Basics of matlab

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

Page 21: Basics of matlab

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

Page 22: Basics of matlab

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

Page 23: Basics of matlab

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

Page 24: Basics of matlab

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

Page 25: Basics of matlab

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

Page 26: Basics of matlab

26ANIL MAURYA Electrical & Electronics Engineer

Page 27: Basics of matlab

27ANIL MAURYA Electrical & Electronics Engineer

Page 28: Basics of matlab

28ANIL MAURYA Electrical & Electronics Engineer

Page 29: Basics of matlab

29ANIL MAURYA Electrical & Electronics Engineer

Page 30: Basics of matlab

30ANIL MAURYA Electrical & Electronics Engineer

Page 31: Basics of matlab

31ANIL MAURYA Electrical & Electronics Engineer

Page 32: Basics of matlab

32ANIL MAURYA Electrical & Electronics Engineer

Page 33: Basics of matlab

33ANIL MAURYA Electrical & Electronics Engineer

Page 34: Basics of matlab

34ANIL MAURYA Electrical & Electronics Engineer

Page 35: Basics of matlab

35ANIL MAURYA Electrical & Electronics Engineer

Page 36: Basics of matlab

36ANIL MAURYA Electrical & Electronics Engineer

Page 37: Basics of matlab

37ANIL MAURYA Electrical & Electronics Engineer

Page 38: Basics of matlab

38ANIL MAURYA Electrical & Electronics Engineer

Page 39: Basics of matlab

39ANIL MAURYA Electrical & Electronics Engineer

Page 40: Basics of matlab

40ANIL MAURYA Electrical & Electronics Engineer

Page 41: Basics of matlab

41ANIL MAURYA Electrical & Electronics Engineer

Page 42: Basics of matlab

42ANIL MAURYA Electrical & Electronics Engineer

Page 43: Basics of matlab

43ANIL MAURYA Electrical & Electronics Engineer

Page 44: Basics of matlab

44ANIL MAURYA Electrical & Electronics Engineer

Page 45: Basics of matlab

45ANIL MAURYA Electrical & Electronics Engineer

Page 46: Basics of matlab

46ANIL MAURYA Electrical & Electronics Engineer

Page 47: Basics of matlab

47ANIL MAURYA Electrical & Electronics Engineer