Matlab - Introduction Slides
Matlab - Introduction Slides
Matlab - Introduction Slides
Matlab
High Level
Languages such as
C, Pascal etc.
Assembly
What are we interested in?
Matlab (C++ and LabView) are required in
almost every research position.
Advantage: Good toolbox library
Disavantage:
Longer processing time
Price
Free Clones
Octave
Scilab
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
Variables
No need for types. i.e.,
int a;
double b;
float c;
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
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
Generating Vectors from functions
zeros(M,N) MxN matrix of zeros x = zeros(1,3)
x =
0 0 0
A(-2), A(0)
Error: ??? Subscript indices must either be real positive integers or logicals.
A(4,2)
Error: ??? Index exceeds matrix dimensions.
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.
Operators (arithmetic)
+ addition
- subtraction
* multiplication
/ division
^ power
‘ complex conjugate transpose
Matrices Operations
Given A and B:
FIND fuction
X = [1 0 4 -3 0 0 0 8 6];
find(X > 2)
ans =
3 8 9
The use of “.” – “Element” Operation
A = [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 .^2
x = 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
Erorr:
??? Error using ==> mpower Matrix must be square.
B=x*y
Erorr:
??? Error using ==> mtimes Inner matrix dimensions must agree.
Math Functions
Basic Task: Plot the function sin(x)
between 0≤x≤4π
Create an x-array of 100 samples between 0
and 4π.
>>x=linspace(0,4*pi,100);
0.8
0.6
>>y=sin(x); 0.4
0.2
-0.4
-0.6
>>plot(y) -0.8
-1
0 10 20 30 40 50 60 70 80 90 100
Plot the function e-x/3sin(x) between
0≤x≤4π
Create an x-array of 100 samples between 0
and 4π.
>>x=linspace(0,4*pi,100);
>>plot(y2) 0.6
0.5
0.4
0.3
0.2
0.1
-0.1
-0.2
-0.3
0 10 20 30 40 50 60 70 80 90 100
Display Facilities 0.7
0.6
0.5
plot(.) 0.4
0.3
Example:
0.2
0.1
>>x=linspace(0,4*pi,100); 0
>>y=sin(x); -0.1
>>plot(y) -0.2
>>plot(x,y) -0.3
0 10 20 30 40 50 60 70 80 90 100
stem(.)
0.7
0.6
0.5
0.4
0.3
Example:
0.2
0.1
>>stem(y) 0
>>stem(x,y) -0.1
-0.2
-0.3
0 10 20 30 40 50 60 70 80 90 100
Display Facilities
title(.)
This is the sinus function
>>title(‘This is the sinus function’) 1
0.8
xlabel(.) 0.6
0.4
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)
Display Facilities
LOGLOG SEMILOGY
Both axes log Y
logarithmic linear X
SEMILOGX PLOTYY
log X 2 sets of
linear Y linear axes
»other_axes
Surface Plot Example
» t = 0.001:0.001:0.03;
» s = 90:0.2:100;
» [gt, gs] = meshgrid(t,s);
» r = 0.1;
» k = 95;
» [call, put] =
blsprice(gs,k,r,gt,0.3);
» surf(t,s,call)
» xlabel('Time to Maturity')
» ylabel('Spot Price’);
»surface_ex
3-D Surface Plotting
»surf_3d
Specialized Plotting Routines
»spec_plots
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
Flow Control
if
for
while
break
….
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)
Some Matlab Commands;
elseif (Condition_3) end
Matlab Commands
if (a<3)
else Some Matlab Commands;
Matlab Commands else
end Some Matlab Commands;
end
Control Structures
Some Dummy Examples
For loop syntax for i=1:100
Some Matlab Commands;
end
Dummy Example
while (condition)
Matlab Commands while ((a>3) & (b==5))
Some Matlab Commands;
end end
Use of M-File
Click to create
a new M-File
• Extension “.m”
• A text file containing script or function or program to run
Use of M-File Save file as Denem430.m
Same Name
Writing User Defined Functions
Another function which takes an input array and returns the sum and product
of its elements as outputs
≫ z = 2+1.5*1j, real(z)
to get the result
z=
2.000+1.500i
ans =
2
Variables
»string_cat
String Arrays:
String Comparisons
STRCMP - compare whole strings