Intro to Matlab - PowerPoint PPT Presentation

About This Presentation
Title:

Intro to Matlab

Description:

Title: Intro to Matlab Last modified by: DFJackson Created Date: 11/7/2006 4:11:06 AM Document presentation format: On-screen Show Other titles: Times New Roman Arial ... – PowerPoint PPT presentation

Number of Views:178
Avg rating:3.0/5.0
Slides: 57
Provided by: efEngrUt4
Learn more at: https://ef.engr.utk.edu
Category:

less

Transcript and Presenter's Notes

Title: Intro to Matlab


1
WELCOME
EF 105 Fall 2006 Week 10
2
Topics
  • Engineering Problem Solving
  • Programming Logic
  • Intro to MATLAB

3
Engineering Problem Solving
  • Define the problem clearly
  • Work hand examples
  • Develop the Algorithm (Steps to follow)
  • Document the Algorithm with a FLOWCHART
  • Implement the Algorithm (Write computer program)
  • Test the Implementation (Run the Program)
  • Evaluate the Results

4
PROGRAMMING LOGICTop-Down Algorithm Development
  • Divide and Conquer
  • Break Problem into smaller tasks.
  • Define the interaction between tasks.
  • Recursively solve the individual tasks.
  • Build up the overall solution from the pieces.

5
Structured Programming
  • Structured Programming
  • Combination of
  • Sequences
  • Selections
  • Loops
  • Sequences
  • Series of operations that are performed in order.
  • Selections
  • Choose one path from two or more possible paths.
  • Loops
  • Execute a block of code repeatedly as long as
    some condition is met.

6
Basic Flowcharting Elements
Arrows show the flow - cannot diverge but can
converge.
Execution Block
Selection Block
Entry Point
Exit Point
Input/Output Block
7
Selection Statements
  • Selectively choose one path of execution.
  • Based on the evaluation of a test.
  • Logical Test outcome is either TRUE or FALSE.

8
Loop Structures
  • Special case of Selection Statement
  • One branch eventually leads back to the original
    selection statement.
  • Permits a block of code to be executed repeatedly
    as long as some test condition is satisfied.

9
Basic Flowchart Symbols
10
Practice Algorithm and Flowchart
Compute a sum of all integers from 1 to 100 and
displays the result


11
Algorithm
Step 4 How do we compute the output? (first
solution)

Step 4.1 Start with the current integer 1
Step 4.2 Sum starts with 0
Step 4.3 Add the current integer to Sum
Step 4.4 If the current integer is less than
100, keep on adding the current integer to sum
and increase It by 1(i.e, go back to 4.3).
Step 4.5Otherwise, print out the sum

12
Flowchart

Step 4.3 Add the current integer to Sum
Step 4.4 If the current integer is less than
100, go to next integer and keep on adding the
current integer to sum (i.e, go back to 4.3).

Step 4.5Otherwise, print out the sum
13
Intro to Matlab
Inside Matlab This is what you should see once
Matlab has loaded. The three most useful areas in
the Matlab window are 1. Right command window
is used for inputting commands 2. Top left
workspace window notes size of matrices used 3.
Bottom left command history window maintains a
sequential list of past commands.
Workspace
Command Window
Command Window
Command Window
Command History
Command History
14
Help in MATLAB
The following are three ways to access Matlabs
help files 1. a. From options at top of Matlab
window select Help ? Matlab Help b. Select
Index tab c. Type topic to be searched in
box 2. In Matlab window type a command preceded
by help or 'doc' For example,the following
commands would produce a help file for the plot
command. gtgt help plot or gtgtdoc plot 3. a. Double
click command for which you want help b.
Right-click on command c. Select Help on
Selection
15
Creating files in MATLAB
A. To create a new M-file do one of the
following 1. In top left corner of Matlab window
select File ? New ? M-file 2. Select New M-file
shortcut button located at the top left corner of
Matlab screen B. Typing the following clears the
command window gtgt clc C. Typing a semicolon at
the end of a command suppresses output. Note
the difference between typing the following
commands gtgt x00.510 gtgt x00.510
16
How/Where to write program
  • Go to MATLAB command window
  • File-New-M-File
  • M-file is an Editor window
  • Write your program in M-file
  • Save in temp/ or your Disk.
  • In command window, Run this file.

