Introduction to MATLAB - PowerPoint PPT Presentation

About This Presentation
Title:

Introduction to MATLAB

Description:

Title: Introduction to Multimedia Systems Author: Ehsan Last modified by: Comp1 Created Date: 8/16/2006 12:00:00 AM Document presentation format: On-screen Show (4:3) – PowerPoint PPT presentation

Number of Views:234
Avg rating:3.0/5.0
Slides: 37
Provided by: ehs50
Category:

less

Transcript and Presenter's Notes

Title: Introduction to MATLAB


1
Introduction to MATLAB
2
Outline
  • Introduction
  • MATLAB Environment
  • Getting Help
  • Vectors, Matrices, and Linear Algebra
  • Plotting
  • User Defined Functions
  • Image Manipulation and Processing
  • Audio Processing
  • Filters and Operations

3
Introduction
  • MATLAB Stands for MATrix LABoratory.
  • 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.
  • A script can be made with a list of MATLAB
    commands like other programming language.

4
Environment
5
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 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
  • Or simply press F1 and use the graphical help
    window.

6
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.
  • when a semi-colon
  • gtgt tutorial 1234
  • gtgt tutorial 1234
  • is placed at the end of each command, the
    result is not displayed.

7
Variables (Contd)
  • Special variables
  • ans default variable name for the result
  • pi p 3.1415926
  • eps ? 2.2204e-016, smallest amount by which 2
    numbers can differ.
  • Inf or inf 8, 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 variables, 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.

8
Vectors
  • 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
  • y
  • 0
  • 0.7854
  • 1.5708 y
  • 2.3562
  • 3.1416

9
Vectors (Contd)
  • Vector Addressing A vector element is addressed
    in MATLAB with an integer index enclosed in
    parentheses.
  • gtgt x(3)
  • 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.
  • gtgt x(13)
  • ans
  • 0 0.7854 1.5708
  • NOTE MATLAB index starts at 1.

10
Vectors (Contd)
11
Array Operations
  • Scalar-Array Mathematics
  • Element-by-Element Array-ArrayMathematics

12
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.
  • Matrix Addressing
  • matrixname(row, column)
  • colon may be used in place of a row or column
    reference to select the entire row or column.

13
Matrices (Contd)
14
Matrices (Contd)
15
Example, Linear Equations
16
Plotting
  • Plotting Curves
  • plot (x,y) generates a linear plot of the
    values of x (horizontal axis) and y (vertical
    axis).
  • semilogx (x,y) generate a plot of the values of
    x and y using a logarithmic scale for x and a
    linear scale for y
  • semilogy (x,y) generate a plot of the values of
    x and y using a linear scale for x and a
    logarithmic scale for y.
  • loglog(x,y) generate a plot of the values of x
    and y using logarithmic scales for both x and y
  • Multiple Curves
  • plot (x, y, w, z) multiple curves can be
    plotted on the same graph by using multiple
    arguments in a plot command. The variables x, y,
    w, and z are vectors. Two curves will be plotted
    y vs. x, and z vs. w.
  • legend (string1, string2,) used to
    distinguish between plots on the same graph
  • Multiple Figures
  • figure (n) used in creation of multiple plot
    windows. place this command before the plot()
    command, and the corresponding figure will be
    labeled as Figure n
  • close closes the figure n window.
  • close all closes all the figure windows.
  • Subplots
  • subplot (m, n, p) m by n grid of windows, with
    p specifying the current plot as the pth window

17
Plotting (Contd)
18
Flow Control
19
Loops
  • break is used to terminate the execution of the
    loop.

20
M-Files
  • A M-file is 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)

21
User Defined Functions
  • Add the following command in the beginning of
    your m-file
  • function output variables function_name
    (input variables)
  • Note that the file name should be the same as the
    function name.

22
Images in MATLAB
  • MATLAB can import/export several image formats
  • BMP (Microsoft Windows Bitmap)
  • GIF (Graphics Interchange Files)
  • HDF (Hierarchical Data Format)
  • JPEG (Joint Photographic Experts Group)
  • PCX (Paintbrush)
  • PNG (Portable Network Graphics)
  • TIFF (Tagged Image File Format)
  • XWD (X Window Dump)
  • MATLAB can also load raw-data or other types of
    image data
  • Data types in MATLAB
  • Double (64-bit double-precision floating point)
  • Single (32-bit single-precision floating point)
  • Int32 (32-bit signed integer)
  • Int16 (16-bit signed integer)
  • Int8 (8-bit signed integer)
  • Uint32 (32-bit unsigned integer)
  • Uint16 (16-bit unsigned integer)
  • Uint8 (8-bit unsigned integer)

23
Images in MATLAB
  • Binary images 0,1
  • Intensity images 0,1 or uint8, double etc.
  • RGB images m-by-n-by-3
  • Indexed images m-by-3 color map
  • Multidimensional images m-by-n-by-p (p is the
    number of layers)

24
Image import and export
  • Read and write images in Matlab
  • gtgt Iimread('cells.jpg')
  • gtgt imshow(I)
  • gtgt size(I)
  • ans 479 600 3 (RGB image)
  • gtgt Igreyrgb2gray(I)
  • gtgt imshow(Igrey)
  • gtgt imwrite(lgrey, 'cell_gray.tif', 'tiff')
  • Alternatives to imshow
  • gtgtimagesc(I)
  • gtgtimtool(I)
  • gtgtimage(I)

25
Images and Matrices
  • How to build a matrix (or image)?
  • gtgt A 1 2 3 4 5 6 7 8 9
  • A 1 2 3
  • 4 5 6
  • 7 8 9
  • gtgt B zeros(3,3)
  • B 0 0 0
  • 0 0 0
  • 0 0 0
  • gtgt C ones(3,3)
  • C 1 1 1
  • 1 1 1
  • 1 1 1
  • gtgtimshow(A) (imshow(A,) to get automatic
    pixel range)

26
Image format conversion
  • Convert between intensity/indexed/RGB to binary
    format
  • dither()
  • Convert between intensity format to indexed
    format
  • gray2ind()
  • Convert between indexed format to intensity
    format
  • ind2gray()
  • Convert between indexed format to RGB format
  • ind2rgb()
  • Convert a regular matrix to intensity format by
    scaling
  • mat2gray()
  • Convert between RGB format to intensity format
  • rgb2gray()
  • Convert between RGB format to indexed format
  • rgb2ind()

27
Colormaps
  • I imread (lena.bmp)
  • imshow (I)
  • colormap (cool)
  • Autumn, bone, colorcube, cool, copper, flag,
    gray, hot, hsv, jet, pink, prism, spring, summer,
    white, winter

28
Video
  • mov aviread(filename)
  • mov aviread(filename, index)
  • fileinfo aviinfo(filename)

29
Digital Audio
30
Audio
  • road,fswavread('road.wav')
  • The array road now contains the stereo sound data
    and fs is the sampling frequency. 
  • This data is sampled at the same rate as that on
    a music CD (fs44,100 samples/second).
  • The left and right channel signals are the two
    columns of the road array
  •  leftroad(,1)
  • rightroad(,2)

31
  • time(1/44100)length(left)
  • tlinspace(0,time,length(left))
  • plot(t,left)
  • xlabel('time (sec)')
  • ylabel('relative signal strength')
  • soundsc(left,fs)       plays left channel as
    mono
  •  soundsc(right,fs)    plays right channel mono
    (sound nearly the same)
  •  soundsc(road,fs)     plays stereo (ahhh)

32
(No Transcript)
33
(No Transcript)
34
(No Transcript)
35
(No Transcript)
36
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com