MATLAB TÌM HIỂU VÀ ỨNG DỤNG
MATLAB là một bộ phần mềm dùng để tính toán các bài toán kỹ thuật, được viết bằng ngôn ngữ C do hãng Math Works Inc sản xuất . Nó được tạo trên cơ sơ những phần mềm do các nhà lập trình của các dự án LINPACK và EISPACK viết ra bằng ngôn ngữ Fortran dùng cho việc thực .
60 trang |
Chia sẻ: banmai | Lượt xem: 2006 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Matlab tìm hiểu và ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
lÖnh th× kÕt qu¶ tÝnh ®−îc in ra mµn h×nh. VÝ dô:
>> b20=30+3^4/35
b20 =
32.3143
NÕu c©u lÖnh qu¸ dµi kh«ng thÓ viÕt hÕt ®−îc trªn mét dßng th× cã thÓ
dïng dÊu ba chÊm (...) ®Ó viÕt tiÕp trªn dßng thø hai. VÝ dô:
>> b = 22.334 - 45.12 + 89.222 – ( 123.30+330.2)/217.22 ...
+ 87.32 – 443.112 ;
Muèn viÕt lêi chó dÉn, tr−íc dßng ®ã ta gâ dÊu %. VÝ dô:
% Day la chuong trinh giai phuong trinh vi fan bËc hai.
Khi ch¹y ch−¬ng tr×nh, m¸y sÏ bá qua dßng nµy.
b. C¸c phÐp to¸n
• C¸c phÐp to¸n sè häc: nèi c¸c to¸n h¹ng trong biÓu thøc
®−îc víi
nhau. DÊu c¸c phÐp to¸n nh− sau:
+ céng
- trõ
* nh©n
/ chia ph¶i
\ chia tr¸i
^ luü thõa
• C¸c phÐp to¸n quan hÖ
== b»ng
<= nhá h¬n hoÆc b»ng
>= lín h¬n hoÆc b»ng
~= kh«ng b»ng
< nhá h¬n
> lín h¬n
• C¸c phÐp to¸n l« gic
& vµ
/ hoÆc
~ kh«ng
C¸c phÐp to¸n quan hÖ vµ l« gÝc th−êng ®−îc dïng trong c¸c biªñ thøc
cña c¸c to¸n tö ®iÒu khiÓn nh− if, while.
c. Sè dïng trong Matlab
Matlab dïng sè thËp ph©n truyÒn thèng víi sè ch÷ sè thËp ph©n tuú chän.
B¹n còng cã thÓ dïng sè d−íi d¹ng luü thõa cña 10 vµ sè cã ®¬n vÞ phøc.
D−íi ®©y lµ mét sè vÝ dô vÒ c¸c sè hîp thøc dïng trong Matlab:
4 57 -180.1122
3.09837412 12.6529E4 20.2908e-2
12i -23.1261i 5e2i
d- NhËp sè liÖu tõ bµn phÝm
Dïng lÖnh input víi qui c¸ch viÕt nh− sau:
a=input(‘ H·y nhËp gi¸ trÞ cña a : a = ‘)
Khi ch¹y ch−¬ng tr×nh m¸y sÏ dõng ®Ó ®îi ta gâ vµo tõ bµn phÝm gi¸ trÞ
cña a, sau ®ã bÊm Enter.
e. In kÕt qu¶ ra mµn h×nh: cã hai c¸ch
C¸ch 1 : Kh«ng gâ dÊu kÕt thóc ( ; ) ë cuèi c©u lÖnh. Khi ch¹y kÕt qu¶
tÝnh ®−îc tù ®éng in ra trªn mµn h×nh.
VÝ dô:
>> x=12+6*sin(pi/7)
x =
14.6033
C¸ch 2: dïng lÖnh disp
>> x=12+6*sin(pi/7);
disp(x)
14.6033
f. Ma trËn
Ma trËn ®−îc biÓu thÞ trong dÊu ngoÆc vu«ng, mçi phÇn tö trªn mét hµng
®−îc c¸ch nhau b»ng c¸c « trèng hoÆc dÊu phÈy (,), cßn mçi hµng ®−îc
ng¨n c¸ch bëi dÊu chÊm phÈy (;).
VÝ dô : viÕt ma trËn A gåm 3 hµng 3 cét trªn mµn h×nh Command
Window
>> A=[ 1 2 3 ; 4 5 6 ; 7 8 9]
A =
1 2 3
4 5 6
7 8 9
Tr−êng hîp ma trËn qu¸ lín ta cã thÓ viÕt mçi hµng cña ma trËn trªn mét
dßng nh− sau:
B = [ 1 2 3 4
5 6 7 8
9 10 11 12 ] ;
C¸c phÇn tö cña ma trËn cã thÓ lµ c¸c biÓu thøc. VÝ dô:
C=[ -1 2*3/5 2.2^3 (12+34/7)/3 ]
C =
-1.0000 1.2000 10.6480 5.6190
g. Sè phøc vµ ma trËn phøc
Matlab cã thÓ thùc hiÖn ®−îc c¸c phÐp to¸n vÒ sè phøc. Sè phøc
®−îc biÓu thÞ nhê hµm i vµ j. VÝ dô viÕt sè phøc z dïng i vµ j nh−
d−íi ®©y cho kÕt qu¶ nh− nhau:
z = 4+5*i
hoÆc z = 4+5*j
Mét vÝ dô kh¸c vÒ sè phøc ®−îc viÕt d−íi d¹ng e mò:
w =r* exp(i*theta)
Ma trËn cã c¸c phÇn tö lµ sè phøc ®−îc viÕt nh− sau:
A=[ 3+2*i 4-9*i ; 12+i 7-6*i ]
3. C¸c hµm to¸n häc
a. C¸c hµm l−îng gi¸c
- sin : sin
- cos : cosin
- tan : tang
- asin : arcsin
- acos : arccosin
- atan : arctang
- atan2 : arctan gãc phÇn t−
- sinh : sin hypecb«lic
- cosh : cosin hypecb«lic
- tanh : tang hypecb«lic
- asinh : sin hypecb«lic ng−îc
- acosh : cosin hypecb«lic ng−îc
- atanh : tang hypecb«lic ng−îc
VÝ dô 1:
a=1.223;
b=sin(a)
KÕt qu¶ cho:
b =
0.9401
VÝ dô 2:
c=[1.22 -0.96 1.17 ];
d=cos(c)
KÕt qu¶ cho:
d =
0.3436 0.5735 0.3902
b. C¸c hµm to¸n s¬ cÊp
- abs : gi¸ trÞ tuyÖt ®èi hoÆc m« ®un cña sè phøc
- angle : gãc pha
- real : phÇn thùc cña sè phøc
- imag: phÇn ¶o
- sqrt : c¨n bËc hai
- conj : sè phøc liªn hîp
- round : lµm trßn ®Õn sè nguyªn gÇn nhÊt
- fix : lµm trßn h−íng vÒ zÎo
- sign : hµm xÐt dÊu
- gcd : ø¬c sè chung lín nhÊt
- lom : Béi sè chung nhá nhÊt
- exp : hµm e mò
- log : logarit c¬ sè tù nhiªn
- log10 : logarit c¬ sè 10
VÝ dô 1:
a=2+5*i;
md= abs(a)
arg= angle(a)
KÕt qu¶ cho:
md =
5.3852
arg =
1.1903
4. C¸c thao t¸c ®Æc biÖt trªn ma trËn
- T¹o ma trËn hµng
>>t=0: 0.5: 3
t =
0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000
>> v= -2: 3
v =
-2 -1 0 1 2 3
- LÊy ra mét ma trËn con tõ mét ma trËn ®∙ cho
VÝ dô: Cho ma trËn c
>> c=[1 2 3 4 ; 5 6 7 8; 9 10 11 12]
c =
1 2 3 4
5 6 7 8
9 10 11 12
LÊy ra mét ma trËn con e tõ ma trËn c nh− sau:
>> e=c(1:2,2: 4)
e =
2 3 4
6 7 8
HoÆc vÝ dô kh¸c: lÊy ra mét ma trËn cét t−¬ng øng víi cét thø 3 cña ma
trËn c
>> f=c(:,3)
f =
3
7
11
LÊy ra mét ma trËn hµng gåm 3 phÇn tö cuèi cña hµng thø 3:
>>g=c(3,2:4)
g =
10 11 12
- T¹o ma trËn cã cì lín h¬n tõ c¸c ma trËn nhá
VÝ dô: t¹o ma trËn h tõ hai ma trËn e vµ g ë trªn
>> h=[e ; g]
h =
2 3 4
6 7 8
10 11 12
VÝ dô kh¸c: t¹o ma trËn k tõ ma trËn h vµ ma trËn cét f
>> k= [ h f ]
k =
2 3 4 3
6 7 8 7
10 11 12 11
- T¹o mét sè ma trËn ®Æc biÖt
+ VÕt cña ma trËn : Dïng lÖnh diag ®Ó t¹o mét ma trËn cét mµ
c¸c phÇn tö cña nã lµ c¸c phÇn tö n»m trªn ®−êng chÐo cña ma trËn cho
tr−íc. VÝ dô: muèn cã vÕt cña ma trËn h ë trªn ta lµm nh− sau:
>> ch=diag(h)
ch =
2
7
12
+ Ma trËn ®−êng chÐo
Còng dïng lÖnh diag t¹o ma trËn ®−êng chÐo tõ mét ma trËn cét hoÆc ma
trËn hµng cho tr−íc.
VÝ dô: t¹o ma trËn ®−êng chÐo tõ ma trËn cét ch ë trªn
>>C=diag(ch)
C =
2 0 0
0 7 0
0 0 12
+ Ma trËn ®¬n vÞ : Dïng hµm eye
VÝ dô: §Ó t¹o ma trËn ®¬n vÞ cã 4 hµng 4 cét ta viÕt nh− sau:
>> I=eye(4)
I =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
+ Ma trËn mµ c¸c phÇn tö ®Òu lµ c¸c sè 0 hoÆc sè 1:
Dïng hµm zeros vµ hµm ones.
VÝ dô:
>> K=zeros(3,4)
K =
0 0 0 0
0 0 0 0
0 0 0 0
>>M=ones(2,2)
M =
1 1
1 1
- §¶o ma trËn
Dïng hµm fliplr ®Ó ®¶o ma trËn tõ tr¸i sang ph¶i vµ hµm flipud ®¶o ma
trËn tõ trªn xuèng d−íi.
VÝ dô : Cho ma trËn M cì 4x4 råi tiÕn hµnh ®¶o nh− d−íi ®©y
>> M=[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]
M =
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
>> Mtf=fliplr(M) % Dao tu trai sang phai
Mtf =
4 3 2 1
8 7 6 5
12 11 10 9
16 15 14 13
>> Mtd=flipud(M) % Dao tu tren xuong duoi
Mtd =
13 14 15 16
9 10 11 12
5 6 7 8
1 2 3 4
5. Thùc hiÖn C¸c phÐp tÝnh trªn ma trËn
a- C¸c phÐp tÝnh tiªu chuÈn
Gi¶ sö cho a lµ ma trËn vu«ng cì 4x4
a=[1 3 -4 5; 2 -1 2 0 ; 4 6 -1 1; 0 1 3 5]
a =
1 3 -4 5
2 -1 2 0
4 6 -1 1
0 1 3 5
- Ma trËn chuyÓn vÞ
Ma trËn chuyÓn vÞ cña a lµ ac ®−îc x¸c ®Þnh nh− sau:
ac=a'
ac =
1 2 4 0
3 -1 6 1
-4 2 -1 3
5 0 1 5
- Céng ma trËn : hai ma trËn ph¶i cïng cì. Ta tÝnh tæng cña hai
ma trËn a vµ ac nh− sau:
at=a+ac
at =
2 5 0 5
5 -2 8 1
0 8 -2 4
5 1 4 10
- Céng mét sè víi ma trËn:
Matlab coi sè ®ã nh− mét ma trËn cïng cì víi ma trËn ®−îc céng, mçi
phÇn tö cña ma trËn b»ng chÝnh sè ®ã. VÝ dô: céng sè lµ 7 víi ma trËn at
ë trªn ta ®−îc ma trËn cs.
s =7;
cs=s+at
cs =
9 12 7 12
12 5 15 8
7 15 5 11
12 8 11 17
- Nh©n ma trËn víi mét sè
VÝ dô: Nh©n sè 3 víi ma trËn a ë trªn
>> t=3*a
t =
3 9 -12 15
6 -3 6 0
12 18 -3 3
0 3 9 15
- Nh©n ma trËn víi ma trËn
§iÒu kiÖn ®Ó hai ma trËn nh©n ®−îc víi nhau lµ sè cét cña ma trËn thø
nhÊt ph¶i b»ng sè hµng cña ma trËn thø hai. VÝ dô ta nh©n ma trËn b
d−íi ®©y víi ma trËn a:
>> b=[3 7 0 9];
>> tich=b*a
tich =
17 11 29 60
VÝ dô n÷a lµ ta nh©n ma trËn a víi ma trËn chuyÓn vÞ cña b:
>> tich2=a*b'
tich2 =
69
-1
63
52
- Chia ma trËn
Ma trËn x= A\B víi ®iÒu kiÖn : A*x=B (*)
VÝ dô:
A=[ 2 1 9 7; 1 3 8 5; 5 3 4 2; 9 0 6 6]
A =
2 1 9 7
1 3 8 5
5 3 4 2
9 0 6 6
B=[12; 2; -6; 8 ]'
B =
12
2
-6
8
x= A\B
x =
0.1026
-6.2051
4.8718
-3.6923
Thö l¹i xem A*x cã b»ng B kh«ng:
A*x
ans =
12.0000
2.0000
-6.0000
8.0000
KÕt qu¶ ®óng b»ng vÐc t¬ B
(còng cã thÓ dïng phÐp chia ph¶i / nh−ng ph¶i thay A vµ B b»ng c¸c ma
trËn chuyÓn vÞ t−¬ng øng, tøc B’/A’, vµ kÕt qu¶ lµ mét ma trËn hµng ®óng
b»ng ma trËn chuyÓn cña nghiÖm x ®· tÝnh ë trªn).
- Ma trËn nghÞch ®¶o : Dïng hµm inv
VÝ dô: TÝnh ma trËn nghÞch ®¶o cña ma trËn A ë trªn
gäi An lµ ma trËn nghÞch ®¶o cña ma trËn A th×:
>> An=inv(A)
An =
0.4615 -0.6154 0.4615 -0.1795
-2.9231 3.2308 -1.9231 1.3590
3.9231 -4.2308 2.9231 -2.0256
-4.6154 5.1538 -3.6154 2.4615
Thö t×m nghiÖm x tõ ph−¬ng tr×nh (*) khi dïng ma trËn nghÞch ®¶o:
Ta cã nghiÖm x ®−îc viÕt nh− sau: x=A-1.B
Gâ vµo dßng lÖnh sau:
X=An*B
KÕt qu¶ cho:
X =
0.1026
-6.2051
4.8718
-3.6923
- §Þnh thøc cña ma trËn
§Þnh thøc cña ma trËn vu«ng ®−îc tÝnh nhê hµm det. VÝ dô tÝnh ®Þnh thøc
D cña ma trËn A ë trªn:
>> D=det(A)
D =
-39
- Nh©n v« h−íng, nh©n cã h−íng vÐc t¬
Cho hai vÐc t¬ m vµ n nh− sau:
m=[1 1 3]; n=[4 2 0];
TÝch v« h−íng cña m vµ n: dïng hµm dot
vh=dot(m,n)
vh = 6
TÝch cã h−íng cña m vµ n: dïng hµm cross
ch=cross(m,n)
ch = -6 12 -2
Cßn tÝch cã h−íng cña n vµ m:
ch2=cross(n,m)
ch2 = 6 -12 2
b- C¸c phÐp tÝnh phÇn tö - phÇn tö cña ma trËn
C¸c phÐp tÝnh nµy rÊt tiÖn Ých vµ ®−îc ph©n biÖt víi c¸c phÐp tÝnh tiªu
chuÈn trªn ma trËn b»ng dÊu chÊm ( . ) ®−îc ®Æt tr−íc c¸c dÊu phÐp tÝnh.
VÝ dô: X.^Y, X.*Y, hay X.\Y. NÕu X vµ Y lµ c¸c ma trËn ( hay vÐc t¬)
c¸c phÇn tö cña X sÏ ®−îc n©ng lªn luü thõa hoÆc ®−îc nh©n , chia bëi
c¸c phÇn tö t−¬ng øng cña ma trËn Y. DÏ thÊy lµ ma trËn X vµ Y ph¶i
cïng cì.
- Luü thõa c¸c phÇn tö ma trËn
VÝ dô:
>> x=[1 2 ; 3 4]
x =
1 2
3 4
>> y=[ 3 4; 1 2]
y =
3 4
1 2
>> x.^y
ans =
1 16
3 16
x =
1 2
3 4
NÕu y kh«ng ph¶i lµ ma trËn mµ lµ mét sè, vÝ dô y=2, th× kÕt qu¶ nh−
sau:
>> x.^2
ans =
1 4
9 16
- Nh©n phÇn tö ma trËn
VÝ dô
>> x.*y
ans =
3 8
2 8
- Chia phÇn tö ma trËn
VÝ dô;
>> x./y
ans =
0.3333 0.5000
3.0000 2.0000
6. C¸c hµm thùc hiÖn c¸c phÐp tÝnh víi ®a thøc
- Hµm poly : X¸c ®Þnh ®a thøc khi biÕt tr−íc nghiÖm
Quy c¸c viÕt p=poly(b)
trong ®ã b lµ mét ma trËn hµng.
KÕt qu¶ sÏ cho ra lµ mét ma trËn hµng mµ mçi phÇn tö cña nã lµ mét hÖ
sè cña mét ®a thøc cã nghiÖm lµ c¸c phÇn tö cña ma trËn b ( theo sè mò
gi¶m dÇn).
VÝ dô:
b=[2 1 -4 3];
p=poly(b)
p =
1 -2 -13 38 -24
Theo kÕt qu¶ trªn th× c¸c sè 2, 1, -4 vµ 3 lµ nghiÖm cña ®a thøc :
x4- 2x
3 - 13x2 + 38x - 24 = 0
- Hµm roots : X¸c ®Þnh nghiÖm cña ®a thøc
Quy c¸ch viÕt : a=roots(b)
trong ®ã b lµ ma trËn hµng víi c¸c phÇn tö lµ c¸c hÖ sè cña ®a thøc (theo
sè mò gi¶m dÇn). KÕt qu¶ cho ra lµ mét ma trËn cét mµ c¸c phÇn tö lµ
nghiÖm cña ®a thøc.
VÝ dô: Thö t×m l¹i nghiÖm cña ®a thøc trªn. Ta viÕt c¸c lÖn nh− sau:
p=[ 1 -2 -13 38 -24 ];
r=roots(p)
r =
-4.0000
3.0000
2.0000
1.0000
Ta thÊy kÕt qu¶ hoµn toµn chÝnh x¸c.
- Hµm conv : Dïng nh©n ®a thøc.
Quy c¸ch viÕt: a=conv(b,c) trong ®ã b,c lµ hai ma trËn hµng cã c¸c phÇn
tö lµ c¸c hÖ sè cña c¸c ®a thøc cÇn nh©n. KÕt qu¶ cho ra lµ ma trËn a cã
c¸c phÇn tö lµ hÖ sè cña ma trËn tÝch.
VÝ dô : cÇn nh©n hai ®a thøc x3+2x2+6 vµ 3x4-6x2+5x-10 ta lµm nh− sau:
b=[1 2 0 6];
c=[3 0 -6 5 -10];
a=conv(b,c)
a =
3 6 -6 11 0 -56 30 -60
VËy ®a thøc tÝch lµ: 3x7+ 6x6- 6x5 + 11x4 - 56x2 + 30x – 60
- Hµm deconv : Dïng chia hai ®a thøc
Qui c¸ch viÕt nh− sau: [ m , n] = deconv(p,q)
víi p vµ q lµ hai ma trËn hµng cã c¸c phÇn tö lµ c¸c hÖ sè cña ®a thøc bÞ
chia vµ ®a thøc chia, cßn c¸c phÇn tö cña ma trËn m,n lµ c¸c hÖ sè cña ®a
thøc th−¬ng vµ phÇn d−.
VÝ dô : Ta thö chia ngay ®a thøc tÝch võa cã ë trªn cho ®a thøc cã c¸c hÖ
sè lµ c¸c phÇn tö cña ma trËn c, tøc ®a thøc: 3x4-6x2+5x-10.
a=[3 6 -6 11 0 -56 30 -60];
c=[3 0 -6 5 -10];
[b,d]=deconv(a,c)
b =
1 2 0 6
d =
0 0 0 0 0 0 0 0
Ta thÊy kÕt qu¶ lµ hoµn toµn ®óng.
7. c¸c Hµm dïng ph©n tÝch d÷ liÖu
C¸c hµm t×m gi¸ trÞ cùc ®¹i, cùc tiÓu vµ trung b×nh
- Hµm max : T×m gi¸ trÞ lín nhÊt
Qui c¸ch viÕt ln=max(a)
víi a lµ ma trËn hµng. KÕt qu¶ cho ra lµ mét phÇn tö cã gi¸ trÞ lín nhÊt
cña a
VÝ dô:
a=[ 10 2 1 -30 23 8];
ln=max(a)
ln =
23
- Hµm min : t×m gi¸ trÞ cùc tiÓu
VÝ dô:
bn=min(a)
bn =
-30
bn=mi
- Hµm mean : T×m gi¸ trÞ trung b×nh
VÝ dô:
tb=mean(a)
tb =
2.3333
NÕu a lµ mét ma trËn cã nhiÒu hµng nhiÒu cét th× c¸c gi¸ trÞ max, min
hoÆc trung b×nh sÏ lµ c¸c gi¸ trÞ t−¬ng øng ®èi víi c¸c cét cña ma trËn.
VÝ du :
>>b=[1 2 3; 4 5 6 ; 7 8 9]
b =
1 2 3
4 5 6
7 8 9
>>ln=max(b)
ln =
7 8 9
>>bn=min(b)
bn =
1 2 3
>>tb=mean(b)
tb =
4 5 6
- Hµm sum : dïng tÝnh tæng
VÝ dô: TÝnh tæng c¸c phÇn tö cña ma trËn a nh− sau
T=sum(a)
T =
26
- Hµm diff : TÝnh gi¸ trÞ sai kh¸c cña hai sè ®øng liÒn nhau. Qui c¸ch
viÕt:
s=diff(x)
víi x lµ mét ma trËn hµng hoÆc cét.
VÝ dô:
>>x=[ 1.2 1.4 1.8 2.1 3 ];
>> s=diff(x)
s =
0.2000 0.4000 0.3000 0.9000
Ta dÔ dµng thÊy r»ng hµm diff nµy cã thÓ dïng ®Ó tÝnh gÇn ®óng ®¹o
hµm.
NÕu x lµ mét ma trËn b×nh th−êng th× qu¸ tr×nh tÝnh sÏ ®−îc thùc hiÖn
theo thø tù c¸c cét.
- Hµm Interp1 : Dïng t×m c¸c gi¸ trÞ bÞ khuyÕt.
VÝ dô: §· biÕt gi¸ trÞ cña hµm y=x3-3x+4 t¹i c¸c ®iÓm cã x=0,1,2,3,4 vµ
5. H·y x¸c ®Þnh gi¸ trÞ cña y t¹i c¸c ®iÓm cã x= 0,3, 0,5, ..., 4.2, 4,8.
Ta viÕt c¸c lÖnh nh− sau:
x1=0:5;
y1=x1.^3-3*x1+4;
x2=[0 .3 .5 1.2 1.4 2.1 3.3 4.2 4.8 5];
y2=interp1(x1,y1,x2,'cubic')
plot(x1,y1,'ro',x2,y2,'b+')
KÕt qu¶ cho ë d¹ng sè vµ ®å thÞ d−íi ®©y
y2 =
Columns 1 through 7
4.0000 2.7700 2.2500 2.2240 2.5920 7.0330 30.1210
Columns 8 through 10
65.6800 100.4800 114.0000
§ã lµ 10 gi¸ trÞ cña y øng víi 10 gi¸ trÞ cña x ( trong ch−¬ng tr×nh tÝnh lµ
x2). Cßn ®å thÞ sÏ cho thÊy sù ppï hîp cña c¸c kÕt qu¶ nµy: C¸c ®iÓm vÏ
b»ng dÊu ‘+’ lµ biÓu thÞ c¸c ®iÓm cÇn t×m, cßn c¸c ®iÓm vÏ b»ng dÊu ‘o’
lµ t−¬ng øng c¸c ®iÓm ®· cho.
0 1 2 3 4 5
0
2 0
4 0
6 0
8 0
1 0 0
1 2 0
8. Hµm cña hµm
Cã nhiÒu hµm trong Matlab kh«ng chØ lµm viÖc víi c¸c ma trËn sè mµ
cßn lµm viÖc víi c¸c hµm to¸n. C¸c hµm cña hµm nµy bao gåm c¸c hµm
dïng ®Ó tÝnh tÝch ph©n, gi¶i c¸c ph−¬ng tr×nh phi tuyÕn vµ gi¶i c¸c
ph−¬ng tr×nh vi ph©n.
a. Hµm dïng ®Ó tÝch ph©n sè: hµm quad hoÆc quad8
VÝ dô: CÇn tÝnh tÝch ph©n cña hµm f(x) = 3+sin2x/(4+2cosx) víi cËn tõ
0 ®Õn 4, ta tiÕn hµnh nh− sau:
ViÕt mét file hµm cã tªn tfan1.m nh− d−íi ®©y:
function f=tfan1(x)
f=3+sin(2*x)/(4+2*cos(x));
vµ mét file chÝnh cã tªn tfan.m:
tf=quad8('tfan1',0,4)
Ch¹y ch−¬ng tr×nh kÕt qu¶ cho gi¸ trÞ cña tÝch ph©n:
tf =
12.0517
b. Hµm ®Ó t×m nghiÖm ph−¬ng tr×nh phi tuyÕn vµ c¸c hµm tèi
−u
- Hµm fzero : x¸c ®Þnh nghiÖm cña hµm mét biÕn.
- Hµm fmin : tÝnh gi¸ trÞ cùc tiÓu cña hµm mét biÕn.
- Hµm fmins : tÝnh c¸c gi¸ trÞ cùc tiÓu cña hµm nhiÒu biÕn
VÝ dô: Dïng hµm fzero t×m nghiÖm cña ph−¬ng tr×nh sau t¹i vÞ trÝ gÇn
x=1 :
y=2- 6sinx / (1+x);
Ta viÕt file hµm nghiem1.m nh− sau:
function y=nghiem(x)
y=2-6*sin(x)./(1+x);
Sau ®ã viÕt file chÝnh nghiem.m:
x1=fzero('nghiem1',1)
Ch¹y ch−¬ng tr×nh chÝnh, kÕt qu¶ cho trªn mµn h×nh nh− sau:
Zero found in the interval: [0.36, 1.4525].
x1 =
0.5385
§Ó thö l¹i, ta thay x=x1 vµo ph−¬ng tr×nh ban ®Çu ®Ó xem kÕt qu¶ hai vÕ
cã b»ng 0 hay kh«ng.
y=2-6*sin(.5385)/(1+.5385)
y =
-6.0516e-005
Ta thÊy y~ 0 vµ cã thÓ nãi kÕt qu¶ ®ñ chÝnh x¸c.
c. Hµm ®Ó gi¶i ph−¬ng tr×nh vi ph©n : hµm ode23 vµ ode34
VÝ dô: Gi¶i ph−¬ng tr×nh vi ph©n Van de Pol cã d¹ng nh− sau:
x’’+( x2- 1 ) x’+ x=0
Ta viÕt l¹i ph−¬ng tr×nh trªn d−íi d¹ng hÖ ph−¬ng tr×nh vi ph©n bËc nhÊt:
x1’= x1(1- x2
2 ) - x2
x2’= x1
ViÕt mét file hµm mang tªn ftvf.m m« t¶ hÖ ph−¬ng tr×nh vi ph©n:
function xc=ftvf(t,x)
xc=zeros(2,1);
xc(1)=x(1).*(1-x(2).^2)-x(2);
xc(2)=x(1);
ViÕt file chÝnh cã tªn ftvf0.m nh− d−íi ®©y:
t0=0; t1=20;% Thoi diem dau va cuoi
x0=[0 .2]; % Dieu kien ban dau
[t,x]=ode23('ftvf',t0,t1,x0);
plot(t,x)
Ch¹y ch−¬ng tr×nh kÕt qu¶ cho d−íi d¹ng ®å thÞ nh− d−íi ®©y:
0 5 1 0 1 5 2 0
-3
-2
-1
0
1
2
3
9. C¸c to¸n tö ®iÒu khiÓn
Còng nh− c¸c phÇn mÒm lËp tr×nh kh¸c, c¸c to¸n tö ®iÒu khiÓn còng cã
trong Matlab. §ã lµ to¸n tö vßng lÆp for, while vµ to¸n tö lùa chän if.
- To¸n tö for
D¹ng chung cña to¸n tö nµy ®−îc viÕt nh− sau:
for biÕn = biÓu thøc
c¸c c©u lÖnh
end
BiÓu thøc ë ®©y th−êng cã d¹ng m:n hoÆc m:i:n, trong ®ã m, n lµ
gi¸ trÞ ®Çu vµ cuèi, cßn i lµ gia sè.
VÝ dô:
for k=1: n
a(k)=sin(k*pi/5);
b(k)=cã(k*pi/5);
end
- To¸n tö while
D¹ng chung cña lÖnh vßng lÆp nµy cã d¹ng sau:
while biÓu thøc
c¸c c©u lÖnh
end
BiÓu thøc ë ®©y lµ biÓu thøc quan hÖ.
VÝ dô:
d=1;
while d>0.001
z1=z2-sin(z2)/(z2+2);
d=abs(z2-z1);
z2=z1;
end
- To¸n tö ®iÒu kiÖn if
To¸n tö cã d¹ng chung nh− sau:
if biÓu thøc
c¸c c©u lÖnh
elseif biÓu thøc
c¸c c©u lÖnh
...
...
else
c¸c c©u lÖnh
end
Còng nh− ®èi víi to¸n tö while biÓu thøc ë ®©y còng lµ biÓu
thøc quan hÖ.
VÝ dô:
for k=1: n
for p=1: m
if k= =p
z(k,p)=1;
elseif k<p
z(k,p)=-1 ;
else
z(k,p)=0;
end
end
end
- C©u lÖnh Break
LÖnh Break cho phÐp tho¸t ra khái vßng lÆp.
VÝ dô:
k=input(' k=');
if k>0
break
else
a=5*k+4
end
10. c¸c lo¹i file dïng trong matlab
Cã hai lo¹i file lµ M-File vµ file d÷ liÖu (data file)
C¸c file cã chøa c¸c lÖnh cña Matlab ®−îc gäi lµ M-
file . Së dÜ gäi lµ M- file v× phÇn më réng cña c¸c file
nµy lµ .m.
Cã hai lo¹i M- file lµ script file vµ function file (file hµm)
Script File
Khi Script ®−îc kÝch ho¹t Matlab ®¬n gi¶n thùc hiÖn c¸c lÖnh t×m thÊy
trong file. C¸c c©u lÖnh trong file nµy th× ho¹t ®éng trªn toµn bé c¸c d÷
liÖu trong Workspace.
VÝ dô : file lg.m d−íi ®©y lµ mét script file:
% File dung tinh ham luong giac va ve do thi
f1=0:2*pi/60;
a=3*sin(f1)+4.5*cos(f1+.6);
plot(f1,a)
Sau khi tÝnh to¸n vµ vÏ ®ß thÞ xong c¸c biÕn f1 vµ a vÉn cßn l−u trong
workspace
Function File
Lµ mét M-File cã chøa tõ function t¹i vÞ trÝ ®Çu tiªn trªn dßng ®Çu cña
file. Víi function file, c¸c biÕn ®−îc ®Þnh nghÜa vµ ho¹t ®éng chØ trong
ph¹m vi file, chø kh«ng cã tÝnh toµn côc nh− trong script file. Function
file rÊt tiÖn Ých trong viÖc më réng thªm kh¶ n¨ng cña Matlab, cô thÓ lµ
t¹o thªm ®−îc c¸c Matlab file míi.
D−íi ®©y lµ mét vÝ dô vÒ function file ®−îc t¹o ®Ó gi¶i ph−¬ng tr×nh bËc
hai, tªn file lµ ftb2.m :
function [x1 , x2] = ftb2(a,b,c)
% File ham nay dung de giai Fuong tr×nh bac hai : ax^2+bx+c=0
% voi a, b, c la cac hang so cho truoc. Cac nghiem lµ x1 va x2
delta=b^2-4*a*c;
x1=(-b+sqrt(delta)/(2*a);
x2=(-b-sqrt(delta)/(2*a);
Hµm nµy dïng ®Ó gi¶i ph−¬ng tr×nh bËc hai víi lÖnh gäi ra lµ:
[nghiem1, nghiem2] = ftb2(10,-6.5,-3.5);
File d÷ liÖu ( data file)
Ta cã thÓ ghi sè liÖu vµo mét file gäi lµ file sè liÖu víi phÇn më réng lµ
.dat. Khi cÇn file cã thÓ ®−îc gäi ra.
D−íi ®©y lµ vÝ dô vÒ t¹o vµ gäi file sè liÖu:
Gi¶ sö ta cã mét ma trËn hµng a nh− sau:
>>a=1:8
a =
1 2 3 4 5 6 7 8
Giê ta muèn ghi c¸c gi¸ trÞ cña ma trËn a vµo mét file d÷ liÖu cã tªn lµ
sl1.dat, ta dïng lÖnh save víi qui c¸ch viÕt nh− sau:
>> save sl1.dat a -ascii
Khi ®ã ma trËn a ®· ®−îc l−u trong fil sl1.dat. NÕu muèn gäi ra c¸c sè
liÖu nµy vµ g¸n cho cho nã mét tªn biÕn míi, vÝ dô lµ x, ta dïng lÖnh
load víi qui c¸ch viÕt nh− sau:
>>load sl1.dat
>> x=sl1
x =
1 2 3 4 5 6 7 8
11. Xö lÝ tÝn hiÖu
Matlab cã mét sè hµm dïng ®Ó xö lÝ tÝn hiÖu sè d−íi ®©y:
abs - gi¸ trÞ (m« ®un) cña sè phøc
angle – gãc pha
conv - tÝch chËp ( convolution)
deconv – ( deconvotution)
fft - biÕn ®æi Fu ri ª nhanh
ift - biÕn ®æi ng−îc Fu ri ª
fftshift
VÝ dô: cho x lµ mét ma trËn cét nh− sau:
x=[ 4 3 7 -9 1 0 0 0 ]’ ;
BiÕn ®æi Fu ri ª nhanh cña x ®−îc viÕt nh− sau:
y=fft(x)
KÕt qu¶ cho nh− d−íi ®©y:
y =
6.0000
11.4853 + 2.7574i
-2.0000 +12.0000i
-5.4853 -11.2426i
18.0000
-5.4853 +11.2426i
-2.0000 -12.0000i
11.4853 - 2.7574i
12. vÏ ®å thÞ
Matlab rÊt m¹nh víi viÖc vÏ ®å thÞ. D−íi ®©y tr×nh bµy c¸ch vÏ ®å thÞ
trong kh«ng gian hai chiÒu (2D) vµ ba chiÒu (3D).
a.VÏ ®å thÞ 2D
VÏ c¸c ®−êng cong th«ng th−êng:
Dïng lÖnh plot víi qui c¸ch viÕt nh− sau:
plot(x,y)
trong ®ã x vµ y lµ c¸c ma trËn hµng (hoÆc cét ) cïng cì. Matlab sÏ vÏ ra
mét ®−êng cong cña y theo x.
NÕu b¹n muèn chän mµu vµ kiÓu nÐt vÏ cho ®−¬ng cong cã thÓ lµm theo
vÝ dô sau:
plot(x,y, 'r*')
Khi ch¹y, Matab sÏ cho b¹n ®−êng cong t¹o bëi c¸c dÊu *** vµ cã mµu
®á (ch÷ r ®øng cho tõ red trong tiÕng Anh, nghÜa lµ ®á).
D−íi ®©y lµ b¶ng kÝ hiÖu mµu vµ kiÓu nÐt vÏ dïng khi vÏ ®å thÞ:
BiÓu t−îng Mµu s¾c BiÓu t−îng Lo¹i ®−êng nÐt
y
m
c
r
g
b
w
k
Vµng
§á t−¬i
Xanh l¸ m¹
§á
Xanh l¸ c©y
Xanh n−íc biÓn
Tr¾ng
§en
.
°
×
+
∗
-
:
--
-.
§iÓm
Vßng trßn
DÊu nh©n
DÊu céng
DÊu sao
NÐt liÒn
NÐt chÊm
NÐt ®øt
NÐt chÊm g¹ch
Còng cã thÓ vÏ nhiÒu ®−êng cong trªn cïng mét hÖ trôc to¹ ®é.
VÝ dô: lÖnh vÏ sau sÏ cho 3 ®−êng cong kh¸c nhau trªn mét h×nh:
plot(x1,y1,’r *’,x2,y2,’g+’x3,y3,’w -‘)
NÕu b¹n muèn ®Æt tªn cho ®å thÞ h·y dïng lÖnh title.
VÝ dô: title(' Do thi 1 ‘)
B¹n còng cã thÓ ®Æt tªn cho c¸c trôc to¹ ®é x vµ y b»ng c¸ch dïng lÖnh
xlabel
vµ ylabel .
VÝ dô:
xlabel('x - m');
ylabel('y - m/s ');
Cßn ®Ó t¹o l−íi trªn h×nh vÏ dïng lÖnh grid.
Cô thÓ ta lµm mét vÝ dô d−íi ®©y:
VÏ trªn cïng hÖ trôc to¹ ®é ®å thÞ hai hµm sè sau
y1=e-5tsin5t ; y2= e-5t cos5t;
víi biÕn t ch¹y tõ - 4 ®Õn +4:
Ta viªt file p2d.m ®Ó vÏ ®å thÞ nh− sau:
% Chuong trinh ve do thi 2D
t=-4:.05:4;
y1=exp(-.5*t).*sin(5*t);
y2=exp(-.5*t).*cos(5*t);
plot(t,y1,'*',t,y2,'-');
title('VE DO THI 2 CHIEU : y1( ***), y2 (---)')
xlabel(' Gia tri t ')
ylabel('gia tri y1, y2')
grid
Ch¹y ch−¬ng trinh cho kÕt qu¶ lµ ®å thÞ d−íi ®©y:
-4 -3 -2 -1 0 1 2 3 4
-8
-6
-4
-2
0
2
4
6
8
V E D O T H I 2 C H IE U : y 1 ( * * * ) , y 2 ( - - - )
G i a tr i t
gi
a
tri
y
1,
y
2
Cã thÓ vÏ nhiÒu ®å thÞ trªn mét h×nh b»ng c¸ch dïng lÖnh subplot.
VÝ dô: ta vÏ hai ®å thÞ y1=y1(t) vµ y2=y2(t) võa nªu trªn cïng mét h×nh
nh−ng l¹i trªn hai hÖ trôc riªng biÖt, ta viÕt l¹i c¸c c¸c lÖnh ( tÝnh tõ lÖnh
plot(t,y1,...) nh− sau:
subplot(211)
plot(t,y1,'*')
title('VE DO THI 2 CHIEU : y1( ***), y2 (---)')
xlabel('gia tri t')
ylabel('gia tri y1')
grid
subplot(212)
plot(t,y2,'-')
xlabel('gia tri t')
ylabel('gia tri y2')
grid
-4 -3 -2 -1 0 1 2 3 4
-1 0
-5
0
5
1 0
V E D O TH I 2 C H IE U : y1 ( * ** ), y2 (---)
g ia tr i x
gi
a
tri
y
1
-4 -3 -2 -1 0 1 2 3 4
-5
0
5
1 0
g ia tr i x
gi
a
tri
y
2
VÏ ®å thÞ ®éc cùc Dïng lÖnh polar
VÝ dô: vÏ ®å thÞ hµm y=4e-4t víi t=0:2pi/3
Ta viÕt ch−¬ng tr×nh vÏ nh− sau:
t=0:pi/20:2*pi/3;
r=4*exp(-4*t);
polar(t,r)
KÕt qu¶ cho ra nh− d−íi ®©y:
1
2
3
4
30
210
60
240
90
270
120
300
150
330
180 0
VÏ §å thÞ d¹ng thanh (Bar).
§å thÞ bar biÓu diÔn gi¸ trÞ cña mét vÐc t¬ hay mét ma trËn d−íi d¹ng
c¸c thanh th¼ng ®øng hay n»m ngang. Bar(y) biÓu diÔn c¸c phÇn tö cña
vÐc t¬ y nÕu y lµ mét vÐc t¬. NÕu y lµ mét ma trËn, mét nhãm thanh sÏ
biÓu diÔn c¸c phÇn tö trong mét hµng, trôc x sÏ biÓu diÔn sè hµng.
VÝ dô: VÏ ®å thÞ biÓu thÞ sè sinh viªn tèt nghiªp cña mét tr−êng §¹i häc
tõ n¨m 1995 ®Õn 2001, biÕt sè sinh viªn tèt nghiÖp t−¬ng øng lµ 1000,
1200, 1800, 1850, 1750, 2100.
LËp ch−¬ng tr×nh vÏ nh− sau:
x=[1000, 1200, 1800, 1850, 1750, 2100]
bar(x);
title('SO LUONG SINH VIEN TOT NGHIEP HANG NAM')
xlabel('Nam')
ylabel('So luong sinh vien')
set(gca,'XTickLabel',{'1996';'1997';'1998';...
'1999';'2000';'2001'})
Ch¹y ch−¬ng tr×nh cho kÕt qu¶ lµ ®å thÞ d−íi ®©y:
1 9 9 6 1 9 9 7 1 9 9 8 1 9 9 9 2 0 0 0 2 0 0 1
0
5 0 0
1 0 0 0
1 5 0 0
2 0 0 0
2 5 0 0
S O L U O N G S IN H V IE N T O T N G H IE P H A N G N A M
N a m
S
o
lu
on
g
si
nh
v
ie
n
§å thÞ pie.
LÖnh Pie(x) biÓu thÞ thµnh phÇn phÇn tr¨m theo d÷ liÖu trong x. Mçi
phÇn tö trong x ®−îc ®¹i diÖn b»ng mét phÇn cña ®å thÞ Pie.
Pie(x,explode) ®Æt c¸c phÇn tö cho ®å thÞ Pie. Explode lµ mét vÐc t¬ hay
mét ma trËn cña sè 0 vµ 1 t−¬ng øng víi x. C¸c phÇn tö lµ 0 sÏ t−¬ng øng
víi c¸c phÇn t¹o thµnh mét khèi liÒn trong ®å thÞ pie. NÕu lµ gi¸ trÞ 1 th×
phÇn tö t−¬ng øng víi mÈu trªn ®å thÞ sÏ ®−îc t¸ch rêi khái khèi liÒn
trong ®å thÞ Pie. Explode ph¶i cã cì gièng víi x.
VÝ dô : BiÓu diÔn thµnh phÇn phÇn tr¨m cña c¸c lo¹i vËt liÖu cã
trong mét hçn hîp.
x=[7 15 56 12 10];
eplode= [1 0 0 0 0];
pie(x,eplode)
colormap jet
Ta ®−îc ®å thÞ :
7 %
1 5 %
5 6 %
1 2 %
1 0 %
b. VÏ ®å thÞ 3D : dïng lÖnh surf, mesh, contour3
VÝ dô: VÏ ®å thÞ z=-20x2+x-15y2+5y , víi -4<x<4 vµ -4<y<4.
Viªt file p3d.m ®Ó vÏ ®å thÞ ( dïng lÖnh surf )nh− sau:
[x,y]=meshgrid(-4:.2:4,-4:.2:4);
z=-20*x.^2+x-15*y.^2+5*y;
surf(x,y,z)
title(' Do thi 3D')
xlabel(' truc x')
ylabel(' truc y')
zlabel(' truc z')
pause
KÕt qu¶ cho nh− h×nh d−íi ®©y:
Cßn hai ®å thÞ d−íi ®©y ®−îc vÏ b»ng lÖn mesh vµ lÖnh contour3:
- §å thÞ 3D dïng lÖnh mesh
- §å thÞ 3D dïng lÖnh contour
1 0
2 0
3 0
4 0
1 0
2 0
3 0
4 0
-5 0 0
-4 0 0
-3 0 0
-2 0 0
-1 0 0
0
truc x truc y
tr
uc
z
D o th i 3 D d ung le nh c o nto ur
PhÇn 2
øng dông Matlab gi¶i mét sè bµi toÊn kÜ
thuËt
1. Bµi to¸n vÒ m¹ch ®iÖn
VÝ dô 1: TÝnh c−êng ®é dßng ®iÖn cña m¹ch ®iÖn cã c¸c trë kh¸ng phøc
d−íi ®©y, biÕt hiÖu ®iÖn thÕ nguån U=5V, c¸c trë kh¸ng: z1=1+0,5i,
z2=2+0,5i, z3=4+i, z4=z1 (Ω ).
z1 z1 z1 z1
aaa
U=5v fff
z4 z4 z4 z4
Gi¶i:
ViÕt c¸c ph−¬ng tr×nh ®Þnh luËt KiÕc sèp cho m¹ch nh− sau:
(z1+z2+z4)I1- z2I2 = U
(z1+2z2+z4)I2 - z2I1- z2I3= 0
(z1+2z2+z4)I3- z2I2- z2I4= 0
(z1+z2+z3+z4)I4- z2I3 = 0
ViÕt l¹i hÖ ph−¬ng tr×nh trªn d−íi d¹ng ma trËn nh− sau:
(z1+z2+z4) - z2 0 0 I1 = U
- z2 (z1+2z2+z4)I2 - z2 0 I2 = 0
0 - z2 (z1+2z2+z4) - z2 I3 = 0
0 0 - z2 (z1+z2+z3+z4) I4 = 0
hay Z.I = U
víi Z lµ ma tr©n trë kh¸ng, I lµ ma trËn cét dßng ®iÖn, cßn U lµ ma trËn
cét thÕ hiÖu.
NghiÖm I ®−îc tÝnh nh− sau:
I=Z-1.U
D−íi ®©y lµ file ml12.m ®Ó gi¶i ph−¬ng tr×nh ma trËn trªn
% File ml12.m
% Chuong trinh giai mach dien tro khang phuc
z1=1+.5i; z2=2+.5i; z3=4+i; z4=z1; % Cac tro
khang
U=5; % Hieu dien the
nguon
% Ma tran tro khang
Z=[z1+z2+z4 -z2 0 0;...
-z2 z1+2*z2+z4 -z2 0;...
0 -z2 z1+2*z2+z4 -z2;...
0 0 -z2
z1+z2+z3+z4 ];
F=[ V 0 0 0 ]'; % Ma tran cot ve phai
I=inv(Z)*F % Tinh dong dien
Ch¹y ch−¬ng tr×nh cho kÕt qu¶ d−íi ®©y:
I =
1.3008 - 0.5560i
0.4560 - 0.2504i
0.1530 - 0.1026i
0.0361 - 0.0274i
VÝ dô 2: TÝnh dßng ®iÖn cho m¹ch cã R, L vµ C nh− h×nh vÏ, cho
E=60v, R=50 , L=1H, Ω
C=10-4F, t¹i thêi ®iÓm ban ®Çu i1(0)=0, i2(0)=0.
i1 L
i3
E oi R C
ViÕt hÖ ph−¬ng tr×nh vi ph©n cho m¹ch nh− sau:
Ldi1/dt + Ri2 = E
RCdi2/dt+ i2 - i1 = 0
ChuyÓn vÕ, viÕt l¹i hÖ ph−¬ng tr×nh trªn nh− d−íi ®©y:
i1’ = - Ri2/L + E/L (1)
i2’ = i1/RC - i2 /RC
Dïng hµm ode45, lËp ch−¬ng tr×nh ®Ó x¸c ®Þnh i1, i2 b»ng c¸c file
ml13.m vµ ml13a.m d−íi ®©y:
% File ml13.m CHUONG TRINHF TINH MACH DIEN
% CO R-L-C
global E R L C
E=60; L=1; R=50;C=.005 % Nhap cac so lieu
i0=[0 0]'; % Dieu kien ban dau
t=5; % thoi gian
[t,i]=ode45('ml13a',t,i0);
subplot(211)
plot(t,i(:,1))
title('GIAI MACH DIEN CO R- L- C')
ylabel('D.dien trong mach chinh I1 - A')
grid
subplot(212)
plot(t,i(:,2))
ylabel('D.dien trong mach re I2 - A')
xlabel(' Thoi gian')
grid
% File ml13a.m
function ic=ml13a(t,i)
global E R L C
ic=zeros(2,1);
ic(1)=-R/L*i(2)+E/L;
ic(2)=i(1)/(R*C)-i(2)/(R*C);
Ch¹y ch−¬ng tr×nh cho kÕt qu¶ lµ trÞ sè c−êng ®é dßng ®iÖn trong m¹ch
chÝhh i1 vµ m¹ch rÏ i2 nh− h×nh d−íi ®©y:
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
0.5
1
1.5
G IA I M A CH D IE N CO R- L- C
D
.d
ie
n
t
ro
ng
m
ac
h
ch
in
h
I1
-
A
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
0.5
1
1.5
D
.d
ie
n
t
ro
ng
m
ac
h
re
I2
-
A
Tho i g ian
§Ó kiÓm tra kÕt qu¶ trªn, ta so s¸nh nã víi kÕt qu¶ chÝnh x¸c cña hÖ
ph−¬ng tr×nh vi ph©n (1) lµ:
i1= 6/5- 6e
-100t/5- 60te-100t
i2= 6/5- 6e
-100t/5- 120te-100t
§å thÞ chÝnh x¸c cña i1 vµ i2 cã d¹ng nh− h×nh d−íi ®©y:
0 0 . 5 1 1 . 5 2 2 . 5 3 3 . 5 4 4 . 5 5
0
0 . 2
0 . 4
0 . 6
0 . 8
1
1 . 2
1 . 4
D o n g d i e n I 1 = 6 / 5 - 6 / 5 e ( - 1 0 0 t ) - 6 0 t e ( - 1 0 0 t )
0 0 . 5 1 1 . 5 2 2 . 5 3 3 . 5 4 4 . 5 5
0
0 . 2
0 . 4
0 . 6
0 . 8
1
1 . 2
1 . 4
D o n g d i e n I 2 = 6 / 5 - 6 / 5 e ( - 1 0 0 t ) - 1 2 0 t e ( - 1 0 0 t )
Ta thÊy kÕt qu¶ cña hai c¸ch tÝnh lµ nh− nhau.
§Ó thÊy sù dao ®éng cña m¹ch ®iÖn mét c¸ch râ nÐt ta t¨ng ®iÖn dung
cña tô ®iªn: lÊy C=0,005F råi ch¹y l¹i ch−¬ng tr×nh ta ®−îc kÕt qu¶ nh−
h×nh d−íi ®©y:
0 0 .5 1 1 . 5 2 2 . 5 3 3 . 5 4 4 . 5 5
-2
0
2
4
6
G IA I M A C H D IE N C O R - L - C
D
on
g
di
en
t
ro
ng
m
ac
h
ch
in
h
-
A
0 0 . 5 1 1 . 5 2 2 . 5 3 3 . 5 4 4 . 5 5
0
0 .5
1
1 .5
2
D
on
g
di
en
t
ro
ng
m
ac
h
re
R
-
A
Th o i g ia n
2. Gi¶i bµi to¸n ®éng häc c¬ cÊu ph¼ng
VÝ dô : Gi¶i bµi to¸n ®éng häc c¬ cÊu cu lit
H·y x¸c ®Þnh chuyÓn vÞ, vËn tèc gãc, gia tèc gãc cña thanh cu lit 3 cña
c¬ cÊu cu lit, biÕt tr−íc kÝch th−íc c¸c kh©u: l0=0,5m, l1=0,2m, tay quay
1 quay ®Òu víi w1=8rad/s.
l1
1ϕ
l0 l3
3ϕ
Ta cã quan hÖ vÐc t¬ sau:
l3 = l0 + l1
ViÕt l0 , l1 d−íi d¹ng sè phøc ta ®−îc:
l3 = l0e
i 2/π
+ l1e
i 1ϕ (1)
Dïng hµm abs ta tÝnh ®−îc trÞ sè cña vÐc t¬ l3 , dïng hµm angle ®Ó tÝnh
gãc chØ ph−¬ng cña vÐc t¬ nµy còng lµ gãc 3ϕ cña cu lit.
l3a = abs( l3 ) (2)
3ϕ = angle( l3 ) (3)
§Ó tÝnh ®−îc vËn tèc gãc vµ gia tèc gãc cña cu lÝt ta thay l3 = l3aei 3ϕ
vµo (1) råi ®¹o hµm theo t, ta ®−îc:
l3ae
i 3ϕ = l0ei 2/π + l1ei 1ϕ
l3a’e
i 3ϕ + i 3ω l3aei 3ϕ = i 1ω l1ei 1ϕ
Chia c¶ hai vÕ cho ei 3ϕ :
l3a’ + i 3ω l3a = i 1ω l1ei )( 31 ϕϕ −
T¸ch phÇn thùc vµ ¶o, ta rót ra:
l3a’ = - 1ω l1sin( )( 31 ϕϕ − (4)
3ω = 1ω l1cos )( 31 ϕϕ − / l3a (5)
§Ó cã gia tèc gãc, ta ®¹o hµm (5) :
α 3 = ( - 1ω l1sin )( 31 ϕϕ − ( 1ω - 3ω ) l3a - l3a’ 3ω )/ l3a (6)
C¨n cø vµo c¸c biÓu thøc (1), (2), (3), (4), (5) vµ (6) lËp ch−¬ng tr×nh tÝnh
c¸c chuyÓn vÞ vËn tèc vµ gia tèc nh− ®−îc viÕt trong file cl3.m d−íi ®©y.
KÕt qu¶ vÒ chuyÓn vÞ, vËn tèc vµ gia tèc gãc cu lÝt ®−îc cho d−íi d¹ng ®å
thÞ ë phÝa d−íi ch−¬ng tr×nh.
% CHUONG TRINH TINH CHUYEN DONG CUA CO CAU CU LIT
l1=.2; l0=.5; % Kich thuoc tay quay va
gia
w1=8; % Van toc goc khau dan -
rad/s
n=51; % So vi tri tay quay
df=2*pi/n;
f1=0:df:2*pi;
f1d=f1*180/pi; % Goc tay quay – do
l3=l0*exp(i*pi/2)+l1*exp(j*f1);
f3=angle(l3);
l3a=abs(l3);
l3ac=-l1*w1*sin(f1-f3);
w3=l1*w1*cos(f1-f3)./l3a;
alpha3=-(v32.*w3+l1*w1*(w3-w1).*sin(f3-
f1))./l3a;
subplot(311)
plot(f1d,f3*180/pi)
title(' CHUYEN DONG CUA CU LIT ')
ylabel(' C.vi goc Culit - do')
grid
subplot(312)
plot(f1d,w3)
ylabel(' Van toc goc Culit - rad/s')
grid
subplot(313)
plot(f1d,alpha3)
ylabel(' Gia toc goc Culit - rad/s^2')
xlabel(' Goc tay quay')
grid
0 50 100 150 200 250 300 350 400
60
80
100
120
CHUYEN DONG CUA CU LIT
C
.v
i g
oc
C
ul
it
-
do
0 50 100 150 200 250 300 350 400
-10
-5
0
5
V
an
t
oc
g
oc
C
ul
it
-
ra
d/
s
0 50 100 150 200 250 300 350 400
-50
0
50
G
ia
t
oc
g
oc
C
ul
it
-
ra
d/
s2
Goc tay quay
3. Gi¶i bµi to¸n c©n b»ng m¸y
VÝ dô 1 : Gi¶i bµi to¸n c©n b»ng tÜnh
Cã trôc quay trªn cã g¾n c¸c khèi l−îng lÖch t©m ®Æt trong cïng mét mÆt
ph¼ng nh− h×nh vÏ. Trôc hiÖn ®ang mÊt c©n b»ng tÜnh.Ta tiÕn hµnh c©n
b»ng trôc quay b»ng ph−¬ng ph¸p sè phøc nh− sau:
Tõ ®iÒu kiÖn c©n b»ng tÜnh ta cã: m4
m1
m1r1 + m2r2 + m3r3 + m4r4 + mcbrcb = 0 r1
r4
r2
mcb rcb
r3
BiÓu diÔn c¸c vÐc t¬ d−íi d¹ng sè phøc ta ®−îc:
mcbrcb = - (m1r1e
i 1ϕ + m2r2ei 2ϕ + m3r3ei 3ϕ + m4r4ei 4ϕ )
Tõ ®ã tÝnh ®−îc trÞ sè cña tÝch mcbrcb vµ gãc chØ ph−¬ng ϕ cña b¸n kÝnh
vÐc t¬ rcb b»ng c¸ch dïng hµm abs vµ hµm angle.
mcbrcb = abs( mcbrcb);
ϕ = angle(mcbrcb )
Ch−¬ng tr×nh tÝnh nh− sau:
% File canbt.m
% TINH CAN BANG TINH
m1=12; m2=15; m3=27;m4=30; % Cac khoi
luong
r1=.6; r2=.8; r3=.5; r4=.4; % Tri so cac ban
kinh vec to
f1=pi/2; f2=pi/12; % Cac goc chi
phuong
f3=-pi/6;f4=2*pi/3; % cua ban kinh ri
mrcb=-m1*r1*exp(i*f1)-m2*r2*exp(i*f2)-
m3*r1*exp(i*f3)-...
m4*r4*exp(i*f4);
mr=abs(mrcb) % Tri so mcg*rcb
f=angle(mrcb)*180/pi % Goc chi phuong cua
ban
% kinh vecto rcb (do)
Ch¹y ch−¬ng tr×nh trªn kÕt qu¶ nhËn ®−îc lµ tÝch mcbrcb ( kÝ hiÖu
lµ mr) vµ gãc chØ ph−¬ng (kÝ hiÖu lµ f) cña b¸n kÝnh vÐc t¬ cña khèi
l−îng c©n b»ng (tÝnh ra ®é):
mr =
23.3171
f =
-147.2962
NÕu chän tr−íc r = rcb= 0,6m th× khèi l−îng c©n b»ng cÇn ®Æt vµo lµ:
m = mcb = mr/rcb =38,86 kg.
VÝ dô 2: Gi¶i bµi to¸n c©n b»ng ®éng vËt quay
Bµi to¸n: H·y c©n b»ng ®éng trôc quay cã g¾n c¸c khèi l−îng ®Æt lÖch
t©m trªn nh÷ng mÆt ph¼ng kh¸c nhau nh− h×nh vÏ d−íi ®©y. BiÕt hai mÆt
ph¼ng T vµ P lµ hai mÆt ph¼ng c©n b»ng.
m1 T m1
P
m2 m2 r1
r1 r2 r2 m4
r4 A B
m4 rP mP l2
mP l1
r3 l4
r3
m3 l3
m3
rT
mT mT l
C¸c khèi l−îng, ®é dµi c¸c b¸n kÝnh vÐc t¬ t−¬ng øng vµ c¸c kÝch th−íc
kh¸c ®−îc cho nh− sau: m1=20 kg, m2=15 kg, m3=17 kg, m4=26 kg,
r1=0,6m, r2= 0,3m, r3=0,4m, r4=0,4m, l1=0,3m, l2=0,5m, l3=0,8m,
l4=1,2m, l=1,5m . C¸c b¸n kÝnh vÐc t¬ r1, r4 t−¬ng øng cã ph−¬ng th¼ng
®øng vµ n»m ngang, cßn vÐc t¬ r2, r3 lµm víi ph−¬ng ngang gãc
vµ . 02 30=ϕ 03 60−=ϕ
Ta gi¶i nh− sau: Gi¶ sö hai ®èi träng khèi l−îng mT vµ mP ®· ®−îc ®Æt
vµo hai mÆt ph¼ng c©n b»ng T vµ P, c¸c b¸n kÝnh vÐc t¬ t−¬ng øng lµ rT
vµ rP , vµ hiÖn giê trôc ®· ®−îc c©n b»ng tÜnh vµ ®éng. Tõ ph−¬ng tr×nh
c©n b»ng m« men ®èi víi ®iÓm A cña c¸c lùc qu¸n tÝnh vµ ph−¬ng tr×nh
tæng vÐc t¬ c¸c lùc qu¸n tÝnh b»ng 0 ta cã hai ph−¬ng tr×nh vÐc t¬ sau:
m1l1r1 + m2l2r2 + m3l3r3 + m4l4r4 + mPlrP =0 (1)
m1r1 + m2r2 + m3r3 + m4r4 + mPrP +mTrT=0 (2)
Ta gi¶i (1) tr−íc ®Ó x¸c ®Þnh mP, rP , sau ®ã gi¶i tiÕp (2) ®Ó x¸c ®Þnh nèt
mT , rT .
V× : r1 = r1ei 1ϕ , r2 = r2ei 2ϕ , r3 = r3ei 3ϕ , r4 = r4ei 4ϕ ta viÕt l¹i (1) d−íi
d¹ng sè phøc nh− sau:
mPlrP = mPlrPe Piϕ = - m1l1r1ei 1ϕ - m2l2r2ei 2ϕ - m3l3r3ei 3ϕ - m4l4r4e i 4ϕ
hay : mPrP = (- m1l1r1ei 1ϕ - m2l2r2ei 2ϕ - m3l3r3ei 3ϕ - m4l4r4ei 4ϕ ) / l
TrÞ sè cña tÝch mPrP ®−îc tÝnh nh− sau:
mP rP = abs(mPrP )
Chän tr−íc rP ta sÏ x¸c ®Þnh ®−îc khèi l−îng cña ®èi träng cÇn ®Æt trªn
mÆt ph¼ng c©n b»ng ph¶i P: mP= mP rP /rP
Gãc chØ ph−¬ng cña b¸n kÝnh vÐc t¬ :
= angle( mPϕ PrP )
Sau khi ®· cã mP ,rP ta gi¶i (2) ®Ó x¸c ®Þnh mTrT:
mTrT = - ( m1r1 + m2r2 + m3r3 + m4r4 + mPrP )
TrÞ sè cña mTrT ®−îc tÝnh theo:
mTrT = abs( mTrT )
NÕu chän tr−íc mT ta sÏ x¸c ®Þnh ®−îc ®é dµi cña b¸n kÝnh vÐc t¬ rT :
rT = m TrT / mT
Gãc chØ ph−¬ng cña b¸n kÝnh vÐc t¬ rT
ϕ T = angle(mTrT)
§Õn ®©y bµi to¸n ®· gi¶i xong.
D−íi ®©y lµ ch−¬ng tr×nh tÝnh:
% File canbd.m
% CHUONG TRINH TINH CAN BANG DONG CHO VAT QUAY
m1=20; m2=15; m3=17; m4=26; % Khoi luong cac
% vat lech tam - kg
r1a=0.6; r2a= 0.3; r3a=0.4; r4a=0.4; % Do dai cac ban
% kinh vec
to -m
l1=0.3; l2=0.5; l3=0.8; l4=1.2; % Khoang cach doc
% truc den mat phang
T
% cua cacs khoi
luong
l=1.5; % Khoang cach giua hai mat phang
c.bang
f1=pi/2; f2=pi/6; % Cac goc chi phuong cua cac
f3=-pi/3; f4=pi; % ban kinh vec to -m
r1=r1a*exp(i*f1); % Cac ban kinh vec to
r2=r2a*exp(i*f2); % duoi dang so phuc
r3=r3a*exp(i*f3);
r4=r4a*exp(i*f4);
mPrP=(-m1*l1*r1-m2*l2*r2-m3*l3*r3-m4*l4*r4)/l; % Vec to
mPrPa=abs(mPrP); % Tri so cua tich mPrP -
kg.m
rPa=0.5; % Chon truoc tri so v.to rP
mP=mPrPa/rPa; % Khoi luong doi trong mP
fP=angle(mPrP)*180/pi; % Goc chi phuong cua rP
rP=mPrP/mP; % ban kinh vec to cua doi trong mP
mTrT=-m1*r1-m2*r2-m3*r3-m4*r4-mP*rP;
mTrTa=abs(mTrT); % Tri so tich mTrT
mT=10; % chon truoc doi trong trai
mT - kg
rTa=mTrTa/mT; % Do dai ban kinh vec to rT
fT=angle(mTrT)*180/pi; % Goc chi phuong cua vec to rT -
do
disp(' DOI TRONG DAT LEN M.PHANG P ')
disp(' mP(kg) rP(m) fP(do)')
P=[ mP rPa fP];
disp(P)
disp(' DOI TRONG DAT LEN M.PHANG T ')
disp( ' mT (kg) rT(m) fT (do)')
T=[ mT rTa fT];
disp(T)
Ch¹y ch−¬ng tr×nh víi trÞ sè b¸n kÝnh vÐc t¬ cña ®èi träng ®Æt trªn mÆt
ph¼ng c©n b»ng ph¶i rP vµ khèi l−îng ®èi träng ®Æt trªn mÆt ph¼ng c©n
b»ng tr¸i mT ®−îc chän tr−íc:
rP = 0,5 m vµ mT = 10 kg
ta ®−îc kÕt qu¶ lµ c¸c khèi l−îng cña c¸c ®èi träng ( tÝnh b»ng kg), ®é
dµi c¸c b¸n kÝnh vÐc t¬ (tÝnh b»ng m)vµ c¸c gãc chØ ph−¬ng t−¬ng øng
cña chóng (tÝnh b»ng ®é) nh− ®−îc biÓu diÔn d−íi ®©y:
DOI TRONG DAT LEN M.PHANG P
mP(kg) rP(m) fP(do)
10.4153 0.5000 -0.1014
DOI TRONG DAT LEN M.PHANG T
mT (kg) rT(m) fT (do)
10.0 0.8613 -104.1446
VÞ trÝ cña c¸c ®èi träng ®−îc thÓ hiªn trªn h×nh vÏ.
4. TÝnh thiÕt kÕ bé truyÒn b¸nh r¨ng
VÝ dô: TÝnh kho¶ng c¸ch trôc cña bé truyÒn b¸nh r¨ng trô r¨ng th¼ng A
vµ kh¶o s¸t sù phô thuéc gi÷a A vµ tØ sè truyÒn i khi c¸c th«ng sè kh¸c lµ
kh«ng ®æi
Kho¶ng c¸ch trôc cña bé truyÒn b¸nh r¨ng trô r¨ng th¼ng ®−îc tÝnh theo
c«ng thøc cã d¹ng quen thuéc sau:
3
2
26
][
10.05,1)1(
n
KN
i
iA
Atx ϕσ ⎟⎟⎠
⎞
⎜⎜⎝
⎛+≥
Cho øng suÊt tiÕp xóc cho phÐp , hÖ sè t¶i träng K=1,3,
hÖ sè chiÒu réng b¸nh r¨ng
2/546][ mmNtx =σ
4,0=Aϕ , tèc ®é vßng quay trôc bÞ dÉn n2 = 60
v/ph, c«ng suÊt truyÒn N=5 kw. §Ó thÊy ®−îc quan hÖ gi÷a trÞ sè
kho¶ng c¸ch trôc vµ tØ sè truyÒn ta cho tØ sè truyÒn i biÕn thiªn tõ 1 ®Õn
10, sau ®ã tÝnh c¸c trÞ sè A t−¬ng øng. C¸ch tÝnh ®−îc tr×nh bµy trong file
kctA.m vµ ®å thÞ trªn h×nh d−íi ®©y m« t¶ quan hÖ gi÷a A vµ i lµ kÕt qu¶
thu ®−îc khi ch¹y ch−¬ng tr×nh.
Ta thÊy mét ®iÒu thó vÞ lµ kho¶ng c¸ch trôc cã trÞ sè nhá nhÊt khi tØ sè
truyÒn b»ng 2 vµ kho¶ng c¸ch trôc t¨ng nhanh khi tØ sè truyÒn v−ît qu¸
4.
1 2 3 4 5 6 7 8 9 1 0
1 8 0
1 9 0
2 0 0
2 1 0
2 2 0
2 3 0
2 4 0
T i s o t r u y e n
K
h.
c
ac
h
tru
c
- m
m
T IN H K H . C A C H T R U C B O T R U Y E N B . R A N G
% File kctA.m
% TINH KHOANG CACH TRUC BO TRUYEN BANH RANG
i=1:.5:10; % Ti so truyen
ustx = input(' ung suat tiep xuc - N/mm^2
ustx=')
k = input('he so tai trong la k=')
phiA = input('he so chieu rong banh rang
phiA=')
teta=input('he so tang kha nang tai teta=')
n2= input('so vong quay banh rang n2=')
N=input('cong suat la - KW N=')
A
=(i+1).*((1.05*10^6./(ustx*i)).^2*k*N/(phiA*teta*n2)).^(1
/3);
plot(i,A)
title(' TINH KH. CACH TRUC BO TRUYEN B.RANG')
xlabel('Ti so truyen')
ylabel(' Kh. cach truc - mm')
grid
5. TÝnh søc bÒn trôc
Trong tÝnh søc bÒn trôc trong c¸c hép gi¶m tèc viÖc x¸c ®Þnh c¸c ph¶n
lùc t¹i c¸c gèi vµ trÞ sè m« men uèn t¹i c¸c tiÕt diÖn nguy hiÓm ( th−êng
lµ bµi to¸n kh«ng gian) cã thÓ ®−îc thùc hiÖn nhê lËp mét ch−¬ng tr×nh
tÝnh nh− trong vÝ dô d−íi ®©y:
y
PAy PBy
0 A B
C x
z lA PAz PBz
lB
lC
Gi¶ sö trôc chÞu t¸c dông cña hÖ lùc nh− h×nh vÏ. Gäi R0y,R0z,RAy,Raz lµ
c¸c thµnh phÇn ph¶n lùc tõ c¸c æ t¹i 0 vµ C. Theo ®iÒu kiÖn c©n b»ng vÒ
m« men ®èi víi ®iÓm O vµ c©n b»ng tæng vÐc t¬ lùc , ta viÕt ®−îc hai
ph−¬ng tr×nh c©n b»ng sau:
lAxPAy+lAxPAz+ lBxPBy+lBxPBz+ lCxRCy+lCxRCz = 0
(1)
PAy+PAz+ PBy+PBz+ RCy+RCz+ R0y+R0z = 0
(2)
Thay Rc=RCy+RCz , R0= R0y+R0z vµo (1) vµ (2) ta rót ra:
lCxRC = - ( lAxPAy+lAxPAz+ lBxPBy+lBxPBz )
(3)
R0 = - ( PAy+PAz+ PBy+PBz+ RCy+RCz )
(4)
Sau khi tÝnh ®−îc c¸c ¸p lùc khíp ®éng t¹i C vµ O, ta cã thÓ tÝnh ®−îc
m« men uèn t¹i c¸c tiÕt diÖn nguy hiÓm lµ A vµ B dùa vµo c¸c ph−¬ng
tr×nh c©n b»ng sau:
MB + lBC x RC = 0
(5)
MA+(-lA x R0) = 0
(6)
§Ó gi¶i c¸c ph−¬ng tr×nh vÐc t¬ (3), (4), (5) vµ (6) ta ®−a ra c¸c vÐc t¬
®¬n vÞ cña hÖ toa ®é §Ò c¸c lµ i, j vµ k vµ dïng hµm cross(...,...) ®Ó nh©n
cã h−íng hai vÐc t¬. C¸ch lµm ®−îc thÓ hiÖn râ trong file plkd.m d−íi
®©y:
% File plkd.m
% Tinh phan luc tai khop dong va mo men uon
% Cac Vec to don vi cua he toa do De cac
I=[1 0 0]';
J=[0 1 0]';
K=[0 0 1]';
% Vec to vi tri
la=100; lb=250; lc=350; lbc=100;
La=100*I; Lb=250*I; Lc=350*I; Lbc=lbc*I;
% Luc tac dung
Pay=-1.4*J; Paz=.5*K;
Pby=-.9*J; Pbz=1.4*K;
% Tinh phan luc goi C
LcRc=-cross(La,Pay)-cross(La,Paz)-cross(Lb,Pby)-
cross(Lb,Pbz);
Rc0=LcRc/lc; % Vec to phan luc tai
goi C(chua quay)
Q=[0 0 0; 0 0 -1; 0 1 0]; % Ma tran chuyen
(quay)
Rc=-Q*Rc0 % Vec to phan luc tai
goi C
% Tinh phan luc tai goi O
R0=-(Pay+Paz+Pby+Pbz+Rc)
% Tinh mo men uon tai tiet dien B va A
Mb=-cross(Lbc,Rc)
Ma=-cross(-La,R0)
% ---------------------------------------------
Ch¹y ch−¬ng tr×nh plkd.m trªn mµn h×nh Command Window, kÕt qu¶
cña c¸c ph¶n lùc khíp ®éng t¹i O , C vµ c¸c m« men uèn t¹i mÆt c¾t A vµ
B nhËn ®−îc nh− sau:
Rc =
0
1.0429
-1.1429
R0 =
0
1.2571
-0.7571
Mb =
0
-114.2857
-104.2857
Ma =
0
-75.7143
-125.7143
» plkd
Rc =
0
1.0429
-1.1429
R0 =
0
1.2571
-0.7571
Mb =
0
-114.2857
-104.2857
Ma =
0
75.7143
125.7143
6. TÝnh dao ®éng
a. TÝnh dao ®éng cña hÖ mét bËc tù do
Gi¶ sö cã hÖ dao ®éng mét bËc tù do nh− h×nh vÏ: m kµ khèi l−îng cña
vËt, c lµ ®é cøng lß xo (N/m), k lµ hÖ sè c¶n cña gi¶m chÊn thuû lùc
(Ns/m), cßn F lµ lùc kich thÝch víi F=F0coswt ( F0 lµ biªn ®é cña lùc –
N, w lµ tÇn sè gãc – rad/s).
ViÕt ph−¬ng tr×nh ®Þnh luËt 2 cho vËt ;
mx’’= -kx’-cx +F0coswt (1)
trong ®ã x, x’, x’’ lÇn l−ît lµ chuyÓn vÞ, x
vËn tèc vµ gia tèc cña vËt. k F
ta biÕn ®æi (1) nh− sau:
c m
x’’= -kx’/m - cx/m + +F0coswt/m (2)
§Æt x1=x’, x2= x th× x1’= x’’, x2’= x1, ph−¬ng tr×nh vi ph©n cÊp 2 trªn sÏ
®−îc viÕt thµnh hÖ hai ph−¬ng tr×nh bËc nhÊt víi hai Èn lµ x1 vµ x2 nh−
d−íi ®©y:
x1’= - kx1/m - cx2m + F0coswt/m (3)
x2’= x1
Ch−¬ng tr×nh ®Ó gi¶i hÖ (3) ®−îc viÕt trong c¸c file ml00.m vµ ml0.m
nh− d−íi ®©y:
% File ml00.m
% Chuongtrinh tinh dao dong he 1 bac tu do co
giam chan
% thuy luc chui luc kich dong dang F=F0cos(wt)
global m k c w F0
m=100; % Khoi luong vat - kg
c=10000; % Do cung lo xo - N/m
k=80; % He so can nhot Ns/m
w1=sqrt(c/m) % Tan so dao dong rieng
w=6; % Tan so luc kich dong
tc=15; % Thoi gian dao dong
x0=[0 .01 ]' ; % Dieu kien ban dau (van
toc, toa do)
F0=20 ; % Bien do luc kich dong - N
[t,x]=ode45('ml0',tc,x0);
subplot(211)
plot(t,x(:,2))
title(' TINH DAO DONG HE MOT BAC TU DO')
ylabel('Chuyen vi cua vat - cm')
grid
subplot(212)
plot(t,x(:,1))
xlabel('thoi gian -s')
ylabel('Van toc cua vat - m/s')
grid
pause
% File ml0.m
function xc=ml0(t,x)
global m k c w F0
xc=zeros(2,1);
xc(1)=-k/m*x(1)-c/m*x(2)+F01*cos(w*t)/m;
xc(2)=x(1);
KÕt qu¶ ch¹y ch−¬ng tr×nh cho d−íi d¹ng ®å thÞ d−íi ®©y:
0 5 1 0 1 5
-1
-0 .5
0
0 .5
1
TIN H D A O D O N G H E M O T B A C TU D O
C
hu
ye
n
vi
c
ua
v
at
-
cm
0 5 1 0 1 5
-0 .1
-0 .0 5
0
0 .0 5
0 .1
tho i g ia n -s
V
an
t
oc
c
ua
v
at
-
m
/s
b. TÝnh dao ®éng hÖ hai bËc tù do
Cã hÖ dao déng hai bËc tù do nh− h×nh vÏ: khèi l−îng
cña c¸c vËt lµ m1, m2, ®é cøng c¸c lß xo lµ c1vµ c2, hÖ x2
F1
sè c¶n nhít lµ k1 vµ k2, lùc kÝch thich ®Æt lªn hÖ lµ c2 k2
F1=F10sinw1t, F2=F20sinw2t.
x1
F2
c1
k1
ViÕt hÖ ph−¬ng tr×nh ®Þnh luËt 2 Niu t¬n cho
tõng vËt:
m1x1’’=- k1x1’- c1x1+k2(x2’-x1’)+c2(x2-x1) +F01sinw1t
m2x2’’= - k2 (x2’-x1’)- c2(x2 -x1)+F02sinw2t
x1’’ = - (k1+k2)x1’/m1- (c1+c2)x1/ m1+k2x2’/ m1+c2x2 / m1+ F01sinw1t/ m1
(1)
x2’’ = k2x1’/ m2 + c2x1 / m2 - k2x2’ / m2 - c2x2/ m2 + F02sinw2t/ m2
T−¬ng tù nh− khi gi¶i ph−¬ng tr×nh vi ph©n c©p hai ë phÇn trªn, ta còng
®Æt:
y1 = x1’, y2 = x1, y3 = x2’, y4 = x2.
(2)
Rót ra:
y1’=x1’’
(3)
y2’=y1
y3’= x2’’
y4’=y3
Thay (1) vµo (3) vµ chó ý ®Õn (2) ta lËp ®−îc hÖ gåm bèn ph−¬ng tr×nh
vi ph©n tuyÕn tÝnh bËc nhÊt. HÖ ph−¬ng tr×nh nµy vµ c¸ch gi¶i nã ®−îc
cho trong file ml11.m vµ ml1.m ë d−íi ®©y.
Nh©n tiÖn ®©y ta còng thö t¸c dông cña gi¶m chÊn ®éng lùc: theo lÝ
thuyÕt, nÕu lùc kÝch thÝch vµo vËt 2 b»ng 0 ( F2=0), vµ c¸c th«ng sè cña
bé gi¶m chÊn ®éng lùc gåm khèi l−îng m2 vµ lß xo cã ®é cøng c2 tho·
m·n ®iÒu kiÖn: c2/m2 = w1
2 ( w1 lµ tÇn sè lùc kÝch thÝch cña lùc F1 lªn vËt
1) th× dao ®éng cña vËt chÝnh 1 cã khèi l−îng m1 ®ã sÏ b»ng 0. Trong
ch−¬ng tr×nh ta cho F20=0, m2=10 kg, c2=510 N/m vµ w1= 22 / mc .
% File ml11.m
% Tinh dao dong he hai bac tu do
global m1 m2 k1 k2 c1 c2 w F10 F20
m1=100; % Khoi luong vat thu nhat - kg
c1=10000; % Do cung lo xo thu nhat - N/m
m2=10; % Khoi luong vat thu 2 - kg
c2=510; % Do cung lo xo thu 2 - N/m
k1=220; k2=0; % He so can nhot cua giam chan
- Ns/m
w20=sqrt(c2/m2)
x0=[0 .0 0 .0]'; % Dieu kien ban dau
F10=100; % Bien do luc tac dung vao
vat 1 – N
F20=0; % -- 2
w1=w20; % Tan so goc cua luc k.thich
- rad/s
[t,y]=ode45('ml1',tc,x0);
subplot(211)
plot(t,y(:,2)*100)
title('TINH DAO DONG HE HAI BAC TU DO')
ylabel('Chuyen vi cua vat 1 - cm')
grid
subplot(212)
plot(t,y(:,4)*100)
xlabel(' Thoi gian - s')
ylabel('Chuyen vi cua vat 2 - cm')
grid
pause
% File ml1.m
% Chuong trinh con tinh dao dong he hai bac tu
do
function yc=ml1(t,y)
global m1 m2 k1 k2 c1 c2 w F10 F20
yc=zeros(4,1);
yc(1)=-(k1+k2)/m1*y(1)-(c1+c2)/m1*y(2)+...
k2/m1*y(3)+c2/m1*y(4)+F10*sin(w1*t)/m1;
yc(2)= y(1);
yc(3)= k2/m2*y(1)+c2/m2*y(2)-k2/m2*y(3)-
c2/m2*y(4)+...
F20*sin(w2*t)/m2;
yc(4)= y(3);
Ch¹y ch−¬ng tr×nh sÏ cho kÕt qu¶ d−íi d¹ng ®å thÞ sau:
0 2 4 6 8 1 0 1 2 1 4 1 6 1 8 2 0
-2
-1
0
1
2
TIN H D A O D O N G H E H A I B A C TU D O
C
hu
ye
n
vi
c
ua
v
at
1
-
c
m
0 2 4 6 8 1 0 1 2 1 4 1 6 1 8 2 0
-4 0
-2 0
0
2 0
4 0
Th o i g ia n - s
C
hu
ye
n
vi
c
ua
v
at
2
-
c
m
Ta thÊy mét ®iÒu thó vÞ lµ : ®óng nh− dù ®o¸n, biªn ®é dao ®éng cña vËt
chÝnh 1 gi¶m dÇn theo thêi gian vµ sÏ t¾t h¼n sau Ýt gi©y n÷a.
c. X¸c ®Þnh tÇn sè dao ®éng riªng cña hÖ nhiÒu bËc tù do
Víi hÖ c¬ häc nhiÒu bËc tù do viÖc x¸c ®Þnh c¸c tÇn sè dao ®éng riªng
cña hÖ cã mét ý nghÜa quan träng. Matlab gióp ta gi¶i bµi to¸n nµy kh«ng
mÊy khã kh¨n.
VÝ dô: Cã hÖ gåm bèn toa xe mãc nèi víi nhau, h·y x¸c ®Þnh tÇn sè dao
®éng riªng cña hÖ theo chiÒu däc. BiÕt khèi l−îng c¸c toa xe lµ m1=45T,
m2=35T, m3=40T, m4=50T, ®é cøng c¸c lß xo lµ c1=c2=800KNm,
c3=1000KN/m.
m1 x1 m2 x2 m3 x3 m4 x4
§Ó gi¶i bµi to¸n tr−íc hÕt ta ph¶i lËp c¸c ma trËn khèi l−îng vµ ma tr©n
®é cøng nh− sau:
- Ma trËn khèi l−îng:
M=diag(m1, m2, m3, m4); ( Ma trËn chÐo cã c¸c phÇn tö lµ c¸c
khèi l−îng)
-Ma trËn ®é cøng:
c1 -c1 0 0
C = -c1 c1+c2 -c2 0
0 -c2 c2+c3 -c3
0 0 -c3 c3
- Dïng hµm eig ®Ó x¸c ®Þnh c¸c trÞ riªng vµ vÐc t¬ riªng:
[ X, L] = eig( C, M);
trong ®ã L lµ ma trËn ®−êng chÐo mµ mçi phÇn tö trªn ®−êng chÐo lµ mét
trÞ riªng (eigenvalue) lµ w1
2, w2
2, w3
2
vµ w4
2 . Cßn w1 w2, w3 vµ w4 chÝnh lµ
c¸c tÇn sè dao ®éng riªng cña hÖ (rad/s).
Ma trËn (hµng) cña c¸c tÇn sè dao ®éng riªng ®−îc x¸c ®Þnh nh− sau:
w = diag(sqrt(L));
KÕt qu¶ tÝnh b»ng sè cô thÓ nhËn ®−îc nhê ch¹y ch−¬ng tr×nh trong file
tansd.m d−íi ®©y:
% File t¸nd.m
% CHUONG TRINH TINH TAN SO DAO DONG RIENG
% CUA HE NHIEU BAC TU DO
m1=45000; m2=35000;
m3=40000; m4=50000; % Khoi luong cac toa xe
c1=800000;c2=c1; % Do cung lo xo N/m.
c3=1000000;
% Ma tran khoi luong va ma tran do cung
m=[m1 m2 m3 m4];
M=diag(m);
C=[c1 -c1 0 0; -c1 c1+c2 -c2 0 ; 0 -c2 c2+c3
-c3;...
0 0 -c3 c3];
% Tinh tri rieng va vec to rieng
,L]=eig(C,M);
wb=diag(L); % Cac tri rieng
w=sqrt(wb) % Cac tan so dao dong rieng -
rad/s
C¸c gi¸ trÞ tÇn sè dao ®éng riªng ®−îc ch−¬ng tr×nh cho d−íi ®©y:
w =
8.6524
6.5472
0 + 0.0000i
3.2807
Ta thÊy cã mét tÇn sè dao ®éng riªng b»ng 0 : w3=0. §iÒu nµy vÒ mÆt lÝ
thuyÕt dao ®éng th× hoµn toµn hîp lÝ v× nã t−¬ng øng vèi mét d¹ng dao
®éng riªng cña hÖ trong ®ã toµn hÖ chuyÓn ®éng nh− mét vËt r¾n.
KÕt luËn
Qua hai phÇn nghiªn cøu t×m hiÓu phÇn mÒm lËp tr×nh Matlab vµ øng
dông nã ®Ó gi¶i mét sè bµi to¸n kÜ thuËt, chóng t«i thÊy r»ng ®©y lµ mét
phÇn mÒm rÊt m¹nh, dÔ sö dông vµ rÊt cã hiÖu qu¶ trong tÝnh to¸n, ®Æc
biÖt thÝch hîp cho viÖc nghiªn cøu trong lÜnh vùc khoa häc kÜ thuËt.
§ång thêi chóng t«i còng thÊy râ r»ng: ®Ó hiÓu cÆn kÏ còng nh− sö dông
®−îc hÕt kh¶ n¨ng cña Matlab th× ®ã còng kh«ng ph¶i lµ chuyÖn dÔ, v×
b¶n th©n nã lµ mét phÇn mÒm lín. Tuy nhiªn, trong ph¹m vi cña ®Ò tµi
nghiªn cøu nµy, nh÷ng vÊn ®Ò c¬ b¶n vµ nh÷ng øng dông phæ biÕn cña
phÇn mÒm ®· ®−îc tr×nh bµy vµ ®· cã nh÷ng vÝ dô minh ho¹ cô thÓ. Tõ
nh÷ng phÇn c¬ b¶n nµy, ng−êi ®äc qua sö dông thùc tÕ phÇn mÒm sÏ cã
kh¶ n¨ng tù t×m hiÓu s©u h¬n nhê tra cøu phÇn Help trong m¸y.
C¸ch tr×nh bµy chóng t«i ®· cè g¾ng sao cho ng¾n gän, dÔ hiÓu vµ thiªn
vÒ thùc hµnh. Mét trong nh÷ng môc ®Ých chÝnh cña nhãm nghiªn cøu lµ
biÕn kÕt qu¶ nghiªn cøu nµy thµnh tµi liÖu ®Ó t×m hiÓu vµ sö dông Matlab
cho nh÷ng ng−êi quan t©m, ®Æc biÖt lµ cho sinh viªn. Hi väng lµ víi tµi
liÖu nµy, ng−êi häc cã thÓ tù thùc hµnh trªn m¸y tÝnh ®Ó lËp c¸c ch−¬ng
tr×nh tÝnh to¸n cho bµi to¸n cña m×nh.
Do khu«n khæ thêi gian cã h¹n, cßn mét phÇn thø hai n÷a cña Matlab mµ
chóng t«i ch−a kÞp nghiªn cøu: ®ã lµ phÇn SIMULINK. §©y lµ phÇn
mÒm m« pháng rÊt m¹nh vµ hiÖu qu¶ cña Matlab, cho phÐp gi¶i®−îc
nhiÒu lo¹i bµi to¸n phøc t¹p. Chóng t«i hi väng sÏ cã ®iÒu kiÖn nghiªn
cøu tiÕp trong thêi gian tíi.
Các file đính kèm theo tài liệu này:
- docx_20110912_matlab_introduction_127.pdf