17
Basic Operators
  • addition
  • - subtraction
  • multiplication
  • / right division
  • power

18
Review Arithmetic Operations and Precedence


19
Use Parentheses to Override Operator Precedence
  • Normal evaluation of expressions
  • Left-to-Right if same level and no parentheses

e.g. 33-8/47-52 27-27-10 257-10
32-10 22
  • Use parentheses to override
  • e.g. (33-8)/4(7-5)2 (9-8)/422
  • 1/44 4.25

20
Overview of MatLab Variables
  • Variables are names used to hold values that may
    change throughout the program.
  • MatLab variables are created when they appear on
    the left of an equal sign.
  • gtgt variable expression creates the "variable''
    and assigns to it the value of the expression on
    the right hand side. You do not need to define or
    declare a variable before it is used.
  • gtgt x 2 creates a scalar
  • The variable is x and indicates a comment

21
Hands-On DEMO Expression Evaluation
In MatLab, enter the following gtgt x 1.4 gtgt
numerator x3 - 2x2 x - 6.3 gtgt denominator
x2 0.05005x 3.14 gtgt f numerator /
denominator
22
Variable Naming
  • Naming Rules
  • must begin with a letter, cannot contain blank
    spaces
  • can contain any combination of letters, numbers
    and underscore (_)
  • must be unique in the first 31 characters
  • MatLab is case sensitive name, Name and
    NAME are considered different variables
  • Never use a variable with the same name as a
    MatLab command (see next slide)
  • Naming convention
  • Usually use all_lowercase_letters
  • -or- camelNotation ("hump" in middle)

23
Reserved Words
  • MatLab has some special (reserved) words that you
    may not use as variable names

break case catch catch continue else elseif end for function global if otherwise persistent return switch try while
24
Commands involving variables
  • who lists the names of defined variables
  • whos lists the names and sizes of defined
    variables
  • what lists all your m-files stored in memory.
  • clear clears all variables, reset the default
    values of special variables.
  • clear name clears the variable named
  • clc clears the command window
  • clf clears the current figure and the graph
    window.

25
Scalars and Vectors and Matrices
  • In MatLab, a scalar is a variable with one row
    and one column.
  • A vector is a matrix with only one row OR only
    one column. The distinction between row and
    column vectors is crucial.
  • When working with MatLab you will need to
    understand how to properly perform linear algebra
    using scalars, vectors and matrices. MatLab
    enforces rules on the use of each of these
    variables

26
Scalars
  • Scalars are the simple variables that we use and
    manipulate in simple algebraic equations.
  • To create a scalar you simply introduce it on the
    left hand side of an equal sign.
  • gtgt x 1
  • gtgt y 2
  • gtgt z x y

27
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
  • 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.
28
Simple Vector 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
linspace(start,end,number) create row vector x starting with start, ending at end, having number elements
length(x) returns the length of vector x
y x' transpose of vector x (row to column, or columnn to row)
29
Hands-On DEMO Creating Vectors
  • gtgt a 110 leave off semi-colon to see what
    you get each time
  • gtgt b 00.11
  • gtgt c 7 8 9
  • gtgt d 10 11 12
  • gtgt length(b)
  • gtgt linspace(0,100,21)

30
Hands-On DEMO linspace function
Plotting a function using vector math x
linspace(0, 20, 100) define 100 x values (from
0 to 20) y 5exp(-0.3x).sin(x) compute y
vector plot(x,y), xlabel('X'), ylabel('Y'),
title('Vector calc')
  • linspace( ) function can be very effective for
    creating the x vector

31
Entering Matrices
  • A 1 2 3 4 5 6 7 8 9
  • OR
  • A 1 2 3
  • 4 5 6
  • 7 8 9
  • Must be enclosed in brackets
  • Elements must be separated by commas or spaces
  • Matrix rows must be separated by semicolons or a
    return
  • Matlab is case sensitive

32
Matrix Elements
  • x -1.3 sqrt(3) (123)4/5
  • Output -gt x -1.3000 1.7321 4.8000
  • Matrix Manipulation
  • x(5) abs(x(1))
  • Let r 1 2 3 4 5
  • xx xr
  • z xx(2,2)
  • T xx(2,13) row 2, col. 1-3
  • Semicolon at the end of a line means dont print
    to the command window.

