Sajid GUL khawaja - PowerPoint PPT Presentation

1 / 48
About This Presentation
Title:

Sajid GUL khawaja

Description:

Introduction to MATLAB * SAJID GUL KHAWAJA * * * * * * * * * The switch statement is a convenient way to execute conditional code when you have many possible cases to ... – PowerPoint PPT presentation

Number of Views:67
Avg rating:3.0/5.0
Slides: 49
Provided by: Ghazan
Category:

less

Transcript and Presenter's Notes

Title: Sajid GUL khawaja


1
Introduction to MATLAB
  • Sajid GUL khawaja

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

3
MATrix LABoratory
  • www.mathworks.com
  • Advantages of MATLAB
  • Ease of use
  • Platform independence
  • Predefined functions
  • Plotting
  • Disadvantages of MATLAB
  • Can be slow
  • Commercial software

4
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

5
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

Example gtgtx5 gtgtx12
6
Variables Types
  • Variable types
  • Numeric
  • Logical
  • Character and string
  • Cell and Structure
  • Function handle

7
Variables (cont)
  • Variable names
  • Must start with a letter
  • Youll get an error if this doesnt 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
  • gtgt tutorial 1234
  • gtgt tutorial 1234
  • tutorial
  • 1234

NOTE when a semi-colon is placed at the end
of each command, the result is not displayed.
8
Variables (cont)
  • Dont 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 dont 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-remember) names for the variables. Never
    define a variable with the same name as a MATLAB
    function or command.

9
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.
  • gtgt circ1 2 pi 10
  • gtgt pi 3
  • gtgt circ2 2 pi 10
  • Never change the values of predefined variables.

10
Special Variables (cont)
  • 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
Interactive Commands
  • Format of output
  • Defaults to 4 decimal places
  • Can change using format statement
  • format long changes output to 15 decimal places

12
Operators (arithmetic)
  • addition
  • - subtraction
  • multiplication
  • / division
  • power
  • complex conjugate transpose

13
Operators
  • Scalar arithmetic operations
  • Operation MATLAB form
  • Exponentiation ab ab
  • Multiplication ab ab
  • Right Division / a / b a/b a/b
  • Left Division \ a \ b b/a a\b
  • Addition a b ab
  • Subtraction - a b a-b
  • MATLAB ignores white space between variables and
    operators

14
Operators (relational, logical)
  • Equal to
  • Not equal to
  • lt Strictly smaller
  • gt Strictly greater
  • lt Smaller than or equal to
  • gt Greater than equal to
  • And operator
  • Or operator

15
Operators (Element by Element)
  • . element-by-element multiplication
  • ./ element-by-element division
  • . element-by-element power

16
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

17
Vectors, Matrices and Arrays
  • Vectors
  • Array Operations
  • Matrices

18
Vectors, Matrices and Arrays
  • 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.

19
Vectors, Matrices and Arrays
  • 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.

20
Arrays
  • 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
arr(3,2)
Row 4
Col 1
Col 2
Col 3
Col 4
Col 5
21
1 2 3 4 5 6
a
3x2 matrix ? 6 elements
b1 2 3 4
1x4 array ? 4 elements, row vector
1 3 5
3x1 array ? 3 elements, column vector
c
a(2,1)3 b(3)3 c(2)3
Row
Column
22
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
  • gtgt x 0 0.25pi 0.5pi 0.75pi pi OR
    x 0 0.25pi, 0.5pi, 0.75pi , pi
  • x
  • 0 0.7854 1.5708 2.3562
    3.1416
  • gtgt y 0 0.25pi 0.5pi 0.75pi pi
  • y
  • 0
  • 0.7854
  • 1.5708
  • 2.3562
  • 3.1416

x is a row vector. y is a column vector.
23
Vectors (cont)
  • Vector Addressing A vector element is addressed
    in MATLAB with an integer index enclosed in
    parentheses.
  • Example
  • gtgt x(3)
  • ans
  • 1.5708

? 3rd element 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
  • gtgt x(13)
  • ans 0 0.7854 1.5708

