Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to MATLAB Ehsan Adeli M. Iran University of Science and Technology, E-Learing Center, Fall 2008 (1387)

Similar presentations


Presentation on theme: "Introduction to MATLAB Ehsan Adeli M. Iran University of Science and Technology, E-Learing Center, Fall 2008 (1387)"— Presentation transcript:

1 Introduction to MATLAB Ehsan Adeli M. (eadeli@iust.ac.ir) Iran University of Science and Technology, E-Learing Center, Fall 2008 (1387)

2 Outline 2  Introduction  MATLAB Environment  Getting Help  Vectors, Matrices, and Linear Algebra  Plotting  User Defined Functions  Image Manipulation and Processing  Audio Processing  Filters and Operations Multimedia Systems (eadeli@iust.ac.ir)

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. Multimedia Systems (eadeli@iust.ac.ir) 3

4 Environment Multimedia Systems (eadeli@iust.ac.ir) 4

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. Multimedia Systems (eadeli@iust.ac.ir) 5

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  >> tutorial = 1234;  >> tutorial = 1234  ”;” is placed at the end of each command, the result is not displayed. Multimedia Systems (eadeli@iust.ac.ir) 6

7 Variables (Cont’d)  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 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. Multimedia Systems (eadeli@iust.ac.ir) 7

8 Vectors  >> 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; ] y = 0 0.7854 1.5708 y 2.3562 3.1416 Multimedia Systems (eadeli@iust.ac.ir) 8

9 Vectors (Cont’d)  Vector Addressing – A vector element is addressed in MATLAB with an integer index enclosed in parentheses.  >> 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.  >> x(1:3) ans = 0 0.7854 1.5708  NOTE: MATLAB index starts at 1. Multimedia Systems (eadeli@iust.ac.ir) 9

10 Vectors (Cont’d) Multimedia Systems (eadeli@iust.ac.ir) 10

11 Array Operations  Scalar-Array Mathematics:  Element-by-Element Array-Array Mathematics: Multimedia Systems (eadeli@iust.ac.ir) 11

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. Multimedia Systems (eadeli@iust.ac.ir) 12

13 Matrices (Cont’d) Multimedia Systems (eadeli@iust.ac.ir) 13

14 Matrices (Cont’d) Multimedia Systems (eadeli@iust.ac.ir) 14

15 Example, Linear Equations Multimedia Systems (eadeli@iust.ac.ir) 15

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 Multimedia Systems (eadeli@iust.ac.ir) 16

17 Plotting (Cont’d) Multimedia Systems (eadeli@iust.ac.ir) 17

18 Flow Control Multimedia Systems (eadeli@iust.ac.ir) 18

19 Loops  break – is used to terminate the execution of the loop. Multimedia Systems (eadeli@iust.ac.ir) 19

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) Multimedia Systems (eadeli@iust.ac.ir) 20

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. Multimedia Systems (eadeli@iust.ac.ir) 21

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 >> I=imread('cells.jpg'); >> imshow(I) >> size(I) ans = 479 600 3 (RGB image) >> Igrey=rgb2gray(I); >> imshow(Igrey) >> imwrite(lgrey, 'cell_gray.tif', 'tiff') Alternatives to imshow >>imagesc(I) >>imtool(I) >>image(I)

25 Images and Matrices  How to build a matrix (or image)? >> A = [ 1 2 3; 4 5 6; 7 8 9 ]; A = 1 2 3 4 5 6 7 8 9 >> B = zeros(3,3) B = 0 0 0 0 0 0 >> C = ones(3,3) C =1 1 1 1 1 1 >>imshow(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() Multimedia Systems (eadeli@iust.ac.ir) 26

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 Multimedia Systems (eadeli@iust.ac.ir) 27

28 Video  mov = aviread(filename)  mov = aviread(filename, index)  fileinfo = aviinfo(filename) Multimedia Systems (eadeli@iust.ac.ir) 28

29 Digital Audio Multimedia Systems (eadeli@iust.ac.ir) 29

30 Audio  [road,fs]=wavread('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 (fs=44,100 samples/second).  The left and right channel signals are the two columns of the road array:  left=road(:,1);  right=road(:,2); Multimedia Systems (eadeli@iust.ac.ir) 30

31  time=(1/44100)*length(left);  t=linspace(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…) Multimedia Systems (eadeli@iust.ac.ir) 31

32 Multimedia Systems (eadeli@iust.ac.ir) 32

33 Multimedia Systems (eadeli@iust.ac.ir) 33

34 Multimedia Systems (eadeli@iust.ac.ir) 34

35 Multimedia Systems (eadeli@iust.ac.ir) 35

36 Multimedia Systems (eadeli@iust.ac.ir) 36


Download ppt "Introduction to MATLAB Ehsan Adeli M. Iran University of Science and Technology, E-Learing Center, Fall 2008 (1387)"

Similar presentations


Ads by Google