Like this presentation? Why not share!

# Introduction to MATLAB

## on Oct 01, 2012

• 2,793 views

two days workshop on MATLAB

two days workshop on MATLAB

### Views

Total Views
2,793
Views on SlideShare
2,793
Embed Views
0

Likes
0
333
0

No embeds

### Report content

• Comment goes here.
Are you sure you want to

## Introduction to MATLABPresentation Transcript

• Introduction to MATLAB(MATrix LABoratory) Presented By: Bhavesh Shah Asst. Prof.,
• Outline: What is MATLAB? MATLAB Screen Variables, array, matrix, indexing Operators (Arithmetic, relational, logical) Display Facilities Flow Control Writing User Defined Functions Design Neural Network(NN) Graphical User Interface (GUI) Image Processing Toolbox Advantages and Disadvantages of MATLAB Conclusion MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 2
• What is MATLAB? The MATLAB is high-performance language for technical computing integrates computation, visualization, and programming in an easy-to-use environment where problems and solutions are expressed in familiar mathematical notation.Where MATLAB is used  Math and computation  Algorithm development  Data acquisition  Modelling, simulation, and prototyping  Data analysis, exploration, and visualization  Scientific and engineering graphics  Application development, including graphical user interface building MATLAB workshop under CSI Student 27-28 Sept,2012 Chapter 3
• Toolboxes provided By MATLAB1. Aerospace Simulation2. Neural Network3. Parallel Computing4. Image Acquisition5. Image processing6. Genetic Algorithm7. Fuzzy Logic8. Database processing9. Video and Image processing10. Control System11. Signal Processing12. Statistics13. Financial Toolbox14. Curve fitting MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 4
• Toolboxes provided By MATLAB1. Aerospace Simulation2. Neural Network3. Parallel Computing4. Image Acquisition5. Image processing6. Genetic Algorithm7. Fuzzy Logic8. Database processing9. Video and Image processing10. Control System11. Signal Processing12. Statistics13. Financial Toolbox14. Curve fitting MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 5
• MATLAB Screen Command Window  type commands Current Directory  View folders and m-files Workspace  View program variables  Double click on a variable to see it in the Array Editor Command History  view past commands  save a whole session using diary MATLAB workshop under CSI Student 27-28 Sept,2012 Chapter 6
• Structure of MATLAB MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 7
• Comment used in MATLAB “%” is the neglect sign for MATLAB (equivalent of “//” in C). Anything after it on the same line is neglected by MATLAB compiler. Sometimes slowing down the execution is done deliberately for observation purposes. You can use the command “pause” for this purpose >>pause %wait until any key >>pause(3) %wait 3 seconds MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 8
• Useful Commands  The two commands used most by Matlab users are >>help functionname >>lookfor keyword MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 9
• Variables No need for types. i.e., int a; double b; float c; All variables are created with double precision unless specified and they are matrices. >>x=5; >>x1=2; After these statements, the variables are 1x1 matrices with double precision. MATLAB workshop under CSI Student 27-28 Sept,2012 Chapter 10
• Variables(cont…) Use meaningful names for variables MATLAB variable names – must begin with a letter – 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. Naming convention: use lowercase letters MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 11
• Variable(cont…)Initialization using shortcut statements– colon operator “first:increment:last” >> x = 1:2:10 x =1 3 5 7 9 >> y = 0:0.1:0.5 y = 0 0.1 0.2 0.3 0.4 0.5 MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 12
• Variable(cont…) MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 13
• Array MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 14
• Array, Matrix  a vector x = [1 2 5 1] x = 1 2 5 1  a matrix x = [1 2 3; 5 1 4; 3 2 -1] x = 1 2 3 5 1 4 3 2 -1  transpose y = x’ y = 1 2 5 1 MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 15
• Long Array, Matrix  t =1:10 t = 1 2 3 4 5 6 7 8 9 10  k =2:-0.5:-1 k = 2 1.5 1 0.5 0 -0.5 -1  B = [1:4; 5:8] = 1 2 3 4 5 6 7 8 MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 16
• Built-in Variables pi: p value up to 15 significant digits i, j: sqrt(-1) Inf: infinity (such as division by 0) NaN: Not-a-Number (such as division of zero by zero). clock: current date and time as a vector date: current date as a string (e.g. 16-Feb-2004) eps: epsilon ans: default variable for answers tic…toc MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 17
• Built-in Math function abs, sign log, log10, log2 exp sqrt sin, cos, tan max, min round, floor, ceil, fix mod MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 18
• Built in Functions sort sortrows mod(num,2) MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 19
• Built in function related to String MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 20
• MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 21
• Limit and Integration MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 22
• Differentiation MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 23
• Solving Equations>> solve(cos(2*x)+sin(x)=1) MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 24
• Some useful Command who: show your workspace whos: show your workspace with details memory: show memory status clc: clear command window clear: clear workspace variable cntl+d: forcefully quit diary: to maintain a log MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 25
• Initializing with Built-in Functions zeros(n) zeros(n,m) zeros(size(arr)) ones(n) ones(n,m) ones(size(arr)) eye(n) eye(n,m) length(arr) size(arr) MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 26
• Generating Vectors from functions zeros(M,N) MxN matrix of zeros x = zeros(1,3) x = 0 0 0 ones(M,N) MxN matrix of ones x = ones(1,3) x = 1 1 1 rand(M,N) MxN matrix of uniformly distributed random x = rand(1,3) numbers on (0,1) x = 0.9501 0.2311 0.6068 MATLAB workshop under CSI Student 27-28 Sept,2012 Chapter 27
• Matrix Index  The matrix indices begin from 1 (not 0 (as in C))  The matrix indices must be positive integerGiven: A(-2), A(0) Error: ??? Subscript indices must either be real positive integers or logicals. A(4,2) Error: ??? Index exceeds matrix dimensions. MATLAB workshop under CSI Student 27-28 Sept,2012 Chapter 28
• Concatenation of Matrices  x = [1 2], y = [4 5], z=[ 0 0] A = [ x y] 1 2 4 5 B = [x ; y] 1 2 4 5 C = [x y ;z]Error:??? Error using ==> vertcat CAT arguments dimensions are not consistent. MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 29
• Operators (arithmetic) + addition - subtraction * multiplication / division ^ power „ transpose MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 30
• Matrices Operations Given A and B: Addition Subtraction Product Transpose MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 31
• Operators (Element by Element) .* : element-by-element multiplication ./ : element-by-element division .^ : element-by-element power MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 32
• The use of “.” – “Element” OperationA = [1 2 3; 5 1 4; 3 2 1] A= 1 2 3 5 1 4 3 2 -1 b = x .* y c=x./y d = x .^2x = A(1,:) y = A(3 ,:) b= c= d=x= y= 3 8 -3 0.33 0.5 -3 1 4 9 1 2 3 3 4 -1 K= x^2 Error: ??? Error using ==> mpower Matrix must be square. B=x*y Error: ??? Error using ==> mtimes Inner matrix dimensions must agree. MATLAB workshop under CSI Student 27-28 Sept,2012 Chapter 33
• Matrix Operation(cont…) transpose(„) tril: lower triangular matrix triu: upper triangular matrix rank: show rank of matrix det: determinant of matrix diag: returns principle diagonal inv: inverse of the matrix eig: eign value(matrix must be square matrix) MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 34
• MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 35
• Displaying Data/Text MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 36
• Displaying Data/Text(cont…) MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 37
• Displaying Data/Text(cont…) MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 38
• Import/Export Data from Command MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 39
• Operators (relational, logical)  == Equal to  ~= Not equal to  < Strictly smaller  > Strictly greater  <= Smaller than or equal to  >= Greater than equal to  & And operator  | Or operator MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 40
• Flow Control  if  for  while  break  continue  switch and case MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 41
• Control Structures Some Dummy Examples  If Statement Syntax if ((a>3) & (b==5)) Some Matlab Commands; if (Condition_1) end MATLAB Commands if (a<3) elseif (Condition_2) Some Matlab Commands; MATLAB Commands elseif (b~=5) elseif (Condition_3) Some Matlab Commands; end MATLAB Commands else if (a<3) Some Matlab Commands; MATLAB Commands else end Some Matlab Commands; end MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 42
• Control Structures Some Dummy Examples For loop syntax for i=1:100for i=start: Last index Some Matlab Commands; end MATLAB Commandsend for j=1:3:200 Some Matlab Commands; end for m=13:-0.2:-21 Some Matlab Commands; end for k=[0.1 0.3 -13 12 7 -9.3] Some Matlab Commands; end MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 43
• Control Structures Dummy Example While Loop Syntax while ((a>3) & (b==5)) Some Matlab Commands; endwhile (condition) % while loop i=1; MATLAB Commands while(i<10) disp(i);end i=i+1; end MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 44
• Use of M-FileClick to createa new M-File • Extension “.m” • A text file containing script or function or program to run MATLAB workshop under CSI Student 27-28 Sept,2012 Chapter 45
• Switch and case MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 46
• Continue statement MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 47
• Break statement MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 48
• Use of M-File Save file as Denem430.m If you include “;” at the end of each statement, result will not be shown immediately MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 49
• Solution>> A{1,1} = MATLAB ;>> A{1,2} = SIMULINK ;>> A = deblank(A)A= MATLAB SIMULINK MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 50
• Writing User Defined Functions  Functions are m-files which can be executed by specifying some inputs and supply some desired outputs.  The code telling the MATLAB that an m-file is actually a function is function out1=functionname(inp1) function out1=functionname(inp1,inp2,inp3) function [out1,out2]=functionname(inp1,inp2)  You should write this command at the beginning of the m-file and you should save the m-file with a file name same as the function name MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 51
• How to read a text filefid = fopen(message.txt,r);ice1= fread(fid);s = char(ice1);fclose(fid);disp(s);Ans hello MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 52
• How to write a text file txt=[65 67 68 69]; fid = fopen(output.txt,wb); fwrite(fid,char(txt),char); fclose(fid); ANS =ACDE MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 53
• Writing User Defined Functions  Examples  Write a function : out=squarer (A, ind)  Which takes the square of the input matrix if the input indicator is equal to 1  And takes the element by element square of the input matrix if the input indicator is equal to 2 Same Name MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 54
• Basic Task: Plot the function sin(x)between 0≤x≤4π  Create an x-array of 100 samples between 0 and 4π. Syntax: linspace(start, interval, end); >>x=linspace(0,4*pi,100);  Calculate sin(.) of the x-array >>y=sin(x);  Plot the y-array >>plot(y) MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 55
• Plot the function e-x/3sin(x) between0≤x≤4π  Create an x-array of 100 samples between 0 and 4π. >>x=linspace(0,4*pi,100);  Calculate sin(.) of the x-array >>y=sin(x);  Calculate e-x/3 of the x-array >>y1=exp(-x/3);  Multiply the arrays y and y1 >>y2=y*y1; MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 56
• Plot the function e-x/3sin(x) between0≤x≤4π Multiply the arrays y and y1 correctly >>y2=y.*y1; Plot the y2-array 0.7 >>plot(y2) 0.6 0.5 0.4 0.3 0.2 0.1 0 -0.1 -0.2 -0.3 0 10 20 30 40 50 60 70 80 90 100 MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 57
• Display Facilities plot(par1,par2) 0.7 0.6 0.5 Example: 0.4 >>x=linspace(0,4*pi,100); 0.3 >>y=sin(x); 0.2 0.1 >>plot(y) 0 >>plot(x,y) -0.1 -0.2 -0.3 0 10 20 30 40 50 60 70 80 90 100 MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 58
• Neural Network (NN) MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 59
• How to Design Neural Network1. Collect data2. Create the network3. Configure the network4. Initialize the weights and biases5. Train the network6. Validate the network7. Use the network MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 60
• Simple Neuron/1st layer Perceptron b X1 wb=1 w1 E y w2 X2 MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 61
• Transfer Function MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 62
• Vectors used in NN MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 63
• Neural Network Architecture MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 64
• MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 65
• MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 66
• Multilayer NN MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 67
• How to open Neural Network Tool>>nftool MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 68
• Graph Plot MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 69
• Display Facilities title(.) >>title(‘This is the sinus function’) This is the sinus function 1 0.8 xlabel(.) 0.6 0.4 >>xlabel(‘x (secs)’) 0.2 sin(x) 0 ylabel(.) -0.2 -0.4 -0.6 -0.8 >>ylabel(‘sin(x)’) -1 0 10 20 30 40 50 60 70 80 90 100 x (secs) MATLAB workshop under CSI Student 27-28 Sept,2012 Chapter 70
• GUI (Graphical User Interface) MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 71
• GUIDE GUIDE is Graphical User Interface Development Environment, provides a set of tools for creating graphical user interfaces (GUIs). These tools simplify the process of laying out and programming GUIs.To open GUI : >> guide MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 72
• DIALOG BOX warndlg(hello); helpdlg(hello); errordlg(hello); msgbox(hello); MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 73
• USER INTERFACE GET FILE[filename, pathname] = uigetfile(*.m, Pick an M-file); if isequal(filename,0) | isequal(pathname,0) disp(User pressed cancel) else disp([User selected , fullfile(pathname, filename)]) end MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 74
• GUI… MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 75
• PUSH BUTTON MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 76
• TOGGLE BUTTON MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 77
• RADIO BUTTON MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 78
• CHECKBOX MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 79
• EDIT TEXT MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 80
• STATIC TEXT MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 81
• SLIDER MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 82
• FRAME MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 83
• LISTBOX MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 84
• POPUP MENU MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 85
• AXES MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 86
• ALIGN OBJECTS MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 87
• MENU EDITOR MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 88
• M FILE EDITOR MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 89
• PROPERTY INSPECTOR MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 90
• MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 91
• RUN MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 92
• PUSH BUTTON MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 93
• WRITE THE CODE BELOW THE CALLBACKa =imread(cameraman.tif);imshow(a); MATLAB workshop under CSI Student 27-28 Sept,2012 Chapter 94
• RUN THE PROGRAM OR PRESS F5 MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 95
• RIGHT CLICK PUSH BUTTON & GO FORPROPERTY INSPECTOR MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 96
• CHOOSE AXES MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 97
• RIGHT CLICK AXES & GO FORPROPERTY INSPECTOR MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 98
• CHANGE THE STRING AND TAGVALUE MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 99
• WRITE THE CODE BELOW THE CALLBACKa =imread(cameraman.tif);axes(handles.one);imshow(a); MATLAB workshop under CSI Student 27-28 Sept,2012 Chapter 100
• RUN THE PROGRAM MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 101
• CODE a =imread(cameraman.tif); axes(handles.one); imshow(a); MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 102
• TOGGLE BUTTON MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 103
• RIGHT CLICK TOGGLE & GO FORPROPERTY INSPECTOR MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 104
• CHANGE THE STRING AND TAGVALUE MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 105
• RIGHT CLICK TOGGLE & GO FOR MFILE EDITOR MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 106
• WRITE THE CODE BELOW THECALLBACK a=get(hObject,Value); if a ==1 a =imread(cameraman.tif); axes(handles.one); imshow(a); else a =imread(greens.jpg); axes(handles.one); imshow(a); end MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 107
• RUN THE PROGRAM MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 108
• RIGHT CLICK CHECK BOX & GO FORPROPERTY INSPECTOR MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 109
• CHANGE THE STRING AND TAGVALUE MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 110
• RIGHT CLICK CHECK BOX & GO FOR MFILE EDITOR MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 111
• WRITE THE CODE BELOW THECALLBACK MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 112
• RUN THE PROGRAM MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 113
• Image Processing MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 114
• How to read an image a =imread(cameraman.tif); a =imread(flowers.tif); imshow(a); imshow(a); pixval on; pixval on; MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 115
• NOISE AND FILTER I = imread(eight.tif); J = imnoise(I,salt & pepper,0.02); K = medfilt2(J); subplot(1,2,1);imshow(J)subplot(1,2,2);imshow(K) MATLAB workshop under CSI Student 27-28 Sept,2012 Chapter 116
• How to read an audio file a =wavread(test.wav); wavplay(a,44100); Plot(a); MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 117
• How to read an video file a=aviread(movie.avi); movie(a); MATLAB workshop under CSI Student27-28 Sept,2012 Chapter 118