Sei sulla pagina 1di 29

Introduction to MATLAB

1
What is MATLAB?
 MATLAB is a simple programming language
with its own extensive library of mathematical
and graphical subroutines
 It integrates computation and graphics in one
easy to use interface
 MATLAB stands for MATrix LABoratory.
 MATLAB is very extendable. There are
many add-ons (toolboxes) for specific
requirements
2
What is MATLAB?
 MATLAB is an interpreted language
It is not a compiled language
Therefore identical code executes more slowly,
sometimes MUCH more slowly in MATLAB
MATLAB has more memory overhead than
equivalent FORTRAN or C programs

3
What is MATLAB?
 Main Features
Simple programming rules
Extended accuracy
Comprehensive mathematical library
Extensive graphics tools
Linkages with other languages
Transportability across environment
MATLAB scripts will work on PC, UNIX, Mac

4
What are we interested in?
 Matlab is too broad for our purposes in
this course.
 The features we are going to require is
Matlab
Series of
Matlab
commands
Command
m-files mat-files
Line

functions Command execution Data


Input like DOS command storage/
Output window loading
capability
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

6
Starting MATLAB
 MATLAB displays >> prompt when ready f
or a command(? for Ver5.3)
Will have no >> prompt when processing com
mands
Can use arrow keys to work through command
history and modify commands

7
Interactive Commands
 Enter commands at >> prompt

 Variable ‘x’ automatically allocated


MATLAB does not require declaration of
variables
Nice, but can get you in trouble so be careful
8
Array, Matrix
 a vector x = [1 2 5 1]
x =
1 2 5 1 blank/comma

 a matrix x = [1 2 3; 5 1 4; 3 2 -1]

x =
semicolon
1 2 3
5 1 4
3 2 -1

 transpose y = x’ y =
1
2
5
1
9
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]

x =
1 2 3 4
5 6 7 8

10
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 rando x = rand(1,3)
m x =
numbers on (0,1) 0.9501 0.2311 0.6068

11
Matrix Index
 The matrix indices begin from 1 (not 0 (as in C))
 The matrix indices must be positive integer

Given:

A(-2), A(0)

Error: ??? Subscript indices must either be real positive integers or logicals.

A(4,2)
Error: ??? Index exceeds matrix dimensions.

12
Operators (arithmetic)

+ addition
- subtraction
* multiplication
/ division
^ power
' complex conjugate transpose

13
Matrices Operations

Given A and B:

Addition Subtraction Product Transpose

14
Operators (Element by Element)

.* element-by-element multiplication
./ element-by-element division
.^element-by-element power

15
The use of “.” – “Element” Operation
A = [1 2 3; 5 1 4; 3 2 1]
A= x = A(1,:) y = A(3 ,:)
1 2 3
5 1 4 x= y=
3 2 -1 1 2 3 3 4 -1

b = x .* y c=x./y d = x .^2

b= c= d=
3 8 -3 0.33 0.5 -3 1 4 9

K= x^2
Erorr:
??? Error using ==> mpower Matrix must be square.
B=x*y
Erorr:
??? Error using ==> mtimes Inner matrix dimensions must agree.

16
Basic Task: Plot the function sin(x) be
tween 0≤x≤4π
 Create an x-array of 100 samples between 0
and 4π.
 pi:circumference ra
tio >>x=linspace(0,4*pi,100);

 Calculate sin(.) of the x-array 1

0.8

>>y=sin(x);
0.6

0.4

0.2

 Plot the y-array -0.2

-0.4

-0.6

-0.8

>>plot(y) -1
0 10 20 30 40 50 60 70 80 90 100

17
Operators (relational, logical)
 == Equal to
 ~= Not equal to
 < Strictly smaller
 > Strictly greater
 <= Smaller than or equal to
 >= Greater than or equal to
 & And operator
 | Or operator
18
Flow Control

 if
 for
 while
 break
 ….

19
Control Structures
 If Some Dummy Examples
Statement Syntax
if ((a>3) & (b==5))
if (Condition_1) Some Matlab Commands;
end
Matlab Commands
elseif (Condition_2) if (a<3)
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
20
Control Structures

 For Some Dummy Examples


loop syntax
for i=1:100
Some Matlab Commands;
end
for i=Index_Array
for j=1:3:200
Matlab Some Matlab Commands;
end
Commands
for m=13:-0.2:-21
end Some Matlab Commands;
end

for k=[0.1 0.3 -13 12 7 -9.3]


Some Matlab Commands;
end
21
Control Structures

 While Loop Syntax

Dummy Example
while (condition)
while ((a>3) & (b==5))
Matlab Commands Some Matlab Commands;
end
end

22
Use of M-File

Click to create a
new M-File

• Extension “.m”
• A text file containing script or function or program to run

23
Use of M-File

Save file as Demon1.m

If you include “;” at the


end of each statement,
result will not be shown
immediately

24
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(in1)
function out1=functionname(in1,in2,in3)
function [out1,out2]=functionname(in1,in2)

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

26
Notes:
 “%” is the neglect sign for Matlab
(equaivalent 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” foruntil
pause %wait this purpose
any key
pause(3) %wait 3 seconds

27
Useful Commands

 The two commands used most by Matlab


users are
>>help functionname

>>lookfor keyword

28
Resources
 Books
Two that seem to be good:
A Concise Introduction to MATLAB by William J. Palm III.
2008, McGraw-Hill, 418 pp.
Essential MATLAB for Engineers and Scientists (Fourth
Edition) by Brian Hahn and Dan Valentine. 2010,
Academic Press, 480 pp.
 Online tutorials and examples are everywhere
 Note that older books and tutorials may have
options that are no longer available and
functions that no longer work
Figures are the prime example

29

Potrebbero piacerti anche