Documente Academic
Documente Profesional
Documente Cultură
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
Fundamentals:
An Overview
by
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
MATLAB Fundamentals
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
MATLAB Fundamentals
St
Starting
ti MATLAB
MATLAB Fundamentals
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
Simple
p Arithmetic Operations
p
Use it as a calculator:
>> 4.23*6.8 + 25/6
Whatisthedifference??
Th iissue th
Then
the command:
d
>> disp(x)
MATLAB Fundamentals
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
V if th
Verify
the size
i off the
th Matrix:
M ti
>> size(um1) or >> size(um2)
MATLAB Fundamentals
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
Transpose m1:
>> m1t = m1
or xo = ones(5,5)
Some
Elementary
Commands
and
S
El
t
C
d for
f Matrices
M t i
d Arrays
A
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
MATLAB Fundamentals
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
MATLAB Fundamentals
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
MATLAB Fundamentals
MATLAB Fundamentals
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
MATLAB Fundamentals
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
The colon (:) is one of the most important MATLAB operators. It occurs in
several different forms.
If you want to create a row vector of integers with unit
spacing, issue the command: >> var1 = 1:10
If you want a similar array with nonunit spacing
spacing, specify the
increment (either positive or negative). Study the commands:
>> var2 = 3:6:33 or >> var3 = 33:-6:3
>> Xd(:,2) = [ ]
MATLAB Fundamentals
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
Some Useful
f Commands
C
To delete all variables from the work space, type clear all
MATLAB Fundamentals
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
Next time when you re-open MATLAB, you can load the entire
workspace
k
previously
i
l stored:
t
d
>> load myworkspace.mat
MATLAB Fundamentals
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
>> x = 0:pi/20:6*pi;
p ( , p(
)
( ), ),g
>> plot(x,exp(-0.2*x).*sin(x),'r'),grid
>> axis([0 20 -0.4 0.8])
>> xlabel('time') >> ylabel('amplitude')
>> title(
title('Plot
Plot of the Exponentially Damped Sine Function
Function'))
Plot of the Exponentially Damped Sine Function
0.8
0.6
amplitude
0.4
02
0.2
-0.2
-0.4
10
time
12
14
16
18
20
MATLAB Fundamentals
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
>> y
y2 = 0.5*sin(x);
( );
>> y3 = 2.5*cos(x);
>> plot(x,y1,'r--',x,y2,'b-',x,y3,'k:')
>> axis([0 18 -5 5])
>> ylabel(
ylabel('Cosine
Cosine functions')
functions )
>> legend('5*cos(x)','0.5*sin(x)','2.5*cos(x)')
>> title('Typical example of multiple plots')
MATLAB Fundamentals
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
5*cos(x)
0 5*sin(x)
0.5
sin(x)
2.5*cos(x)
4
3
Co
osine functionss
2
1
0
-1
-2
-3
-4
-5
8
10
0 x 6
12
14
16
18
MATLAB Fundamentals
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
>> y2 = 0.5*sin(x);
>> y3 = 2.5*sqrt(x);
>> y4 = 12*exp(-0.5*x);
>> subplot(2,2,2),
subplot(2 2 2) plot(x,y2,
plot(x y2 'b-')
b )
>> subplot(2,2,3), plot(x,y3,'k:')
MATLAB Fundamentals
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
10
15
0 x 6
Typical example of a subplot-3
2.5*sqrt(x)
10
0 x 6
15
-0.5
10
0.5*sin(x)
Sine function
5*cos(x)
-5
Square
e root function
0.5
Expone
ential function
Cosine function
C
n
10
15
0 x 6
Typical example of a subplot-4
12*exp(-0.5*x)
10
10
0 x 6
15
MATLAB Fundamentals
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
>> [x y] = meshgrid(-8:0.5:8);
>> r = sqrt(x.^2
q (
+ y.^2)+eps;
y ) p ;
>> z = sin(r)./r;
>> mesh(z)
0.5
-0.5
40
30
40
30
20
20
10
10
MATLAB Fundamentals
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
>> [x y] = meshgrid(-8:0.5:8);
>> r = sqrt(x.^2
q (
+ y.^2)+eps;
y ) p ;
>> z = sin(r)./r;
>> surf(z), shading flat
or
0.5
-0.5
40
30
40
30
20
20
10
10
Programming in MATLAB
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
Scripts
p and Functions
Programming in MATLAB
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
New
E t th
Enter
the series
i off MATLAB statements:
t t
t
[x y] = meshgrid(-8:0.5:8);
r = sqrt(x.^2 + y.^2)+eps;
z = sin(r)./r;
mesh(z)
Programming in MATLAB
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
M-file
f Functions
New
Function
E t th
Enter
the series
i off MATLAB statements:
t t
t
R
Run
th
the fil
file again,
i iin th
the command
d li
line, b
by ttyping:
i
>> [x y] = sqre_cube(6,7)
Programming in MATLAB
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
The break
Th
b
k statement
t t
t ((can b
be used
d tto tterminate
i t a while
hil loop
l
or to exit a for loop).
The continue statement (can be used to exit a for loop to
pass immediately to the next iteration of the loop, skipping
the remaining statements in the loop).
The return
return statement, the switch
switch statement etc.
One can study the syntax by typing the help command (e.g.
help for)
Programming in MATLAB
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
statements
ELSEIF expression
statements
ELSE
statements
END
FOR
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
Programming in MATLAB
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
Programming in MATLAB
Array Operators
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
Programming in MATLAB
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
Programming in MATLAB
Operator Precedence
Programming in MATLAB
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
fprintf
fp f Statement for
f Displaying
p y g Output
p on the Screen
In MATLAB, the command fprintf can be utilized both for
displaying the output on the screen as well as for writing the
output
t t to
t a file.
fil
A script M-file
M file that executes a sequence of statements and
displays the result on the screen:
x_array
x
array = [5.5
[5 5 8.7
8 7 12
12.4
4 34
34.7
7 67
67.9
9 -3.2
-3 2 6
6.8];
8];
fprintf('\nmaximum value = %8.4f', max(x_array));
fprintf('\nminimum value = %8.4f', min(x_array));
fprintf('\naverage value = %8.4f', mean(x_array));
fprintf('\n');
Programming in MATLAB
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
fprintf
fp f Statement for
f Savingg Output
p to a File
Change
g the previous
p
script
p M-file as shown below and
execute it in the command prompt:
x_array = [5.5 8.7 12.4 34.7 67.9 -3.2 6.8];
outp = fopen('array.txt','wt');
fprintf(outp,'\nmaximum value = %8.4f', max(x_array));
fprintf(outp,'\nminimum value = %8.4f', min(x_array));
fprintf(outp,'\naverage
fprintf(outp,
\naverage value = %8.4f
%8.4f',, mean(x
mean(x_array));
array));
fprintf(outp,'\n');
fclose(outp);
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
Programming in MATLAB
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
Programming in MATLAB
MATLAB/Simulink
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
Introduction to Simulinkk
MATLAB/Simulink
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
or
click here
to start
simulink
choose
current
directory
MATLAB/Simulink
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
Library
y
Browser
gives
access
to
various standard or
additional
blocks
that can be utilized
to build complicated
models.
MATLAB/Simulink
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
MATLAB/Simulink
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
Edit the blank model by dragging and dropping blocks from the library
browser, adding appropriate sources and sinks, and making suitable
connections to build your own model.
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
MATLAB/Simulink
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
MATLAB/Simulink
source 1
source 2
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
MATLAB/Simulink
sink
(oscilloscope)
connector
MUX
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
MATLAB/Simulink
MATLAB/Simulink
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
autoscale
scope
parameters
MATLAB/Simulink
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
the
simulink
model
created is saved, for
future use, as sim1.mdl
in
your
chosen
directory
double
click
sim1.mdl
to
open
p
this
simulink model
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
MATLAB/Simulink
Creatingg GUIs
G
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
Creatingg GUIs
G
The blank GUI is displayed in the Layout Editor, which acts as the
control panel for all of the GUI Tools.
Layout Area
Component
Palette
Lay out your GUI, by dragging components like Slider, Edit Text, Check
Box, Push Button etc. from the Component Palette into the Layout Area.
Layout Area
Lay out your GUI, by dragging components like Slider, Edit Text, Check
Box, Push Button etc. from the Component Palette into the Layout Area.
Layout Area
Lay out your GUI, by dragging components like Slider, Edit Text, Check
Box, Push Button etc. from the Component Palette into the Layout Area.
Layout Area
An Example
An Example
An Example
Make
the
GUI
Resizable.
Click
Tools
GUI
Options.
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
An Example
Under
Proportional
when the window
is resized, the
GUI components
also get resized.
Place
a
Static Text
control.
Right click
to reach its
Property
Inspector.
p
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
An Example
An Example
Change
its
String property
to Enter the
number
to
square
root
and
Press
Start. The Tag
of
this
component is
text1.
An Example
Add
an
Edit
Text
control. Set
its
String
property to
blank. The
Tag of this
component
is edit1.
An Example
Next, activate the figure using Editor in View option and saving it as
Newton.fig.
An Example
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
An Example
Add
another
Static
Text
control. Set its
String property
to Output and
its
HorizontalAlig
nment to left.
The Tag of this
component is
text2.
An Example
Add a Push
Button. Set its
String property
to Start. The
Tag
of
this
component is
pushbutton1.
An Example
Now, activate the figure again using Editor in View option, to update
Newton.m. Then the pushbutton1_Callback sub function is programmed as:
An Example
Save your work and activate the figure again to test it. Then Run the figure.
An Example
Save your work and activate the figure again to test it. Then Run the figure.
An Example
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
pout.tif
Histogram
of pout.tif
Improve the contrast of this image using the function histeq which performs
histogram equalization:
g = histeq(img1);
( g )
>> img2
Histogram equalized
pout.tif
Histogram of
histogram
equalized
version
of
pout.tif
moon.tif
Intensity
adjusted
version of
moon.tif
Use the command im2bw to convert grayscale moon.tif into a binary image using
thresholding and display the thresholded image:
>> img_moon_bw = im2bw(img_moon,thr_intensity);
>> figure, imshow(img_moon_bw)
moon.tif
Automatic
thresholding
based
segmented
moon.tif
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA
References
L
i
MATLAB 7,
7 Release14,
R l
14 MATLAB & Si
li k
Learning
Simulink
Student Version, The MathWorks, Inc., 2005.
Ed Overman,
Overman A MATLAB Tutorial,
Tutorial Department of
Mathematics, The Ohio State University, 2012.
EL
JA EC
D TR
AV I A
PU CA MIT
R L E AV
U N A
N G C
IV IN H
ER E A
SI ER TTE
TY IN R
, K G D JE
O E E
LK PA
AT R
A, TM
I N EN
D T
IA