? 1st to 3rd elements of vector x
NOTE MATLAB index starts at 1.
24
Vectors
Some useful commands
x startend create row vector x starting with start, counting by one, ending at end
x startincrementend 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.
25
Arrays and Matrices
  • Initializing with Shortcut Expressions
  • first increment last
  • Colon operator a shortcut notation used to
    initialize arrays with thousands of elements
  • gtgt x 1 2 10
  • gtgt angles (0.01 0.01 1) pi
  • Transpose operator (') swaps the rows and
    columns of an array
  • gtgt g 14
  • gtgt h g' g'
  • 1 1
  • 2 2
  • 3
  • 4 4

h
26
Long Array, Matrix
  • t 110
  • 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 14 58
  • x
  • 1 2 3 4
  • 5 6 7 8

27
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.
  • Example
  • gtgt f(2,3)
  • ans
  • 6
  • gtgt h(,1)
  • ans
  • 2
  • 1

recall f 1 2 3 4 5
6 h 2 4 6 1 3 5
28
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

29
Subarrays
  • Subarrays
  • The end function When used in an array
    subscript, it returns the highest value taken on
    by that subscript.
  • arr3 1 2 3 4 5 6 7 8
  • arr3(5end) is the array 5 6 7 8
  • arr4 1 2 3 4 5 6 7 8 9 10 11 12
  • arr4(2end, 2end)

30
Subarrays (cont)
  • Subarrays
  • Assigning a Scalar to a Subarray A scalar value
    on the right-hand side of an assignment statement
    is copied into every element specified on the
    left-hand side.
  • gtgt arr4 1 2 3 4 5 6 7 8 9 10 11 12
  • gtgt arr4(12, 12) 1
  • arr4
  • 1 1 3 4
  • 1 1 7 8
  • 9 10 11 12

31
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
  • gtgt f 1 2 3 4
  • f
  • 1 2
  • 3 4
  • gtgt g 2f 1
  • g
  • 1 3
  • 5 7

Each element in the array f is multiplied by 2,
then subtracted by 1.
32
Array Operations (cont)
  • 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
  • gtgt x 1 2 3
  • gtgt y 4 5 6
  • gtgt z x . y
  • z 4 10 18

Each element in x is multiplied by the
corresponding element in y.
33
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 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 AB
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 AA, 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.
34
Initializing with Keyboard Input
  • 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)

35
Displaying Data in MATLAB
The disp (Array/String) function gtgt disp( 'Hello'
) Hello gtgt disp(5) 5 gtgt disp( Hello '
World!' ) Hello World! gtgt name World!' gtgt
disp( 'Hello ' name ) Hello World!
36
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.

37
Plotting
  • For more information on 2-D plotting, type help
    graph2d
  • Plotting a point
  • gtgt plot ( variablename, symbol)

Example Complex number gtgt z 1 0.5j gtgt plot
(z, .)
38
Basic Task Plot the function sin(x) between
0x4p
  • Create an x-array of 100 samples between 0 and
    4p.
  • Calculate sin(.) of the x-array
  • Plot the y-array

gtgtxlinspace(0,4pi,100)
gtgtysin(x)
gtgtplot(y)
39
Display Facilities
  • plot(.)
  • stem(.)

Example gtgtxlinspace(0,4pi,100) gtgtysin(x) gtgt
plot(y) gtgtplot(x,y)
Example gtgtstem(y) gtgtstem(x,y)
40
Display Facilities
  • title(.)
  • xlabel(.)
  • ylabel(.)

gtgttitle(This is the sinus function)
gtgtxlabel(x (secs))
gtgtylabel(sin(x))
41
MATLAB Graphs
  • x 0pi/1002pi
  • y sin(x)
  • plot(x,y)
  • xlabel('x 02\pi')
  • ylabel('Sine of x')
  • title('Plot of the Sine Function')

42
Multiple Graphs
  • t 0pi/1002pi
  • y1sin(t)
  • y2sin(tpi/2)
  • plot(t,y1,t,y2)
  • grid on

43
Selection Programming
  • Flow Control
  • Loops

44
Flow Control (if/else)
  • Simple if statement
  • if logical expression
  • commands
  • end
  • Example (Nested)
  • if d lt50
  • count count 1
  • disp(d)
  • if bgtd
  • b0
  • end
  • end
  • Example (else and elseif clauses)
  • if temperature gt 100
  • disp (Too hot equipment malfunctioning.)
  • elseif temperature gt 90
  • disp (Normal operating range.)
  • elseif (Below desired operating range.)
  • else

45
Switch, Case, and Otherwise
  • switch input_num
  • case -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

46
Loops
  • Example (for loop)
  • for t 15000
  • y(t) sin (2pit/10)
  • end
  • Example (while loop)
  • EPS 1
  • while ( 1EPS) gt1
  • EPS EPS/2
  • end
  • EPS 2EPS
  • for loop
  • for variable expression
  • commands
  • end
  • while loop
  • while expression
  • commands
  • end
  • the break statement
  • break is used to terminate the execution of the
    loop.

47
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.
  • 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.

48
User-Defined Function
  • Add the following command in the beginning of
    your m-file
  • function output variables function_name
    (input variables)
  • 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.

49
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

50
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
Write a Comment
User Comments (0)
About PowerShow.com