Introduction to MATLAB

1 / 25

# Introduction to MATLAB - PowerPoint PPT Presentation

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.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## Introduction to MATLAB

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### 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
• Multi-platforms (Windows, Linux, MacOSX)
• Technical computing
• Script language
• Variables are all matrices
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

• Built-in statements and functions

>> B = eye(3)

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)
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)
Exercise on Matrix functions
• m = magic(4)
• sum(m)
• sum(m’)
• sum(diag(m))
• r = rand(4,3)
• size(r)
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

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)

Matrix Arithmetic
• Subtraction (-)
• Multiplication (*)
• Right division (/)
• Solve A = xb by x = A/b
• Left division (\)
• Solve Ax = b by x = A\b
• Power (^)
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

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+)’);

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);

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
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

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

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

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

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

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

pack consolidate workspace memory

save save workspace variables to disk

size size of matrix

who list current variables

whos list current variables, long form

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

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

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

Search for documentation
• helpdesk
• http://www.mathworks.com
Reference
• Booklet on Introduction to MATLAB
• MATLAB primer (version 3)