33
Output Format
  • Format short
  • 1.3333 0.0000
  • Format short e
  • 1.3333E000 1.2345E-006
  • Format long
  • 1.333333333333338 0.000001234500000
  • Format long e
  • 1.33333333333333E000 1.234500000000003E-006
  • Format hex
  • 3FF555555555555 3EB4B6231ABFD271
  • Defaults to format short.

34
Matrix Operations
  • Transpose
  • A 1 2 3 4 5 6 7 8 9
  • C A
  • D -1 0 2

35
Array Operations(using the period)
  • The term array operations refer to
    element-by-element operations.
  • Preceding an operator (, /, , ) by a period
    indicates an element-by-element operation.
  • The addition and subtraction, matrix and array
    operations are the same and dont need a period
    before these operators.
  • Example
  • X 1 2 3 Y4 5 6
  • W X.Y to mult. X and Y arrays

36
Generating Vectors
  • Most often used for a time vector.
  • time 0.0100.0
  • Time 10.00.5100.0
  • B_time 100.0-0.550.0
  • Variable firstincrementlast

37
Useful Matrices
  • Empty Matrix
  • E
  • EE(2 4,)
  • Empties rows 2 4 and all columns in rows 2 4.
  • Zeros
  • Ze zeros(2,3)
  • Creates a 2 x 3 matrix consisting all of zeros.
  • Ones
  • O ones(3,3)
  • Creates a 3 x 3 matrix consisting all of ones.
  • Eye
  • I eye(3,3)
  • Creates a 3 x 3 matrix consisting of an identity
    matrix. (Is on diagonal and 0s elsewhere)

38
Hands-On DEMO Matrix Operations -
Transposes Transpose (indicated by )new
matrix created by exchanging rows and columns of
original matrix
h 1 2 3h'   (nothing)ans 1      2      3 Switches from row to column vector.
h h'h . h ans 14ans 1 4 9 is matrix multiplication, and so the dimensions must line up correctly. (more on this later). is entry-by-entry multiplication.
39
Hands-On DEMO Functions of Vectors
  • Most Matlab functions will work equally well with
    both scalars and arrays (of any dimension)

gtgt A1 2 3 4 5 gtgt sin(A) ans 0.8415
0.9093 0.1411 -0.7568 -0.9589 gtgt
sqrt(A) ans 1.0000 1.4142 1.7321
2.0000 2.2361
40
Strings of Characters
  • MatLab variables may also contain strings, which
    are vectors of individual characters. There is no
    typographical difference in appearance between
    numerical variables and string variables.
  • The type of variable (numerical or string) is
    determined when the variable is created.
  • gtgt x 5.2 numeric
  • gtgt y 'Chewbacca' string

41
What are Character Strings? Arrays!
  • Example
  • C 'Hello' C is a 1x5 character array.
  • D 'Hello there' D is a 1x11 character
    array.
  • A 43 A is a 1x1 double array.
  • T 'How about this character string?'
  • size(T)
  • ans
  • 1 32
  • whos What do you observe?
  • Name Size Bytes Class
  • A 1x1 8 double
    array
  • C 1x5 10 char
    array
  • D 1x11 22 char
    array
  • T 1x32 64 char
    array
  • ans 1x2 16 double
    array
  • Grand total is 51 elements using 120 bytes

42
Hands-On DEMO Strings of Characters
  • gtgt h 'Hello'
  • gtgt w 'World'
  • gtgt h ', ' w called concatenation

43
format Examples(MATLAB performs all computations
in double precision)
  •   The format command described below switches
    among different display formats.
  •   Command      Result                       
    Example format short      5 digit scaled fixed
    point      3.1416 format long       15 digit
    scaled fixed point   3.14159265358979 format
    short e   5 digit floating-point          3.1416e
    00 format long e    15 digit floating-point  
    3.141592653589793e00
  • format short g   general purpose           
    5 or 1.25 or 3.0e-12
  • format bank       Fixed dollars and
    cents         7.95 format rat        Ratio of
    small integers         355/113   format
    compact Suppresses excess line feeds. format
    loose     Add line feeds.

