sajid gul khawaja introduction to matlab 1. introduction what is matlab ? matlab is a computer...

48
SAJID GUL KHAWAJA SAJID GUL KHAWAJA Introduction to MATLAB 1

Upload: gavin-suarez

Post on 26-Mar-2015

219 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

SAJID GUL KHAWAJASAJID GUL KHAWAJA

Introduction to MATLAB1

Page 2: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

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.

2

Page 3: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

MATrix LABoratory3

www.mathworks.com

Advantages of MATLAB Ease of use Platform independence Predefined functions Plotting

Disadvantages of MATLAB Can be slow Commercial software

Page 4: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

MATLAB Screen

Command Window type commands

Current Directory View folders and m-

files

Workspace View program

variables Double click on a

variable to see it in the

Array Editor

Command History view past

commands save a whole session using diary

4

Page 5: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Variables

No need for types. i.e.,

All variables are created with double precision unless specified and they are matrices.

After these statements, the variables are 1x1 matrices with double precision

int a;double b;float c;

Example:>>x=5;>>x1=2;

5

Page 6: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Variables Types

Variable types Numeric Logical Character and string Cell and Structure Function handle

6

Page 7: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Variables (con’t…)

Variable names: Must start with a letter

You’ll get an error if this doesn’t happen 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 = 1234tutorial = 1234

NOTE: when a semi-colon ”;” is placed at the end of each command, the result is not displayed.

7

Page 8: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Variables (con’t…)

Don’t name your variables the same as functions min, max, sqrt, cos, sin, tan, mean, median, etc Funny things happen when you do this

MATLAB reserved words don’t work either i, j, eps, nargin, end, pi, date, etc i, j are reserved as complex numbers initially

Will work as counters in my experience so they can be redefined as real numbers

Give meaningful (descriptive and easy-to-Give meaningful (descriptive and easy-to-remember) names for the variables. Never remember) names for the variables. Never define a variable with the same name as a define a variable with the same name as a MATLAB function or command.MATLAB function or command.

8

Page 9: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Special Variables

Special Values• MATLAB includes a number of predefined special

values. These values can be used at any time without initializing them.

• These predefined values are stored in ordinary variables. They can be overwritten or modified by a user.

• If a new value is assigned to one of these variables, then that new value will replace the default one in all later calculations.

>> circ1 = 2 * pi * 10; >> pi = 3; >> circ2 = 2 * pi * 10;

Never change the values of predefined variables.Never change the values of predefined variables.

9

Page 10: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Special 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.

10

Page 11: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Interactive Commands

Format of output Defaults to 4 decimal places Can change using format statement format long changes output to 15 decimal places

11

Page 12: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Operators (arithmetic)

+ addition- subtraction* multiplication/ division^ power‘ complex conjugate transpose

12

Page 13: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Operators

• Scalar arithmetic operationsOperation MATLAB

form– Exponentiation: ^ ab a^b– Multiplication: * ab a*b– Right Division: / a / b = a/b a/b– Left Division: \ a \ b = b/a a\b– Addition: + a + b a+b– Subtraction: - a – b a-b

• MATLAB ignores white space between variables and operators

13

Page 14: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Operators (relational, logical)

== Equal to~= Not equal to< Strictly smaller> Strictly greater<= Smaller than or equal to>= Greater than equal to& And operator | Or operator

14

Page 15: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Operators (Element by Element)

.* element-by-element multiplication

./ element-by-element division

.^ element-by-element power

15

Page 16: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Order of Operations

• Parentheses• Exponentiation• Multiplication and division have equal

precedence• Addition and subtraction have equal

precedence• Evaluation occurs from left to right• When in doubt, use parentheses

– MATLAB will help match parentheses for you

16

Page 17: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Vectors, Matrices and Arrays

VectorsArray OperationsMatrices

17

Page 18: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

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.

18

Vectors, Matrices and Arrays

Page 19: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

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.

19

Vectors, Matrices and Arrays

Page 20: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Arrays20

Variables and ArraysArray: 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 1Col 2Col 3Col 4 Col 5

arr(3,2)

Page 21: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

1 23 45 6

a= 3x2 matrix 6 elements

b=[1 2 3 4] 1x4 array 4 elements, row vector

c=135

3x1 array 3 elements, column vector

a(2,1)=3 b(3)=3 c(2)=3

Row # Column #

21

Page 22: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

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 ] OR 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.

22

Page 23: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

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

23

Page 24: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Vectors

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.

24

Page 25: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Arrays and Matrices25

Initializing with Shortcut Expressions

first: increment: last• Colon operator: a shortcut notation used to

initialize arrays with thousands of elements

>> x = 1 : 2 : 10;>> angles = (0.01 : 0.01 : 1) * pi;

• Transpose operator: (′) swaps the rows and columns of an array

>> g = [1:4];>> h = [ g′ g′ ];

1 12 23 34 4

h=

Page 26: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Long Array, Matrix

t =1:10

