introduction to matlab. outline 2 introduction matlab environment getting help vectors,...

of 36 /36
Introduction to MATLAB

Author: victoria-bridges

Post on 30-Dec-2015

230 views

Category:

Documents


1 download

Embed Size (px)

TRANSCRIPT

  • Introduction to MATLAB

    Multimedia Systems ([email protected])

  • Outline*IntroductionMATLAB EnvironmentGetting HelpVectors, Matrices, and Linear AlgebraPlottingUser Defined FunctionsImage Manipulation and ProcessingAudio ProcessingFilters and OperationsMultimedia Systems ([email protected])

    Multimedia Systems ([email protected])

  • IntroductionMATLAB Stands for MATrix LABoratory.The MATLAB environment allows the user to:manage variablesimport and export dataperform calculationsgenerate plotsdevelop and manage files for use with MATLAB.A script can be made with a list of MATLAB commands like other programming language.

    Multimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • EnvironmentMultimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • Getting HelpType one of following commands in the command window:help lists all the help topichelp topic provides help for the specified topichelp command provides help for the specified commandhelp help provides information on use of the help commandhelpwin opens a separate help window for navigationlookfor keyword Search all M-files for keywordOr simply press F1 and use the graphical help window.

    Multimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • VariablesVariable names:Must start with a letterMay 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 ([email protected])*

    Multimedia Systems ([email protected])

  • Variables (Contd)Special variables:ans : default variable name for the result pi: = 3.1415926eps: = 2.2204e-016, smallest amount by which 2 numbers can differ.Inf or inf : , infinityNaN or nan: not-a-numberCommands involving variables:who: lists the names of defined variableswhos: lists the names and sizes of defined variablesclear: clears all variables, reset the default values of special variables.clear name: clears the variable nameclc: clears the command windowclf: clears the current figure and the graph window.

    Multimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • 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 =00.78541.5708 y2.35623.1416

    Multimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • Vectors (Contd)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.5708NOTE: MATLAB index starts at 1.

    Multimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • Vectors (Contd)Multimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • Array OperationsScalar-Array Mathematics:

    Element-by-Element Array-Array Mathematics:

    Multimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • MatricesA 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 rowsemicolon 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 ([email protected])*

    Multimedia Systems ([email protected])

  • Matrices (Contd)Multimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • Matrices (Contd)Multimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • Example, Linear EquationsMultimedia Systems ([email protected])*

    Multimedia Systems ([email protected].ir)

  • PlottingPlotting 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 ysemilogy (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 yMultiple 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 graphMultiple 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 nclose 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 ([email protected])*

    Multimedia Systems ([email protected])

  • Plotting (Contd)Multimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • Flow ControlMultimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • Loops

    break is used to terminate the execution of the loop.

    Multimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • M-FilesA 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 ([email protected])*

    Multimedia Systems ([email protected])

  • User Defined FunctionsAdd 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 ([email protected])*

    Multimedia Systems ([email protected])

  • Images in MATLABMATLAB can import/export several image formatsBMP (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 MATLABDouble (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)

    *Multimedia Systems ([email protected])

    Multimedia Systems ([email protected])

  • 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)*Multimedia Systems ([email protected])

    Multimedia Systems ([email protected])

  • Image import and exportRead 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)*Multimedia Systems ([email protected])

    Multimedia Systems ([email protected])

  • Images and MatricesHow to build a matrix (or image)?>> A = [ 1 2 3; 4 5 6; 7 8 9 ]; A = 1 2 3 4 5 67 8 9>> B = zeros(3,3) B = 0 0 00 0 00 0 0>> C = ones(3,3) C =1 1 11 1 11 1 1

    >>imshow(A) (imshow(A,[]) to get automatic pixel range)*Multimedia Systems ([email protected])

    Multimedia Systems ([email protected])

  • Image format conversionConvert 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 ([email protected])*

    Multimedia Systems ([email protected])

  • ColormapsI = imread (lena.bmp);imshow (I);colormap (cool);

    Autumn, bone, colorcube, cool, copper, flag, gray, hot, hsv, jet, pink, prism, spring, summer, white, winterMultimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • Videomov = aviread(filename)mov = aviread(filename, index)

    fileinfo = aviinfo(filename)

    Multimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • Digital AudioMultimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • 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 ([email protected])*

    Multimedia Systems ([email protected])

  • 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 monosoundsc(right,fs) % plays right channel mono (sound nearly the same)soundsc(road,fs) % plays stereo (ahhh)

    Multimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • Multimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • Multimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • Multimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • Multimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

  • Multimedia Systems ([email protected])*

    Multimedia Systems ([email protected])

    *