Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
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
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:
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);
0.8
>>y=sin(x);
0.6
0.4
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
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
24
Writing User Defined Functions
function out1=functionname(in1)
function out1=functionname(in1,in2,in3)
function [out1,out2]=functionname(in1,in2)
indicator is equal to 1
And takes the element by element square of the input
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
>>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