Professional Documents
Culture Documents
BI GING
Mt s vn cn tm hiu
Gii thiu Matlab
2. C s v Matlab
3. Function files v Script files.
4. ha
5. To giao din trong Matlab.
6. Simulink.
1.
5/9/2013
BI 1.GII THIU
BI 1.GII THIU
Kh nng v nhng ng dng ca Matlab
5/9/2013
BI 1.GII THIU
Nt Start
BI 2: C S V MATLAB
Cc bin v hng s
Hm lp sn
Mt s v d lm quen vi Matlab
Vector v ma trn
So snh v php tnh logic
Cc lnh iu khin chng trnh
5/9/2013
I. Cc bin v hng s
1.Bin
I. Cc bin v hng s
2. Cc hng
5/9/2013
II. Hm lp sn
sqrt(x) : hm rt cn bc hai
exp(x) : hm e ( e = 2,71828)
log(x) : hm lgarit t nhin ( c s e )
log10(x): hm lgarit c s 10
sin(x)/ cos(x) : hm sin/ hm cos
tan(x) / cot(x) : hm tang/ hm cotang
........
>> help LNH
Mt s hm lin quan n s phc nh sau:
abs(z) : ly moun (sut) ca s phc.
anglc(z): ly gc pha ca s phc.
real(x): ly phn thc.
imag(x) : ly phn o.
conj(x) : tr v s phc lin hip ca s phc z
II. Hm lp sn
1. Mt s lnh
Lnh
clc
Cng dng
Xa (lau) ca s lnh. Mang tnh cht hnh thc,gi tr cc bin
vn tn ti.
clear all
Gii phng ton b bin ra khi b nh. Xa Workspace
clear var1 var2 Gii phng cc bin var1 var2 ra khi b nh.
quit
Thot khi chng trnh Matlab
who
Lit k cc bin hin hnh c trong b nh.
;
Du chm phy ; cui dng lnh ngn khng cho Matlab hin
th cc kt qu ra ca s lnh.
5/9/2013
II. Hm lp sn
1. Mt s lnh
II. Hm lp sn
2. Mt s v d
>>z = sqrt(25)
>>y=sin(pi/4)
>>round(3.8) = 4, round(3.49) = 3, round(3.5) = 4
>>y = 3^2+1
>>x = y/5, z= y\5
>> rem(10,3)
>>c=clock
>> z = 1 2i, abs(z), angle(z)*180/pi,real(z), imag(z)
Gii phng trnh bc 2 trong R : 2x2 + 5x - 3 = 0
5/9/2013
II. Hm lp sn
2.Mt s v d(tt)
II. Hm lp sn
2.Mt s v d (tt)
5/9/2013
II. Hm lp sn
2.Mt s v d (tt)
II. Hm lp sn
2.Mt s v d (tt)
x dn
5/9/2013
II. Hm lp sn
2.Mt s v d (tt)
II. Hm lp sn
Mng: l tp hp s, k t c sp xp c th t
Mng 1 chiu ( vect)
-Vect hng (row array)
>>x=[2,7,0,-3] %cch nhau du , hoc khong trng.
-Vect ct (column array)
>>v=[3;5;6;9] %cch nhau bng du ;
Mng 2 chiu( ma trn)
>> A=[2,4,6 ; 3,5,7 ; 4,6,8]
A=
2 4 6
3 5 7
4 6 8
5/9/2013
II. Hm lp sn
>>u= [0:1:10]
>>u= linspace(0,10,11)
II. Hm lp sn
10
5/9/2013
II. Hm lp sn
Tm ma trn chuyn v:
>> A=[2,4,6 ; 3,5,7 ; 4,6,8]
A=
2 4 6
3 5 7
4 6 8
>> b=A
b=
2
4
6
3
5
7
4
6
8
>> A(2,3)
% truy xuat ptu dong 2 cot 3
>> A(:,2)
% trich vecto cot thu 2
>> A(3,:)
% trich vecto dong thu 3
>> A(:,2:3) % tao ma tran con gom cot 2,3 cua A
>> A(1:2,:) % tao ma tran con gom cac dong 1, 2 cua A
>> A([1 3],[2 3]) % tao 1 ma tran con gom cac ptu dong 1,3 va cot 2,3
II. Hm lp sn
Tn hm
size(A)
length(A)
max(A)
min(A)
sum(A)
sort(A)
[x,k] =max(A)
[x,k] = min(A)
[u,v,w]=find(A)
11
5/9/2013
II. Hm lp sn
12
5/9/2013
1. Cu trc IF
V d : Tnh gi tr ca y theo cc
min gi tr khc nhau ca x nh
sau:
Nu
x<0 , y=0
0 x 5 , y=x2
x>5 , y=25*x
Lnh nh sau :
if x>5
y=25*x
elseif x>=0
y=x^2
else
y=0
end
13
5/9/2013
1. Cu trc IF
3.
disp('Loai gioi')
4.
5.
disp('Loai kha')
6.
7.
8.
elseif (diem>=0)&(diem<=4)
9.
disp('Loai yeu')
10.
else
11.
12.
1. Cu trc IF
14
5/9/2013
V d:
diem = input('Nhap diem :');
switch diem
case {9,10}
disp('Loai gioi')
case {7,8}
disp('Loai kha')
case {5,6}
disp('Loai trung binh')
case {0,1,2,3,4}
disp('Loai yeu')
otherwise
disp('Diem vao khong hop le')
end
3. Vng lp for
15
5/9/2013
4. Vng lp while
4. Vng lp while
16
5/9/2013
5. Lnh break
Lnh break cho php chm dt sm vng lp for hoc while khi tha
1 iu kin no bn trong vng lp nhng n khng chm dt vic
thc thi chng trnh.
V d:
for n=1:10
x=60-n^2;
if x<0
break;
end
y=sqrt(x);
end
disp(y)
17
5/9/2013
I. Script file
Script file: l M-file n gin nht, khng c i s. c
dng khi thi hnh mt lot lnh MATLAB theo mt trnh t
nht nh.
Cu trc ngh ca mt Script file:
1. Phn ch thch : Vit cc dng ch thch cho chng trnh.
2. Phn u vo: cc gi tr u vo.
3. Phn tnh ton.
4. Phn trnh by kt qu: Dng 1 s hm ca Matlab trnh
by kt qu.
I. Script file
V d1 : Son script file tnh din tch ca tam gic khi
bit ta 3 im trong khng gian. Din tch tam gic
c tnh bng cng thc tch hu hng ca 2 vect.
18
5/9/2013
I. Script file
1. %File dientich.m : Chuong trinh tinh dien tich tam giac
2. %Du lieu dau vao : Toa do 3 diem A B C l [x,y,z]
3. %Du lieu dau ra : Dien tich tam giac ABC
4. %Bien p chi vecto huu huong cua 2 vecto ABxAC
5. disp('CHUONG TRINH TINH DIEN TICH TAM GIAC')
6. disp(' TOA DO 3 DIEM')
7. a=input('Toa do diem A =');
8. b=input('Toa do diem B =');
9. c=input('Toa do diem C =');
10. p=cross(b-a,c-a);% Tinh huu huong cua 2 vecto ABxAC
11. S=0.5*norm(p);% Dien tich tam giac ABC
12. disp('Dien tich tam giac ABC : ')
13. disp(S)
I. Script file
V d: Tnh tng S=1+(1/2) + 1/3 +...+1/n
n=input ('nhap vao gia tri n ');
S=0; i=1;
while i<=n
S=S+(1/i);
i=i+1;
end
disp ('tong cua day la ')
disp(S)
19
5/9/2013
20
5/9/2013
21
5/9/2013
4.Cch gi tp tin .m
22
5/9/2013
III. Bi tp ngh
Bi 1. Vit chng trnh tnh chu vi v din tch mt
III. Bi tp ngh
Gii bi 1:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
23
5/9/2013
III. Bi tp ngh
Bi 3: Nhp vo dy s, tm gi tr ln nht trong dy?
1.
n=input('nhap vao so phan tu cua day : ');
2.
for i=1:n
3.
a(i)=input (['a(',num2str(i),')=']);
4.
end
5.
disp ('day vua nhap la : '); disp(a)
6. max=a(1);
7. for i=1:n
8. if max<a(i)
9. max=a(i);
10. End;
11. End;
12. disp (['gia tri lon nhat cua day la,num2str(max)])
III. Bi tp ngh
Bi 4: Kim tra xem mt s n c phi l s nguyn t khng?
n=input('nhap vao gia tri n : ');
dem=0;
for i=1:n
if rem (n,i)==0
dem=dem+1;
end
end;
if dem==2
disp ('so vua nhap la so nguyen to')
else
disp ('so vua nhap khong phai so nguyen to')
end
24
5/9/2013
III. Bi tp ngh
III. Bi tp ngh
Bi 6: Tnh n! ?
Bi 7: Tnh biu thc sau ng vi gi tr n nhp vo:
x x2 x3 x4
xn
S n ( x) 1 ...
1! 2! 3! 4!
n!
function m=giaithua(n)
if (n==1)|(n==0)
m=1;
return;
end
m=n*giaithua(n-1);
25
5/9/2013
BI 4: HA
NI DUNG:
I. ha 2-D
II. ha 3-D
I. ha 2-D
1. c t kiu ng v
t = [0:pi/100:2*pi] ;
y = sin(t);
plot(t,y,:'); % v ng chm chm
grid on %to li
26
5/9/2013
3. Cc dng nh du trn th
27
5/9/2013
V d :
y = tan(sin(x)) - sin(tan(x));
plot(x,y,'--rs','LineWidth',2,'MarkerEdgeColor','k',...
'MarkerFaceColor','g','MarkerSize',10)
V d:
x=[0 1 2 3];
y=[0 4 1 5];
h=plot(x,y)
thy cc thuc tnh ha ca hm plot ta dng
lnh
set(h)
By gi ta thay i thuc tnh ca th:
1. set(h,Color, r) %dat lai mau do
2. set(h,'LineWidth',6) %dat do rong duong
3. set(h,'Marker','v','MarkerSize',6)
1.
2.
3.
28
5/9/2013
V d
1.
2.
3.
4.
5.
6.
7.
8.
x=[-5:0.01:5];
y1=x.^2;
plot(x,y1,'r--')
xlabel('Truc x');
ylabel('Truc y');
legend('y1=x^2')
text(-3,9,' \leftarrow x^2','FontSize',18)
gtext('Do thi')
29
5/9/2013
Cch 2:
1. x=[0:0.01:5];
2. y1=x.^2;
3. y2=cos(3*x);
4. grid on
5. hold on
6. plot(x,y1,'r--')
7. plot(x,y2, 'm--')
8. xlabel('Truc x');
9. ylabel('Truc y');
10. hold off
x=[-5:0.01:5];
for n = 1:8
subplot(4,2,n)
plot(x,sin(n*pi*x))
end
30
5/9/2013
1.
2.
3.
4.
5.
6.
7.
8.
Y = round(rand(5,3)*10);
subplot(2,2,1); bar(Y,'group')
title 'Group'
subplot(2,2,2); bar(Y,'stack')
title 'Stack'
subplot(2,2,3); barh(Y,'stack')
title 'Stack'
subplot(2,2,4) ; bar(Y,1.5)
9.
Group
Stack
20
15
10
Stack
Width = 1.5
8
5
6
4
3
2
2
1
0
10
15
20
Lnh POLAR : v h ta cc
1.
t = -pi:0.01:pi;
2.
polar(t, sin(t))
31
5/9/2013
Lnh POLAR : v h ta cc
V d 1:
t = -pi:0.01:pi;
polar(t, sin(t))
V d 2:
x=0:0.1:2*pi;
polar(x,abs(sin(2*x).*cos(2*x)))
0.8
0.6
0.4
y = stairs(x,sin(x)
1.
2.
3.
4.
5.
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-4
-3
-2
-1
0
Truc x
32
5/9/2013
1.
2.
3.
4.
5.
50
y = stairs(x,sin(x)
40
30
20
10
0.5
1.5
2
Truc x
2.5
3.5
V d 3:
Son tho script file c tn bai3.m lp biu tng s sinh vin in
T - Tin hc tt nghip ti trng X t nm 1996 n 2001 vi d liu
nh sau:
1.
2.
3.
4.
5.
6.
7.
8.
% Lap bieu do tong so sinh vien Dien tu Tin hoc tot nghiep
%
svdt=[38 33 36 31 60 70];
svth=[48 54 120 92 110 131];
nam=1996:2001;
subplot(211), bar(nam,svdt);
title('Sinh vien Dien tu tot nghiep tu 1996-2001');
subplot(212), bar(nam,svth);
title('Sinh vien Tin hoc tot nghiep tu 1996-2001');
colormap(cool(5));
Colormap
33
5/9/2013
15%
45%
Lnh ginput
fplot('sinc(x)',[-2*pi,2*pi]);
[x,y]=ginput(3) %ly ta 3 im trn th
34
5/9/2013
II. HA 3D
V d:
>> [x,y,z]=peaks; %hm c phn b Gauss
>> plot3(x,y,z)
>> mesh(x,y,z) %b mt dng li
>> surf(x,y,z) %t mu b mt
>> waterfall(x,y,z)
>> pcolor(x,y,z)%gi tr Z c th hin vi
gi tr mu tng ng
>> contour(x,y,z) %ly ng vin trong 2D
Bi 5: SIMULINK
Simulink l mt phn mm m rng ca MATLAB
(Toolbox ca Matlab) dng m hnh ho, m
phng v phn tch mt h thng ng, thit k h
thng iu khin, thit k DSP, h thng thng tin
v cc ng dng m phng khc.
Simulink c ghp bi hai t Simulation v Link.
Simulink cho php m t h thng tuyn tnh,h
phi tuyn, cc m hnh trong min thi gian lin
tc, hay gin on hoc mt h gm c lin tc v
gin on.
35
5/9/2013
CC BLOCKS LIBRARY:
Th vin SOURCES
Th vin th (SINKS)
Th vin Phn Ri Rc (DISCRETE)
Th vin Phn Tuyn tnh (LINEAR)
Th vin Phn Phi Tuyn (NONLINEAR)
Th vin Phn u Ni (CONECTIONS)
Th vin BLOCKSETS v TOOLBOXES
.
Cc kiu d liu
Simulink chp nhn cc kiu d liu sau :
double s thc vi chnh xc gp i
single s thc vi chnh xc n
int8
s nguyn c du 8 bit
uint8
s nguyn khng du 8 bit
int16
s nguyn c du 16 bit
uint16 s nguyn khg du 16 bit
int32
s nguyn c du 32 bit
uint32 s nguyn khng du 32 bit
36
5/9/2013
Cc bc v m hnh
1.T ca s Matlab nh lnh simulink. Ca
s th vin cc khi s xut hin
2.T ca s th vin ta nhp chut vo
File/New/Model hoc nhn Ctrl+ N.
3. Chn cc Block cc th vin thch hp
v xy dng m hnh s dng thao tc
"nhn ko th" chut.
V d 1
37
5/9/2013
V d 2
M phng mt phng trnh dng bin i Celcius
thnh Fahrenheit l : TF = (9/5)TC + 32
Trc ht ta kho st cc khi cn to m hnh:
khi Ramp trong th vin Sources a vo tn hiu nhit
khi Constant trong th vin Sources to hng s 32
khi Gain trong th vin Math to ra h s 9/5
khi Sum trong th vin Math cng hai i lng
khi Scope trong th vin Sinks hin th kt qu.
V d 3: M phng h pt
z1 +z2 =1
-z1+z2=1
38
5/9/2013
V d 4: M phng pt vi phn
x(t) = -2x(t) + u(t)
Vi u(t) l mt sng vung c bin =1
v tn s =1 rad/sec.
39
5/9/2013
Sine Wave
Clock
-1
Product
80
Gain
Product2
eu
Math
Function
Product1
Scope
-1
Constant
Gain1
40
5/9/2013
41