t = 1 2 3 4 5 6 7 8 9 10 k =2:-0.5:-1

k = 2 1.5 1 0.5 0 -0.5 -1

B = [1:4; 5:8]

x = 1 2 3 4 5 6 7 8

26

Page 27: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Matrices Addressing

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 6h = 2 4 6 1 3 5

Example:

>> f(2,3)

ans =

6

>> h(:,1)

ans =

2

1

27

Page 28: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Generating Vectors/Matrices from functions

zeros(M,N) MxN matrix of zeros

ones(M,N) MxN matrix of ones

rand(M,N) MxN matrix of

uniformly distributed random numbers on (0,1)

x = zeros(1,3)

x =

0 0 0

x = ones(1,3)

x =

1 1 1

x = rand(1,3)

x =

0.9501 0.2311 0.6068

28

Page 29: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Array Operations

Scalar-Array MathematicsFor 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 – 1g = 1 3 5 7

Each element in the array f is multiplied by 2, then subtracted by 1.

31

Page 30: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

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 .* yz = 4 10 18

Each element in x is multiplied by the corresponding element in y.

32

Page 31: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Matrices Some Useful Commands

Length(A) returns the larger of the number of rows or columns in A.

Size(A) for a m x n matrix A, returns the row vector [m,n] containing the number of rows and columns in matrix.

Transpose B = A’

Identity Matrix eye(n) returns an n x n identity matrixeye(m,n) returns an m x n matrix with ones on the main diagonal and zeros elsewhere.

Addition and subtraction C = A + BC = 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 matrixC = A * A computes A*A, and A must be a square matrix.

Determinant det (A), and A must be a square matrix.

A, B, C are matrices, and m, n, are scalars.

33

Page 32: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

• 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 Input34

Page 33: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

The disp (Array/String) function>> disp( 'Hello' )Hello>> disp(5) 5>> disp( [ ‘Hello ' ‘World!' ] )Hello World!>> name = ‘World!';>> disp( [ 'Hello ' name ] )Hello World!

Displaying Data in MATLAB35

Page 34: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Display Windows

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.

36

Page 35: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

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, ‘.’)

37

Page 36: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Basic Task: Plot the function sin(x) between 0≤x≤4π

Create an x-array of 100 samples between 0 and 4π.

Calculate sin(.) of the x-array

Plot the y-array

>>x=linspace(0,4*pi,100);

>>y=sin(x);

>>plot(y)

38

Page 37: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Display Facilities

plot(.)

stem(.)

Example:>>x=linspace(0,4*pi,100);>>y=sin(x);>>plot(y)>>plot(x,y)

Example:>>stem(y)>>stem(x,y)

0 10 20 30 40 50 60 70 80 90 100-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

39

Page 38: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Display Facilities

title(.)

xlabel(.)

ylabel(.)

>>title(‘This is the sinus function’)

>>xlabel(‘x (secs)’)

>>ylabel(‘sin(x)’)

40

Page 39: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

x = 0:pi/100:2*pi;y = sin(x);plot(x,y)xlabel('x = 0:2\pi')ylabel('Sine of x')title('Plot of the Sine

Function')

41

MATLAB Graphs

Page 40: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

t = 0:pi/100:2*pi;

y1=sin(t);

y2=sin(t+pi/2);

plot(t,y1,t,y2)

grid on

42

Multiple Graphs

Page 41: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Selection Programming

Flow ControlLoops

43

Page 42: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Flow Control (if/else)

Simple if statement:if logical expression

commandsend

Example: (Nested)if d <50

count = count + 1;disp(d);if b>d

b=0;end

end Example: (else and elseif clauses)

if temperature > 100disp (‘Too hot – equipment malfunctioning.’)

elseif temperature > 90disp (‘Normal operating range.’);

elseif (‘Below desired operating range.’)else

disp (‘Too cold – turn off equipment.’)end

44

Page 43: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Switch, Case, and Otherwise

switch input_numcase -1

input_str = 'minus one';case 0

input_str = 'zero';case 1

input_str = 'plus one';case {-10,10} input_str = '+/- ten';otherwise

input_str = 'other value';

end

switch input_numcase -1

input_str = 'minus one';case 0

input_str = 'zero';case 1

input_str = 'plus one';case {-10,10} input_str = '+/- ten';otherwise

input_str = 'other value';

end

More efficient than elseif statements

Only the first matching case is executed

45

Page 44: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Loops

for loopfor variable = expression

commandsend

while loopwhile expression

commandsend

•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;endEPS = 2*EPS

o the break statementbreak – is used to terminate the execution of the loop.

46

Page 45: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

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 discussed the execution of commands in the command window. But a more practical way is to create a M-file.

47

Page 46: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

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.

48

Page 47: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

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

Built-in MATLAB Functions49

Page 48: SAJID GUL KHAWAJA Introduction to MATLAB 1. Introduction What is MATLAB ? MATLAB is a computer program that combines computation and visualization power

Getting Help

For 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

50