44
Hands-On DEMO Formatting
  • p020
  • format short e exponential
  • p' pow2(p)' pow2(-p)'
  • format short g general purpose
  • p' pow2(p)' pow2(-p)'

45
In-Class Exercise MatLab Calculations
  • Do the following in MatLab
  • Create a matrix with the form
  • 2 3
  • 5 1
  • Create a row (or "horizontal") vector of 2
    elements, 3 and 4 (inclusive).
  • Create a second column (or 'vertical') vector
    with the elements 2 and 1 in that order.
  • Type 'whos' to view your variables. It should
    read (for example)
  • gtgt whos Name Size Elements Bytes Density
    Complex
  • a 2 by 2 4 32
    Full No
  • b 1 by 2 2
    16 Full No
  • c 2 by 1 2 16 Full No
  • Grand total is 14 elements using 112 bytes Here,
    a is the matrix, b is the first vector, and c is
    the second vector.
  • Now complete the following exercise
  • Multiply your matrix by your first vector, above.
  • Perform element by element division of your
    resulting vector, divided by your second vector
    transposed. (The result should be a two element
    horizontal vector with 13 as each entry. )
  • Type 'clear' to clear all variables from the
    workspace.
  • Add your name as comment, print Command Window
    and turn in

46
Saving/Loading Data Values
  • Be sure you have the correct Current Directory
    set
  • clear, clc
  • clear workspace and command window to start
  • assign and calc a few values
  • save file_name
  • saves file_name.mat in current directory
  • saves all defined variables
  • clear load file_name
  • brings workspace back

47
Hands-On DEMO Saving Workspace
  • First make sure your workspace is clear, and that
    your Current Directory is set to "My Documents"
    subfolder with your username (e.g. Djackson)
  • Create a few scalars and vectors
  • check workspace window for variables
  • gtgt save demo -OR- click corresponding button
  • look at your folder in My Documents subfolder
  • Clear workspace, check Workspace
  • then Reload variables, check Workspace

48
Scripts
  • Scripts allow us to group and save MatLab
    commands for future use
  • If we make an error, we can edit statements and
    commands
  • Can modify later to solve other related problems
  • Script is the MatLab terminology for a program
  • NOTE Scripts may use variables already defined
    in the workspace.
  • This can lead to unexpected results.
  • It is a good idea to clear the workspace (and the
    command window) at the beginning of all scripts.
  • clear, clc

49
M-files Scripts
  • A Script is the simplest example of an M-file.
  • When a script-file is invoked, MatLab simply
    executes the commands found in the file.
  • Any variables created in the script are added to
    the MatLab Workspace.
  • Scripts are particularly useful for automating
    long sequences of command.

50
Writing a MATLAB Script (program)
  • File ? New ? M-File
  • usually start with clear, clc, format compact
  • comments after
  • for in-class exercises include at least
  • Course, date,section (e.g. EF105, Monday 800
    )
  • a short title
  • your name
  • semi-colons to suppress variable initialization
  • omit semi-colons to display results
  • You can leave off ALL semi-colons to trace a
    program

51
Matlab Editor(note "Save and Run" button)
Access to commands
Color keyed text with auto indents
tabbed sheets for other files being edited
52
Script Files (filename.m)
  • Always check Current Directory Window
  • Set to MyDocuments\username
  • Running scripts
  • from editor window, click "Save and run" button
  • -or- just type filename
  • -or- type run filename

53
Hands-On DEMO Creating our First
Script(factorial)
  • File ? New ? M-File
  • File ? Save As ... fact_n
  • Operates on a variable in "global" workspace
  • Variable n must exist in workspace
  • Variable fact is created (or over-written)

fact_n Compute n-factorial, n!12...n by
DFJ fact prod(1n) no semi-colon so fact
displays
54
Hands-On DEMO Running your Script
  • To Run just type
  • gtgt n5
  • gtgt fact_n
  • -OR-
  • gtgt n10
  • gtgt run fact_n

55
Displaying Code and Getting Help
  • To list code, use type command
  • gtgt type fact_n
  • The help command displays first consecutive
    comment lines
  • gtgt help fact_n

56
MATLAB Exercise 1
  • See the Word document for this exercise and
    perform at end of class on your own!!
Write a Comment
User Comments (0)
About PowerShow.com