1 1 Introduction to MATLAB Lecture Series by CEPSTRUM Presented by Pratik Kotkar & Akash Baid.

Slides:



Advertisements
Similar presentations
MATLAB – A Computational Methods By Rohit Khokher Department of Computer Science, Sharda University, Greater Noida, India MATLAB – A Computational Methods.
Advertisements

Introduction to MATLAB The language of Technical Computing.
Introduction to Matlab
Introduction to Matlab By: Dr. Maher O. EL-Ghossain.
HY436: Mobile Computing and Wireless Networks MATLAB TUTORIAL Matlab Tutorial: October 4, 2005 Elias Raftopoulos Ploumidis Manolis Prof. Maria Papadopouli.
Introduction to MATLAB
Engineering H192 - Computer Programming The Ohio State University Gateway Engineering Education Coalition Lect 18P. 1Winter Quarter Introduction to MATLAB.
Matlab Intro. Outline Matlab introduction Matlab elements Types Variables Matrices.
Matlab intro The Environment
Digital Image Processing Lecture3: Introduction to MATLAB.
MATLAB Second Seminar. Previous lesson Last lesson We learnt how to: Interact with MATLAB in the MATLAB command window by typing commands at the command.
MATLAB INTRO CONTROL LAB1  The Environment  The command prompt Getting Help : e.g help sin, lookfor cos Variables Vectors, Matrices, and Linear Algebra.
Martin Ellison University of Warwick and CEPR Bank of England, December 2005 Introduction to MATLAB.
Introduction to MATLAB January 18, 2008 Steve Gu Reference: Eta Kappa Nu, UCLA Iota Gamma Chapter, Introduction to MATLAB,
Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing.
Introduction to MATLAB
Department of Mechanical Engineering, LSUSession VII MATLAB Tutorials Session VIII Graphical User Interface using MATLAB Rajeev Madazhy
ELG 3120 Signal and System Analysis 1 Introduction to MATLAB TAs Wei Zhang Ozgur Ekici (Section A)(Section B) ELG 3120 Lab Tutorial 1.
Introduction to MATLAB
1 Lab of COMP 406 Teaching Assistant: Pei-Yuan Zhou Contact: Lab 1: 12 Sep., 2014 Introduction of Matlab (I)
MEGN 536 – Computational Biomechanics MATLAB: Getting Started Prof. Anthony J. Petrella Computational Biomechanics Group.
ECE 1304 Introduction to Electrical and Computer Engineering Section 1.1 Introduction to MATLAB.
EECE 360/460 Matlab Tutorial Jan Outline What is Matlab? What is Matlab? Matlab Interface Matlab Interface Basic Syntax Basic Syntax Plotting Graphs.
Computational Methods of Scientific Programming Lecturers Thomas A Herring, Room A, Chris Hill, Room ,
MATLAB Tutorial EE 327 Signals and Systems 1. What is MATLAB? MATLAB – Matrix Laboratory The premier number-crunching software Extremely useful for signal.
INTRODUCTION TO MATLAB LAB# 01
Gulsah Tumuklu Ozyer MATLAB IMAGE PROCESSING TOOLBOX.
Matlab Programming for Engineers Dr. Bashir NOURI Introduction to Matlab Matlab Basics Branching Statements Loops User Defined Functions Additional Data.
Getting Started with MATLAB 1. Fundamentals of MATLAB 2. Different Windows of MATLAB 1.
10/24/20151 Chapter 2 Review: MATLAB Environment Introduction to MATLAB 7 Engineering 161.
Basics of MATLAB By DR. Wafaa Shabana
Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul.
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
Introduction to MATLAB. CSPP58001 MATLAB MATLAB is is a matrix-based language well suited for carrying out numerical analysis. It has many, many high-
Introduction to Matlab. Outline:  What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators (Arithmetic, relational, logical ) Display.
Digital Image Processing Lecture4: Fundamentals. Digital Image Representation An image can be defined as a two- dimensional function, f(x,y), where x.
Chapter 1 – Matlab Overview EGR1302. Desktop Command window Current Directory window Command History window Tabs to toggle between Current Directory &
Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 18P. 1Winter Quarter Introduction to MATLAB Lecture 18.
Introduction to Matlab. What is Matlab? A software environment for interactive numerical computations Examples:  Matrix computations and linear algebra.
INTRODUCTION TO MATLAB MATLAB is a software package for computation in engineering, science, and applied mathemat-ics. It offers a powerful programming.
Matlab Screen  Command Window  type commands  Current Directory  View folders and m-files  Workspace  View program variables  Double click on a.
Engineering Analysis – Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 11:00-12:00.
Introduction to Matlab  Matlab is a software package for technical computation.  Matlab allows you to solve many numerical problems including - arrays.
Digital Image Processing Lecture 6: Introduction to M- function Programming.
Digital Image Processing Introduction to M-function Programming.
Introduction to Matlab
Outline Introduction to MATLAB Image Processing with MATLAB
INTRODUCTION TO MATLAB Dr. Hugh Blanton ENTC 4347.
Digital Image Processing Introduction to MATLAB. Background on MATLAB (Definition) MATLAB is a high-performance language for technical computing. The.
Introduction to MATLAB 1.Basic functions 2.Vectors, matrices, and arithmetic 3.Flow Constructs (Loops, If, etc) 4.Create M-files 5.Plotting.
NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS ( NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS (PRACTICAL PART) Tutorial 2 : Matlab - Getting Started.
Math 252: Math Modeling Eli Goldwyn Introduction to MATLAB.
MATLAB and SimulinkLecture 61 To days Outline Graphical User Interface (GUI) Exercise on this days topics.
An Introduction to Programming in Matlab Emily Blumenthal
MATLAB (Matrix Algebra laboratory), distributed by The MathWorks, is a technical computing environment for high performance numeric computation and.
How to use MATLAB (using M-files) Double click this icon To start Matlab 6.5.
Basics of MATLAB 2- Programming in MATLAB By DR. Wafaa Shabana
ECE 1304 Introduction to Electrical and Computer Engineering
Introduction to Tharmarajah Thiruvaran March 2007.
INTRODUCTION TO BASIC MATLAB
MATLAB DENC 2533 ECADD LAB 9.
Matlab Workshop 9/22/2018.
MATLAB PRIMER by Michael Medvinsky(2014)
Use of Mathematics using Technology (Maltlab)
MATLAB Tutorial Dr. David W. Graham.
Simulation And Modelling
Matlab Intro.
INTRODUCTION TO MATLAB
Simulation And Modelling
Matlab Intro.
Presentation transcript:

1 1 Introduction to MATLAB Lecture Series by CEPSTRUM Presented by Pratik Kotkar & Akash Baid

2 Topics.. What is MATLAB ?? Basic Matrix Operations Script Files and M-files Some more Operations and Functions APPLICATIONS: Plotting functions.. Image Processing Basics.. Robotics Applications.. GUI Design and Programming

3 Topics.. What is MATLAB ?? Basic Matrix Operations Script Files and M-files Some more Operations and Functions APPLICATIONS: Plotting functions.. Image Processing Basics.. Robotics Applications.. GUI Design and Programming

4 MATLAB MATLAB is a program for doing numerical computation. It was originally designed for solving linear algebra type problems using matrices. It’s name is derived from MATrix LABoratory. MATLAB has since been expanded and now has built-in functions for solving problems requiring data analysis, signal processing, optimization, and several other types of scientific computations. It also contains functions for 2-D and 3-D graphics and animation.

5 MATLAB Everything in MATLAB is a matrix !

6 MATLAB The MATLAB environment is command oriented somewhat like UNIX. A prompt appears on the screen and a MATLAB statement can be entered. When the key is pressed, the statement is executed, and another prompt appears. If a statement is terminated with a semicolon ( ; ), no results will be displayed. Otherwise results will appear before the next prompt.

7 The MATLAB User Interface

8 MATLAB To get started, type one of these commands: helpwin, helpdesk, or demo » a=5; » b=a/2 b = »

9 MATLAB Variable Names Variable names ARE case sensitive Variable names can contain up to 63 characters (as of MATLAB 6.5 and newer) Variable names must start with a letter followed by letters, digits, and underscores.

10 MATLAB Special Variables ansDefault variable name for results piValue of  epsSmallest incremental number infInfinity NaNNot a numbere.g. 0/0 i and ji = j = square root of -1 realminThe smallest usable positive real number realmaxThe largest usable positive real number

11 Topics.. What is MATLAB ?? Basic Matrix Operations Script Files and M-files Some more Operations and Functions APPLICATIONS: Plotting functions.. Image Processing Basics.. Robotics Applications.. GUI Design and Programming

12 Math & Assignment Operators Power ^ or.^a^b or a.^b Multiplication * or.*a*b or a.*b Division / or./a/b or a./b or \ or.\b\a or b.\a NOTE: 56/8 = 8\56 - (unary) + (unary) Addition+ a + b Subtraction- a - b Assignment=a = b (assign b to a)

13 Other MATLAB symbols >>prompt...continue statement on next line,separate statements and data %start comment which ends at end of line ;(1)suppress output (2)used as a row separator in a matrix :specify range

14 MATLAB Relational Operators MATLAB supports six relational operators. Less Than< Less Than or Equal<= Greater Than> Greater Than or Equal>= Equal To== Not Equal To~=

15 MATLAB Logical Operators MATLAB supports three logical operators. not~% highest precedence and&% equal precedence with or or |% equal precedence with and

16 MATLAB Matrices MATLAB treats all variables as matrices. For our purposes a matrix can be thought of as an array, in fact, that is how it is stored. Vectors are special forms of matrices and contain only one row OR one column. Scalars are matrices with only one row AND one column

17 MATLAB Matrices A matrix with only one row AND one column is a scalar. A scalar can be created in MATLAB as follows: » a_value=23 a_value = 23

18 MATLAB Matrices A matrix with only one row is called a row vector. A row vector can be created in MATLAB as follows (note the commas): » rowvec = [12, 14, 63] rowvec =

19 MATLAB Matrices A matrix with only one column is called a column vector. A column vector can be created in MATLAB as follows (note the semicolons): » colvec = [13 ; 45 ; -2] colvec =

20 MATLAB Matrices A matrix can be created in MATLAB as follows (note the commas AND semicolons): » matrix = [1, 2, 3 ; 4, 5,6 ; 7, 8, 9] matrix =

21 Extracting a Sub-Matrix A portion of a matrix can be extracted and stored in a smaller matrix by specifying the names of both matrices and the rows and columns to extract. The syntax is: sub_matrix = matrix ( r1 : r2, c1 : c2 ) ; where r1 and r2 specify the beginning and ending rows and c1 and c2 specify the beginning and ending columns to be extracted to make the new matrix.

22 MATLAB Matrices A column vector can be extracted from a matrix. As an example we create a matrix below: » matrix=[1,2,3;4,5,6;7,8,9] matrix = Here we extract column 2 of the matrix and make a column vector: » col_two=matrix( :, 2) col_two = 2 5 8

23 MATLAB Matrices A row vector can be extracted from a matrix. As an example we create a matrix below: » matrix=[1,2,3;4,5,6;7,8,9] matrix = Here we extract row 2 of the matrix and make a row vector. Note that the 2:2 specifies the second row and the 1:3 specifies which columns of the row. » rowvec=matrix(2 : 2, 1 : 3) rowvec = 4 5 6

24 Topics.. What is MATLAB ?? Basic Matrix Operations Script Files and M-files Some more Operations and Functions APPLICATIONS: Plotting functions.. Image Processing Basics.. Robotics Applications.. GUI Design and Programming

25 Use of M-File There are two kinds of M-files: Scripts, which do not accept input arguments or return output arguments. They operate on data in the workspace. Functions, which can accept input arguments and return output arguments. Internal variables are local to the function. Click to create a new M-File

26 M-File as script file Save file as filename.m Type what you want to do, eg. Create matrices If you include “;” at the end of each statement, result will not be shown immediately Run the file by typing the filename in the command window

27 Reading Data from files MATLAB supports reading an entire file and creating a matrix of the data with one statement. >> load mydata.dat;% loads file into matrix. % The matrix may be a scalar, a vector, or a % matrix with multiple rows and columns. The % matrix will be named mydata. >> size (mydata)% size will return the number % of rows and number of % columns in the matrix >> length (myvector)% length will return the total % no. of elements in myvector

28 Topics.. What is MATLAB ?? Basic Matrix Operations Script Files and M-files Some more Operations and Functions APPLICATIONS: Plotting functions.. Image Processing Basics.. Robotics Applications.. GUI Design and Programming

29 Some Useful MATLAB commands whoList known variables whosList known variables plus their size help>> help sqrt Help on using sqrt lookfor>> lookfor sqrt Search for keyword sqrt in m-files what >> what a: List MATLAB files in a: clearClear all variables from work space clear x yClear variables x and y from work space clcClear the command window

30 Some Useful MATLAB commands whatList all m-files in current directory dirList all files in current directory lsSame as dir type testDisplay test.m in command window delete testDelete test.m cd a:Change directory to a: chdir a:Same as cd pwdShow current directory which testDisplay directory path to ‘closest’ test.m

31 MATLAB Logical Functions MATLAB also supports some logical functions. xor (exclusive or) Ex: xor (a, b) Where a and b are logical expressions. The xor operator evaluates to true if and only if one expression is true and the other is false. True is returned as 1, false as 0. any (x) returns 1 if any element of x is nonzero all (x) returns 1 if all elements of x are nonzero isnan (x) returns 1 at each NaN in x isinf (x) returns 1 at each infinity in x finite (x) returns 1 at each finite value in x

32 Matlab Selection Structures An if - elseif - else structure in MATLAB. Note that elseif is one word. ifexpression1% is true % execute these commands elseif expression2% is true % execute these commands else% the default % execute these commands end

33 MATLAB Repetition Structures A for loop in MATLAB for x = array for ind = 1:100 b(ind)=sin(ind/10) end while loop in MATLABwhile expression while x <= 10 % execute these commands end x=0.1:0.1:10; b=sin(x); - Most of the loops can be avoided!!!

34 Scalar - Matrix Addition » a=3; » b=[1, 2, 3;4, 5, 6] b = » c= b+a% Add a to each element of b c =

35 Scalar - Matrix Subtraction » a=3; » b=[1, 2, 3;4, 5, 6] b = » c = b - a %Subtract a from each element of b c =

36 Scalar - Matrix Multiplication » a=3; » b=[1, 2, 3; 4, 5, 6] b = » c = a * b % Multiply each element of b by a c =

37 Scalar - Matrix Division » a=3; » b=[1, 2, 3; 4, 5, 6] b = » c = b / a % Divide each element of b by a c =

38 The use of “.” – “Element” Operation Given A: Divide each element of A by 2 Multiply each element of A by 3 Square each element of A

39 MATLAB Toolboxes MATLAB has a number of add-on software modules, called toolbox, that perform more specialized computations.  Signal Processing  Image Processing  Communications  System Identification  Wavelet Filter Design  Control System  Fuzzy Logic  Robust Control  µ-Analysis and Synthesis  LMI Control  Model Predictive Control  …

40 MATLAB Demo Demonstrations are invaluable since they give an indication of the MATLAB capabilities. demo A comprehensive set are available by typing the command >>demo in MATLAB prompt.

41 An Interesting, MATLAB command why In case you ever needed a reason

42 Topics.. What is MATLAB ?? Basic Matrix Operations Script Files and M-files Some more Operations and Functions APPLICATIONS: Plotting functions.. Image Processing Basics.. Robotics Applications.. GUI Design and Programming

43 Plot PLOT Linear plot. PLOT(X,Y) plots vector Y versus vector X PLOT(Y) plots the columns of Y versus their index PLOT(X,Y,S) with plot symbols and colors See also SEMILOGX, SEMILOGY, TITLE, XLABEL, YLABEL, AXIS, AXES, HOLD, COLORDEF, LEGEND, SUBPLOT... x = [ ]; y1 = (x.^2) -1; plot(x, y1,'bo-.'); Example

44 Plot Properties XLABEL X-axis label. XLABEL('text') adds text beside the X-axis on the current axis. YLABEL Y-axis label. YLABEL('text') adds text beside the Y-axis on the current axis.... xlabel('x values'); ylabel('y values'); Example

45 Hold HOLD Hold current graph. HOLD ON holds the current plot and all axis properties so that subsequent graphing commands add to the existing graph. HOLD OFF returns to the default mode HOLD, by itself, toggles the hold state.... hold on; y2 = x + 2; plot(x, y2, 'g+:'); Example

46 Subplot SUBPLOT Create axes in tiled positions. SUBPLOT(m,n,p), or SUBPLOT(mnp), breaks the Figure window into an m-by-n matrix of small axes x = [ ]; y1 = (x.^2) -1; % Plot y1 on the top subplot(2,1,1); plot(x, y1,'bo-.'); xlabel('x values'); ylabel('y values'); % Plot y2 on the bottom subplot(2,1,2); y2 = x + 2; plot(x, y2, 'g+:'); Example

47 Figure FIGURE Create figure window. FIGURE, by itself, creates a new figure window, and returns its handle. x = [ ]; y1 = (x.^2) -1; % Plot y1 in the 1 st Figure plot(x, y1,'bo-.'); xlabel('x values'); ylabel('y values'); % Plot y2 in the 2 nd Figure figure y2 = x + 2; plot(x, y2, 'g+:'); Example

48 Surface Plot x = 0:0.1:2; y = 0:0.1:2; [xx, yy] = meshgrid(x,y); zz=sin(xx.^2+yy.^2); surf(xx,yy,zz) xlabel('X axes') ylabel('Y axes') x = 0:0.1:2; y = 0:0.1:2; [xx, yy] = meshgrid(x,y); zz=sin(xx.^2+yy.^2); surf(xx,yy,zz) xlabel('X axes') ylabel('Y axes')

49 contourf-colorbar-plot3-waterfall-contour3-mesh-surf 3 D Surface Plot

50 Convolution The behavior of a linear, continuous-time, time-invariant system with input signal x(t) and output signal y(t) is described by the convolution integral - h(t), assumed known, the response of the system to a unit impulse input For example, x = [ ];  [ ] h = [ ];  [ ] conv(x,h) yields y = [ ] stem(y); ylabel(‘Conv'); xlabel(‘sample number’);

51 Topics.. What is MATLAB ?? Basic Matrix Operations Script Files and M-files Some more Operations and Functions APPLICATIONS: Plotting functions.. Image Processing Basics.. Robotics Applications.. GUI Design and Programming

52 Image Processing Toolbox The Image Processing Toolbox is a collection of functions that extend the capability of the MATLAB ® numeric computing environment. The toolbox supports a wide range of image processing operations, including:  Geometric operations  Neighborhood and block operations  Linear filtering and filter design  Transforms  Image analysis and enhancement  Binary image operations  Region of interest operations

53 MATLAB Image Types Indexed images: m-by-3 color map Intensity images: [0,1] or uint8 Binary images: {0,1} RGB images: m-by-n-by-3

54 Indexed Images » [x,map] = imread('trees.tif'); » imshow(x,map);

55 Intensity Images » image = ind2gray(x,map); » imshow(image);

56 Binary Images » imshow(edge(image));

57 RGB Images

58 Image Display image- create and display image object imagesc - scale and display as image imshow - display image colorbar - display colorbar getimage- get image data from axes truesize - adjust display size of image zoom - zoom in and zoom out of 2D plot

59 Image Conversion Gray2ind - intensity image to index image im2bw - image to binary Im2double - image to double precision Im2uint8 - image to 8-bit unsigned integers Im2uint16 - image to 16-bit unsigned integers Ind2gray - indexed image to intensity image mat2gray - matrix to intensity image rgb2gray - RGB image to grayscale rgb2ind - RGB image to indexed image

60 GEOMETRIC OPERATIONS “imcrop” crops an image to a specified rectangle. imcrop displays the input image and waits for you to specify the crop rectangle with the mouse.

61 IMAGE ENHANCEMENT Adjust intensity  imadjust  histeq Noise removal  linear filtering  median filtering  adaptive filtering >>im2 = histeq(im); >>imshow(im2)

62 TRANSFORMS Fourier Transform -fft2, fftshift, ifft2 Discrete Cosine Transform (DCT) -dct2, idct2, dctmtx, dctdemo Radon Transform -radon, iradon, phantom

63 Topics.. What is MATLAB ?? Basic Matrix Operations Script Files and M-files Some more Operations and Functions APPLICATIONS: Plotting functions.. Image Processing Basics.. Robotics Applications.. GUI Design and Programming

64 Robotics Application Lez Concorrenza - The Automation-Robotics Event, Techniche 2005

65 Robotics Application Concept take image filter using medfilt2 take the subarray of ball region, find cluster of max area,find its centroid take the subarray of robot region, find cluster of max area, find its centroid interpolate the ball using the ball's current and previous coordinate, give output

66 Robotics Application MATLAB Code parport=digitalio('parallel','LPT1'); addline(parport,0:7,'out'); ball_x_prev = 1; ball_y_prev = 1; while (1) % code for acquiring image filtered_image=medfilt2(bw,[3 3]); % filter the image region_ball = filtered_image[20:460,10:575]; % ball region region_bot = filtered_image[20:460,575:630]; % robot region label = bwlabel(region_ball,4); %label the clusters in the region data = regionprops(label,'basic'); % data ontains properties of clusters in the region object = find([data.Area]==max([data.Area])) % object conatains the label of the cluster with max area

67 Robotics Application ball_x = data(object).Centroid(1); %x coordinates of the ball ball_y = data(object).Centroid(2); label = bwlabel(region_bot,4); %label the clusters in the region data = regionprops(label,'basic'); % data ontains properties of clusters in the region object =find([data.Area]==max([data.Area])) % object conatains the label of the cluster with max area robot_x = data(object).Centroid(1); %x coordinates of the bot robot_y = data(object).Centroid(2); % Algorithm for movement of robot if (ball_x > ball_x_prev) % the ball is returning to the bot % Do something if (robot_y > y_proj) % Do something else Etc.

68 Topics.. What is MATLAB ?? Basic Matrix Operations Script Files and M-files Some more Operations and Functions APPLICATIONS: Plotting functions.. Image Processing Basics.. Robotics Applications.. GUI Design and Programming

69 Graphical User Interface What is GUI: A graphical user interface (GUI) is a user interface built with graphical objects such as Buttons Text fields Sliders Menus If the GUI is designed well-designed, it should be intuitively obvious to the user how its components function.

70 Push Buttons Radio Buttons Frames Checkbox Slider Edit text static text Axes

71 Graphical User Interface Guide Editor Property Inspector Result Figure

72 GUI: Spectrum Analyzer

73 Thanks Questions ??