Professional Documents
Culture Documents
Kocaeli University
Assist. Prof. Dr. Osman Byk
Digital Signal Processing Applications
What is Matlab?
What is Matlab?
Overview
Matlab
Series of
Matlab
commands
m-files
functions
Input
Output
capability
Command
Line
Command execution
like DOS command
window
mat-files
Data
storage/
loading
Features
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
Array, Matrix
A vector
x = [1 2 5 1]
x =
1
Transpose
y = x
y =
1
2
5
1
2
1
2
3
4
-1
t =
k =2:-0.5:-1
k =
1.5
0.5
= [1:4; 5:8]
x =
1
5
2
6
3
7
4
8
-0.5
-1
10
ones(M,N)
MxN matrix of 1s
rand(M,N)
x = zeros(1,3)
x =
0
0
0
x = ones(1,3)
x =
1
1
1
x = rand(1,3)
x =
0.9501 0.2311 0.6068
Matrix Index
Given:
A(-2), A(0)
Error: ??? Subscript indices must either be real positive integers or logicals.
A(4,2)
Error: ??? Index exceeds matrix dimensions.
Exercise
Concatenation of Matrices
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:
Addition
Subtraction
Product
Transpose
.* element-by-element multiplication
./ element-by-element division
.^ element-by-element power
x = A(1,:)
x=
c=x./y
d = x .^2
b=
c=
0.33 0.5 -3
d=
y = A(3 ,:)
y=
1 2 3
b = x .* y
3 8 -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.
Exercise
Sum of x and y
Product of x and y
Element by element product of x and y
Element by element division of z over t
Element by element division of z over t, but for
the first two elements only
>>y=sin(x);
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
>>plot(y)
-0.8
-1
10
20
30
40
50
60
70
80
90
100
>>plot(y2)
0.6
0.5
0.4
0.3
0.2
0.1
0
-0.1
-0.2
-0.3
10
20
30
40
50
60
70
80
90
100
Display Facilities
0.7
0.6
plot(.)
0.5
x=linspace(0,4*pi,100);
y=sin(x);
y1=exp(-x/3);
y2=y.*y1;
plot(x,y2)
0.4
0.3
0.2
0.1
0
-0.1
-0.2
stem(.)
-0.3
stem(y2)
stem(x,y2)
10
20
30
40
50
60
70
80
90
100
0.7
0.6
0.5
subplot(.)
subplot(3,1,1)
plot(x,y);
subplot(3,1,2)
plot(x,y1)
subplot(3,1,3)
plot(x,y2)
0.4
0.3
0.2
0.1
0
-0.1
-0.2
-0.3
10
20
30
40
50
60
70
80
90
100
Display Facilities
title(.)
This is the sinus function
1
0.8
xlabel(.)
0.6
0.4
>>xlabel(x (secs))
sin(x)
0.2
ylabel(.)
0
-0.2
-0.4
-0.6
>>ylabel(sin(x))
legend(.)
>>legend(Sinus function)
-0.8
-1
10
20
30
40
50
60
x (secs)
70
80
90
100
Exercise
t=0:0.1:4*pi;
x=sin(t);
y=cos(t);
plot(t,x,'r+-',t,y,'bo-.');
figure;
plot(t,x,'r+-');
hold on;
plot(t,y,'bo-.)
legend('sin','cos');
hold off;
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
10
12
14
== 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
continue
return
.
Control Structures
If Statement Syntax
if (Condition_1)
Matlab Commands
elseif (Condition_2)
Matlab Commands
elseif (Condition_3)
Matlab Commands
else
Matlab Commands
end
Control Structures
Some Dummy Examples
for i=Index_Array
Matlab Commands
end
for i=1:100
Some Matlab Commands;
end
for j=1:3:200
Some Matlab Commands;
end
for m=13:-0.2:-21
Some Matlab Commands;
end
for k=[0.1 0.3 -13 12 7 -9.3]
Some Matlab Commands;
end
Control Structures
while (condition)
Matlab Commands
end
Dummy Example
while ((a>3) & (b==5))
Some Matlab Commands;
end
Exercise
Write a for program to compute 0.5+1+1.5+2++50
1.
2.
3.
4.
a=[0.5:0.5:50];
x=sum(a)
a=[0.5:0.5:50];
b=ones(length(a),1);
x=a*b
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
Example
Write a function : out=squarer (A, ind)
Takes the square of the input matrix, A, if the input
indicator, ind, is equal to 1
Takes the element by element square of A if ind is equal
to 2
Same Name
Useful Commands
It is equivalent to \\ in C
Usefull commands
Useful Commands
>>lookfor keyword
Exercise
With loops
Without loops
Questions?
Thank you!