1 / 25

Introduction to MATLAB

Introduction to MATLAB. Morris Law Jan 5, 2013. Outline. Matlab software Entering matrix Matrix function and manipulation Matlab graphics Matlab programming: writing M-file and functions Function input & output Control flow. MATLAB software.

tarala
Download Presentation

Introduction to MATLAB

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to MATLAB Morris Law Jan 5, 2013

  2. Outline • Matlab software • Entering matrix • Matrix function and manipulation • Matlab graphics • Matlab programming: writing M-file and functions • Function input & output • Control flow

  3. MATLAB software • Multi-platforms (Windows, Linux, MacOSX) • Technical computing • Script language • Variables are all matrices • Expandable by adding toolboxes

  4. Entering matrix • Explicit listing >> A = [1, 2, 3; 4, 5, 6; 7 8 9] • M-file Stored the above statement in ex1.m. Run the M-file, i.e. >> ex1 • External data files >> load A.dat • Built-in statements and functions >> B = eye(3)

  5. Matrix function and manipulation • ones(3), zeros(3), eyes(3) • magic(4), hilb(5), rand(4,3) • size(A), eig(A), det(A), inv(A), diag(A) • sum(A), prod(A), mean(A), max(A), std(A)

  6. Exercise on Matrix functions Try • A = [1 2 3; 4 5 6; 7 0 9] • x = ones(3) • y = eye(3) • z = zeros(3) • d = diag(A) • det(A) • inv(A) • rank(A) • eig(A)

  7. Exercise on Matrix functions • m = magic(4) • sum(m) • sum(m’) • sum(diag(m)) • r = rand(4,3) • size(r)

  8. Matrix elements >> x = [-1.3, sqrt(3), (1+2+3)*4/5 ]; >> x(1) x(1) = -1.3000 >> x(5)= abs(x(1)) x = -1.3000 1.7321 4.8000 0 1.3000 >> y = 1:5 y = 1 2 3 4 5 xy = [x;y] xy = -1.3000 1.7321 4.8000 0 1.3000 1.0000 2.0000 3.0000 4.0000 5.0000

  9. Matrix elements (cont) >> A = [1,2,3; 4,5,6; 7,8,9]; >> r = [10,11,12]; >> B = [A;r]; >> C = [A,zeros(size(A));ones(size(A)),A] C = 1 2 3 0 0 0 4 5 6 0 0 0 7 8 9 0 0 0 1 1 1 1 2 3 1 1 1 4 5 6 1 1 1 7 8 9 >> D = C(1:3,:) >> D = C(:,3:4)

  10. Matrix Arithmetic • Additions (+) • Subtraction (-) • Multiplication (*) • Right division (/) • Solve A = xb by x = A/b • Left division (\) • Solve Ax = b by x = A\b • Power (^)

  11. Element-by-Element Operation • Using Period (.) x = [1,2,3]; y = [4 5 6]; >> x .* y ans 4 10 18 >> x ./ y ans 0.25 0.4 0.5 >> x .\ y ans 4 2.5 2 >> x .^ y ans 1 32 729 >> x .^ 2 ans 1 4 9 >> 2 .^ [x y] ans 2 4 8 16 32 64

  12. MATLAB graphics • If y is a vector, plot(y) produced a linear graph • plot(x,y) produces a graph of y versus x t = 0: pi/10: 2*pi; x = sin(t) Y1 = sin(t+.25); Y2 = sin(t+.50); plot(x,y1,’r-’,x,y2,’g--’) Title(‘Phase Shift’) xlabel(‘x=sin(t)’); ylabel(‘y1=sin(t+)’);

  13. MATLAB graphics – 3D mesh • The following commands draw a mesh x = [-pi:0.1:pi]; y=x; [X,Y]=meshgrid(x,y); Z = sin(X).* sin(Y) + cos(X).*cos(Y); mesh(Z);

  14. MATLAB programming • Two kinds of MATLAB program • 1. Script or M-file • sequence of Matlab statements • without input and output • variables are global • 2. Functions • with input and output defined as function [out1, out2, … outN]= funcname(in1, in2, … inN) • variables are local

  15. Writing scripts / M-files • Use Matlab M-file editor, save the following as fibo.m % An M-file to calculate Fibonacci numbers f = [1 1]; i=1; while f(i) + f(i+1) < 1000 f(i+2) = f(i) + f(i+1); i=i+1; end plot(f); • At the Matlab command prompt, type the following to run >> fibo

  16. Writing script – another example • looptest.m % Fill b with square roots of 1 to 1000 using a for loop clear; tic; for i= 1:1000 b(i) = sqrt(i); end t=toc; disp([‘Time taken for loop method is ‘, num2str(t)]); % Fill b with square roots of 1 to 1000 using a vector clear; tic; a = 1:1000; b = sqrt(a); t=toc; disp([‘Time taken for vector method is ‘, num2str(t)]); • Run the program with >> looptest

  17. MATLAB function • MATLAB functions allow input and output variables function y = stat(x) % mean average [ m n ] = size(x); if m == 1 m = n; end y = sum(x) / m; • If z is a vector, z = 1:99, type >> mean(z) ans 50

  18. Control flow • If and break statement if expression, break, end or if expression statements [elseif expression statements] [else expression statements] end • For Loops for v = expression statements end • While Loops while expression statements end

  19. General Purpose commands (1/5) • Managing commands and functions demo run demo help on line documentation Info information about MATLAB and MathWorks lookfor keyword search through the help entries path control MATLAB's search path type list M-file what directory listing of M-, MAT- and MEX-files which locate functions and files

  20. General Purpose commands (2/5) • Managing variables and the workspace clear clear variables and functions from memory disp display matrix or text length length of vector load retrieve variables from disk pack consolidate workspace memory save save workspace variables to disk size size of matrix who list current variables whos list current variables, long form

  21. General Purpose commands (3/5) • Working with files and the operating system cd change current working directory delete delete file diary save text of MATLAB session dir directory listing getenv get environment value ! execute operating system command

  22. General Purpose commands (4/5) • Controlling the command window clc clear command window echo echo commands inside script files format set output format home send cursor home more control paged output in command window

  23. General Purpose commands (5/5) • Starting and quitting from MATLAB matlabrc master startup M-file quit terminate MATLAB startup M-file executed when MATLAB is invoked

  24. Search for documentation • helpdesk • http://www.mathworks.com

  25. Reference • Booklet on Introduction to MATLAB • MATLAB primer (version 3)

More Related