Tải bản đầy đủ (.pdf) (82 trang)

Ứng dụng matlab trong xây dựng thư viện một số hàm hỗ trợ giải bài tập lý thuyết mạch

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.14 MB, 82 trang )

Bộ giáo dục và đào tạo
Trờng đại học bách khoa hà nội
------- F G -------

Luận văn thạc sĩ khoa học

ứng dụng matlab trong xây dựng th viện
một số hàm hỗ trợ giải bài tập lý thuyết mạch

Ngành:
M số:

đo lờng và hệ thống điều khiển

Phan văn phùng

Ngời hớng dẫn khoa học: PGS.TSKH Trần Hoài Linh

Hà Nội - 2009


Luận văn thạc sỹ khoa học

1

Ngành: Đo lờng & Các hệ thống điều khiển

Mc lc
Mc lc.................................................................................................................. 1
Li núi u ............................................................................................................ 4
Chng I. C s Matlab........................................................................................ 6


1.1.Tng quan v cu trỳc d liu ca Matlab, cỏc ng dng....................... 6
1.1.1.D liu............................................................................................... 6
1.1.2.ng dng........................................................................................... 7
1.1.3.Toolbox l mt cụng c quan trng ca Matlab ............................... 7
1.2. H thng Matlab ..................................................................................... 7
1.3. Mt s lnh c bn trong Matlab............................................................ 9
1.3.1. Cỏc phộp toỏn c bn ....................................................................... 9
1.3.2. Cỏc bin (khai bỏo v s dng)........................................................ 9
1.3.3. Cỏc hm c bit ........................................................................... 10
1.3.4. Cỏc cu trỳc d liu c bn............................................................ 10
1.3.5. Cỏc hm phc tp........................................................................... 12
1.3.6. Cu trỳc lnh c bn ...................................................................... 13
1.4. Lp trỡnh trờn m.file .............................................................................. 15
1.5. Giao din ha ngi dựng (GUI Graphical User Interfaces) .......... 17
1.5.1. Cỏc thnh phn iu khin ca GUI (uicontrol objects)................ 18
1.5.2. Lp trỡnh iu khin vi GUI......................................................... 21
Chng II. ng dng Matlab trong gii mt s dng bi toỏn lý thuyt mch
in ...................................................................................................................... 23
2.1. Biu din s phc v nh phc ca tớn hiu xoay chiu iu hũa........ 23
2.1.1. Hm chuyn i gia hai dng c bn mụ t tớn hiu hỡnh sin, nh
phc.......................................................................................................... 23
2.1.2. Cng, tr, nhõn, chia s phc dng le. .................................... 24
2.1.3. Gii h phng trỡnh phc ............................................................. 25
2.2. Gii mch in bng SCAM (Symbolic Circuit Analysis in MatLab) 26
2.2.1. C s lý thuyt ............................................................................... 26
2.2.2. Bi toỏn.................................................................................................. 29
2.3. Mng hai ca tuyn tớnh khụng ngun ................................................. 38
HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh



Luận văn thạc sỹ khoa học

2

Ngành: Đo lờng & Các hệ thống điều khiển

2.3.1. H phng trỡnh dng [A],[B] ....................................................... 38
2.3.2. H phng trỡnh dng [Z],[Y]........................................................ 39
2.3.3. H phng trỡnh dng [H], [G] ...................................................... 39
2.3.4. Mi quan h gia cỏc h phng trỡnh: [A],[B],[Z],[Y],[H],[G] .. 40
2.3.5. Xõy dng mng hỡnh T v t thụng s mng hai ca................ 43
2.4 H tr gii mch bng nh Laplace ...................................................... 51
2.4.1. Bin i thun ................................................................................ 51
2.4.2. Bin i ngc ............................................................................... 52
2.4.3. Mt s nh lý v nh-gc: ............................................................ 52
2.4.4. Gii mch bng phng phỏp toỏn t:.......................................... 54
2.5. ng dõy di....................................................................................... 58
2.5.1 Tớnh toỏn cỏc thụng s c bn cho ng dõy ............................... 58
2.5.2. H phng trỡnh hyperbolic ca ng dõy di. ........................... 59
2.5.2. Tớnh toỏn truyn cụng sut............................................................. 60
2.5.3. nh Petersen (Quỏ trỡnh quỏ ) ................................................... 61
Chng III. Kt qu ............................................................................................ 65
3.1. Giao din tớnh toỏn s phc .................................................................. 65
3.1.1. Giao din ban u .......................................................................... 65
3.1.2. Giao din sau khi ó nhp s liu .................................................. 65
3.1.3. Giao din sau khi ó cú kt qu: .................................................... 66
3.2. Giao din nh phc ca tớn hiu hỡnh sin ............................................. 67
3.2.1. Giao din ban u .......................................................................... 67
3.2.2. Giao din sau khi nhp s liu ....................................................... 68
3.2.3. Giao din kt qu ........................................................................... 69

3.3. Giao din tớnh toỏn quan h gia cỏc ma trn ca mng 2 ca ............ 70
3.3.1. Giao din ban u .......................................................................... 70
3.3.2. Giao din sau khi nhp s liu ....................................................... 70
3.3.2.Giao din sau khi nhp s liu ........................................................ 71
3.4. Giao din tớnh toỏn quỏ trỡnh quỏ .................................................... 72
3.4.1. Giao din ban u .......................................................................... 72
HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

3

Ngành: Đo lờng & Các hệ thống điều khiển

3.4.2. Giao din sau khi nhp s liu ....................................................... 72
3.4.3. Giao din kt qu ........................................................................... 73
3.5. Giao din tớnh toỏn cỏc thụng s c bn ca ng dõy di ................ 73
3.5.1. Giao din ban u .......................................................................... 73
3.5.2. Giao din sau khi nhp s liu ....................................................... 74
3.5.3. Giao din kt qu ........................................................................... 74
3.6. Giao din tớnh toỏn truyn cụng sut ng dõy di ............................ 75
3.6.1. Giao din ban u .......................................................................... 75
3.6.2. Giao din sau khi nhp s liu ....................................................... 76
3.6.3. Giao din kt qu ........................................................................... 77
3.7. Giao din tớnh toỏn theo mụ hỡnh Petersen........................................... 77
3.7.1. Giao din ban u .......................................................................... 77
3.7.3. Giao din sau khi nhp s liu ....................................................... 78
3.7.3. Giao din kt qu ........................................................................... 79
Chng IV: Kt lun v hng phỏt trin ca lun vn ..................................... 80

4.1. Kt lun................................................................................................. 80
4.2.Hng phỏt trin .................................................................................... 80
Ti liu tham kho............................................................................................... 81

HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

4

Ngành: Đo lờng & Các hệ thống điều khiển

Li núi u
t nc ta ang trong quỏ trỡnh hi nhp, s cnh tranh vi cỏc nc trờn
th gii trong tt cỏc lnh vc rt quyt lit, ũi hi cỏc ngnh, cỏc cp phi i
mi phng phỏp qun lý, ỏp dng cụng ngh tiờn tin, hin i, nõng cao
cht lng v hiu qu. i vi ngnh giỏo dc cng vy, cnh tranh c
phi nõng cao cht lng o to, gi vng thng hiu. Mun vy, trong cỏc
trng hc, c bit l cỏc trng i hc v cao ng, ngoi yu t nng lc
ca ging viờn, giỏo viờn, nh trng cn phi chỳ trng n vic s dng
phng tin dy hc hin i, ng dng cỏc phn mm phc v cho quỏ trỡnh
ging dy cỏc mụn hc. Qua ú sinh viờn tip cn vi cụng ngh tiờn tin giỳp
cỏc em nõng cao nng lc nhn thc, nng lc t duy, k nng ng dng,
gii quyt tt nhim v m mụn hc yờu cu. Cỏc ngnh hc núi chung, ngnh
in núi riờng, vic gii bi tp cỏc mụn hc, nht l mụn hc Lý Thuyt Mch
mt mt lng thi gian khỏ ln. Mụn Lý Thuyt Mch khụng i sõu vo vic
gii thớch cỏc hin tng vt lý, m mụn hc chỳ ý nhiu n tinh toỏn v ng
dng k thut, phc v cho chuyờn ngnh v cỏc lnh vc khoa hc k thut
khỏc liờn quan n k thut in. T trc n nay phng phỏp gii cỏc bi tp

v lý thuyt mch thng l: t s mch in lp cỏc phng trỡnh, h
phng trỡnh, sau ú tin hnh gii cỏc phng trỡnh, h phng trỡnh tỡm ra
kt qu. Gp nhng mch in cú nhiu phộp tớnh v phng trỡnh phc tp,
nht l trong vic gii cỏc bi tp mch in nhiu nhỏnh, mch in ch
quỏ , ng dõy di mt rt nhiu thi gian. gii quyt vn ny,
chỳng ta cn phi ng dng mt phn mm no ú. Cú rt nhiu phn mm tớnh
toỏn vi kh nng ng dng cao nh: Maple, Mathcad, Athematica,
MatlabTrong ú Matlab l phn mm cú kh nng ng dng cao v tin ớch.
Vi ni dung bn lun vn : ng dng Matlab trong xõy dng th vin mt s
hm h tr gii bi tp lý thuyt mch. Qua ú, vic thc hin lp cỏc hm h
tr v vic mụ phng cỏc bi tp v mch in dựng phn mm Matlab trờn mỏy
tớnh giỳp cho sinh viờn tin hnh gii cỏc bi tp mt cỏch nhanh chúng, chớnh
xỏc v hiu qu.
Ni dung bn lun vn ny gm cỏc phn nh sau:
Chng I - C s Matlab: Gii thiu tng quan v phn mm Matlab, mt
s c im v kh nng ng dng c bn trong gii cỏc bi toỏn k thut.
HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

5

Ngành: Đo lờng & Các hệ thống điều khiển

Chng II - ng dng Matlab gii mt s dng bi toỏn lý thuyt mch
in - tp trung trỡnh by v kh nng ng dng Matlab trong gii mch in c
bn nh bi toỏn: tớnh toỏn s phc, nh ca tớn hiu hỡnh sin, tớnh toỏn quan h
gia cỏc ma trn ca mng 2 ca, tớnh toỏn quỏ trỡnh quỏ , tớnh toỏn cỏc thụng
s ca ng dõy di, tớnh toỏn truyn cụng sut ng dõy di.

Chng III - Kt qu hm th vin v giao din GUI tng kt mt s kt
qu trin khai trờn nn Matlab phn th vin cỏc hm v giao din tớnh toỏn s
phc, giao din nh ca tớn hiu hỡnh sin, giao din tớnh toỏn quan h gia cỏc
ma trn ca mng 2 ca, giao din tớnh toỏn quỏ trỡnh quỏ , giao din tớnh toỏn
cỏc thụng s ca ng dõy di, giao din tớnh toỏn truyn cụng sut ng dõy
div mt s giao din GUI h tr khai thỏc cỏc th vin cỏc hm ó vit.
ChngIV - Kt lun v hng phỏt trin, túm tt li cỏc kt qu ó t
c ca lun ỏn ng thi phõn tớch mt s mt cũn tn ti v xut mt s
hng phỏt trin ca lun vn.
Do thi gian v trỡnh cú hn nờn bn lun vn khụng trỏnh khi nhng
sai sút v cú nhiu vn phi hon thin thờm. Tụi rt mong nhn c s gúp
ý, ch dn ca cỏc thy cụ v cỏc bn ng nghip.
Xin trõn trng cm n s hng dn tn tỡnh ca PGS TSKH Trn Hoi
Linh, thy ó ginh cho em thi gian, kin thc v phng phỏp t duy quớ bỏu.

HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

6

Ngành: Đo lờng & Các hệ thống điều khiển

Chng I: C s Matlab
Matlab l mt ngụn ng lp trỡnh thc hnh bc cao c s dng gii
cỏc bi toỏn v k thut. Matlab tớch hp c vic tớnh toỏn, th hin kt qu,
cho phộp lp trỡnh, giao din lm vic rt d dng cho ngi s dng. D liu
cựng vi th vin c lp trỡnh sn cho phộp ngi s dng cú th cú c
nhng ng dng sau õy.

S dng cỏc hm cú sn trong th vin, cỏc phộp tớnh toỏn hc thụng
thng.
Cho phộp lp trỡnh to ra nhng ng dng mi.
Cho phộp mụ phng cỏc mụ hỡnh thc t.
Phõn tớch, kho sỏt v hin th d liu.
Vi phn mm ho cc mnh.
Cho phộp phỏt trin, giao tip vi mt s phn mm khỏc nh C++,
Fortran
1.1.Tng quan v cu trỳc d liu ca Matlab, cỏc ng dng
Matlab l mt h thng tng giao, cỏc phn t d liu l mt mng ( mng
ny khụng ũi hi v kớch thc). Chỳng cho phộp gii quyt cỏc vn liờn
quan n lp trỡnh bng mỏy tớnh, c bit l cỏc phộp tớnh v ma trn hay vộc
tor v cú s dng ngụn ng C hoc Fortran lp trỡnh ri thc hin ng dng lp
trỡnh ú bng cỏc cõu lnh gi t Matlab. Matlab c vit tt t ch matrix
laboratory tc l th vin v matrn, t ú phn mm Matlab c vit nhm
cung cp cho vic truy cp vo mm ma trn mt cỏch d dng, phn mm ma
trn ny c phỏt trin bi cỏc cụng trỡnh Linpack v Eispack. Ngy nay
Matlab c phỏt trin bi Lapack v Artpack to nờn mt ngh thut phn
mm cho ma trn.
1.1.1. D liu

D liu ca Matlab th hin di dng ma trn ( hoc mng - tng quỏt), v
cú cỏc kiu d liu c lit kờ sau õy.
Kiu n single, kiu ny cú li v b nh d liu vỡ nú ũi hi ớt byte
nh hn, kiu d liu ny khụng c s dng trong cỏc phộp tớnh
toỏn hc, chớnh xỏc kộm hn.
Kiu double, kiu ny l kiu thụng dng nht ca cỏc bin trong
Matlab
HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh



Luận văn thạc sỹ khoa học

7

Ngành: Đo lờng & Các hệ thống điều khiển

Kiu Sparse.
Kiu int8, uint8, int16.
Kiu char, vớ d Hello
Kiu cell
Kiu Structure
Trong Matlab kiu d liu double l kiu mc nh s dng trong cỏc phộp tớnh
s hc.
1.1.2.ng dng

Matlab ng dng rt rng rói trong nhiu lnh vc v nú s dng rt nhiu
cỏc phộp tớnh toỏn hc. Vi nhng c im ú v kh nng thõn thin vi
ngi s dng nờn nú d dng s dng hn cỏc ngụn ng lp trỡnh khỏc nh:
Basic, Pascal, C... Matlab cung cp mt mụi trng phong phỳ cho biu din d
liu v cú kh nng mnh m v ha, bn cú th to cỏc giao din riờng cho
ngi s dng (Graphical User Interface - GUIs) gii quyt nhng vn cho
riờng mỡnh. Thờm vo ú Matlab a ra nhng cụng c gii quyt nhng vn
c bit, gi l Toolbox (th vin cụng c). Vớ d Student Edition ca Matlab
bao gm c Toolbox iu khin t ng, Toolbox x lớ s liu, Toolbox tớnh
toỏn trờn bin hỡnh thc. Ngoi ra bn cng cú th to Toolbox cho riờng mỡnh
1.1.3.Toolbox l mt cụng c quan trng ca Matlab

Cụng c ny c Matlab cung cp cho phộp bn ng dng cỏc k thut
phõn tớch, thit k, mụ phng cỏc mụ hỡnh.

Ta cú th tỡm thy toolbox trong mụi trng lm vic ca:
9 Mng n ron
9 Logic m
9 Simulink
1.2. H thng Matlab
H thng giao din ca Matlab c chia thnh 5 phn:
ắ Mụi trng phỏt trin.

HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

8

Ngành: Đo lờng & Các hệ thống điều khiển

õy l ni t cỏc thanh cụng c, cỏc phng tin giỳp chỳng ta s dng
cỏc lnh v cỏc file, ta cú th lit kờ mt s nh sau:
+ Desktop
+ Command Window
+ Command History
+ Browsers for viewingghelp
ắ Th vin, cỏc hm toỏn hc
Bao gm cỏc cu trỳc nh tớnh tng, sin, cosin, actan2, etc, cỏc
phộp tớnh n gin n cỏc phộp tớnh phc tp nh tớnh ma trn
nghch o, tr riờng, chuyn i furie, laplace, symbolic library.
ắ Ngụn ng Matlab
ú l ngụn ng cao v ma trn v mng, vi cỏc dũng lnh, cỏc
hm, cu trỳc d liu vo, cú th lp trỡnh hng i tng.

ắ ho trong Matlab

HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

9

Ngành: Đo lờng & Các hệ thống điều khiển

Bao gm cỏc cõu lnh th hin ho trong mụi trng 2D v 3D,
to cỏc hỡnh nh chuyn ng, cung cp cỏc giao din tng tỏc
gia ngi s dng v mỏy tớnh.
ắ Giao tip vi cỏc ngụn ng khỏc.
Matlab cho phộp tng tỏc vi cỏc ngụn ng khỏc nh C, Fortran
1.3. Mt s lnh c bn trong Matlab
1.3.1. Cỏc phộp toỏn c bn

=
+

Gỏn giỏ tr cho bin

-

*

/


Cỏc phộp toỏn

^
;

Xut hin cui mi giỏ tr, ngm nh giỏ tr khụng cho
xut hin giỏ tr trờn mn hỡnh

,

Ngn cỏch gia cỏc phn t (tng ng du cỏch)

Eps

Cp chớnh xỏc tng i khi s dng giỏ tr du phy ng

I ,j

Toỏn t o

Inf

Vụ cựng

NaN

Not a Number

Pi


Hng s pi=3.14

1.3.2. Cỏc bin (khai bỏo v s dng)

Ch mc nh kt qu ca cỏc bin c gỏn cho ans. Nu s dng du
= ta cú th nh ngha mt bin v gỏn giỏ tr cho bin ú. Khi nhp tờn ca mt
bin m khụng gỏn giỏ tr, ta thu c giỏ tr hin ti ca bin. Tờn ca bin cú
th cha ti 32 ch cỏi, gch ngang thp cng nh ch s. Ch vit hoa v ch
vit nh u c phõn bit. Cỏc giỏ tr cú th c thc hin thnh mt chui
lnh trong cựng mt dũng, ch cỏch nhau bi du (;), nu dựng du (,) tỏch
cỏc lnh thỡ giỏ tr c xut ra mn hỡnh.
Vớ d:
>>giatri_1=8;

giatri_2=4;

>>giatri_1=8
giatri_1=
8
>> x=giatri_1 + giatri_2, X= giatri_1 * giatri_2
x=

HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

10

Ngành: Đo lờng & Các hệ thống điều khiển


12
X=
32

1.3.3. Cỏc hm c bit

Trong Matlab cú sn rt nhiu hm toỏn, cú th lit kờ cỏc hm thng
dựng trong bng sau:
Mt s hm toỏn hc thụng dng
Sqrt

Cn bc hai

Exp

Ly tha c s e

Sin

Hm sin

Cos

Hm cos

Tan

Hm tang


Abs

Ly giỏ tr tuyt i hoc ln ca s phc

Angle

Gúc pha ca s phc

Real

Ly phn thc ca s phc

Imag

Ly phn o ca s phc

sinh(x)

Hm tớnh hyperbolic sine ca x

cosh(x)

Hm tớnh hyperbolic cose ca x

deconv(a,b) Chia hai a thc a v b
Sum(v)

Tng cỏc phn t vector

Min(v)


Phn t vector nh nht

Max(v)

Phn t vector ln nht

Tt c cỏc hm trong bng u cú kh nng s dng tớnh toỏn vi vector.
1.3.4. Cỏc cu trỳc d liu c bn

a.Vector v ma trn
khai bỏo hoc x lý vector v ma trn thng l nhp trc tip, khi nhp
trc tip, cỏc phn t ca mt hng c cỏch nhau bi du phy hoc du cỏch
trng, cũn cỏc hng c cỏch bi du; hoc ngt dũng.
>> A=[1 3 4;3 1 2]
A=
1

3

4

HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

3

1


Ngành: Đo lờng & Các hệ thống điều khiển

11

2

>>B=[1 3 4;6

5 3]

B=
1

3

4

6

5

3

truy cp tng phn t ca vector hoc ma trn c thc hin bng cỏch
khai bỏo ch s ca phn t. c bit, khi cn xut mi phn t ca hng hay
ct, cú th s dng toỏn t (:).
>> B(2,3)
ans =
3

>> B(2,:)
ans =
6

5

3

>> B(:,3)
ans =
4

3
b. Tớnh toỏn vi vector v ma trn
Cú nhiu phộp toỏn cú th ỏp dng cho vector v ma trn:
thc hin phộp nhõn hai ma trn lm nh sau:
>> a=[2 1 4;2 4 1;5 1 1];
>> b=[1 2 1;3 2 2;1 1 3];
>> c=a*b
c =
9

10

16

15

13


13

9

13

10

>> d=a/b
d =
-0.5556

0.4444

1.2222

2.1111

0.1111

-0.4444

-1.5556

2.4444

-0.7778

HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh



Luận văn thạc sỹ khoa học

12

Ngành: Đo lờng & Các hệ thống điều khiển

Nu nh mt trong cỏc phộp tớnh *, /, ^ cn c thc hin cho tng phn
t ca vector hoc ma trn, ta s phi t thờm vo trc ký hiu ca phộp tớnh
ú ký hiu (.). Phộp tớnh i vi cỏc bin vụ hng luụn c thc hin cho
tng phn t mt:
>> a./b
ans =
2.0000

0.5000

4.0000

0.6667

2.0000

0.5000

5.0000

1.0000

0.3333


tớnh ma trn nghch o dựng lnh inv(ma tran)
>> inv(a)
ans =
-0.0476

-0.0476

0.2381

-0.0476

0.2857

-0.0952

0.2857

-0.0476

-0.0952

Lnh det(ma tran) dựng tớnh nh thc ca ma trn
>> det(a)
ans =
-63

1.3.5. Cỏc hm phc tp

a.Hm plot

Hm plot cho phộp v th trong mt phng ta x, y.
Vớ d: v th y = sin x.
Cho cỏc giỏ tr ca x t n , cỏc giỏ tr cỏch nhau 0,05
>> x=[-pi:0.05*pi:pi];
>> y=sin(x);
>> plot(x,y);

Mun v thờm th y1=cos (x) ta dựng lnh hold on. Lnh hold on cho
phộp gi li tt c nhng hỡnh v ó c v trc ú. Lnh plot k tip s v
thờm vo ú. Nu ta khụng s dng lnh hold on thỡ c th trong trng hp
ny, ta s mt th y= sin x. Khi ó hon thnh hỡnh v, ta s dng lnh hold
off b hỡnh c khi ta v tip hỡnh khỏc.
Mt vi hm toỏn hc khỏc c dựng h tr trong tớnh toỏn lý thuyt mch:
b.Hm poly
HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

13

Ngành: Đo lờng & Các hệ thống điều khiển

Hm poly cho phộp xỏc nh a thc t tp hp nghim ca chỳng.
Vớ d: Xỏc nh a thc cú nghim: -1;0;1;2.
>> poly([-1 0 1 2])
ans =
1

-2


-1

2

0

Kt qu l a thc cú dng: x 4 2 x 3 x 2 + 2 x
c.Hm polyder
Hm polyder cho phộp thc hin tớnh o hm ca a thc m cỏc h s
ca hm c th hin di dng ma trn.
Vớ d: Thc hin tớnh o hm ca hm f ( x ) = x 4 2 x 3 x 2 + 2 x vi ma trn
h s l: [1 2 1 2 0] .
>> polyder([1 -2 -1 2 0])
ans =
4 -6

-2

2

Kt qu l a thc cú dng: 4 x 3 6 x 2 2 x + 2
d. Mt vi hm toỏn hc khỏc
Syms x

Khai bỏo bin hỡnh thc x

diff(f(x))

Tớnh o hm ca hm f(x)


conv(a,b)

Nhõn hai a thc a v b

1.3.6. Cu trỳc lnh c bn

a.Cu trỳc if-else-end
Cỳ phỏp ca cu trỳc:
if biu thc iu kin
khi cỏc lnh
end
Khi cỏc lnh gia hai trng thỏi if v end c thc hin khi tt c biu
thc iu kin l ỳng.
Trong trng hp cú hai iu kin thay i, cu trỳc if- else- end l:
if

biu thc iu kin
khi cỏc lnh c thc hin nu iu kin l ỳng

else
HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

14

Ngành: Đo lờng & Các hệ thống điều khiển


khi cỏc lnh c thc hin nu iu kin l sai
end
Khi cú ba hoc nhiu iu kin thay i cu trỳc ca nú s l:
if biu thc iu kin 1
khi cỏc lnh c thc hin nu iu kin 1 l ỳng
elseif

biu thc iu kin 2
khi cỏc lnh c thc hin nu iu kin 2 l ỳng

elseif

biu thc iu kin 3
khi cỏc lnh c thc hin nu iu kin 3 l ỳng

else
khi cỏc lnh c thc hin nu khụng cú iu kin no
ỳng
end
Vớ d: Vit chng trỡnh gii phng trỡnh bc 2. Cỏc h s a,b,c nhp t bn
phớm.
function giaiptbac2
a=input('a=');
b=input('b=');
c=input('c=');
delta=b^2-4*a*c;
if delta>0
x1=(-b-sqrt(delta))/(2*a);
x2=(-b+sqrt(delta))/(2*a);
fprintf('phuong trinh co 2 nghiem phan biet: x1=%6.2f,

x2=%6.2f\n',x1,x2)
elseif delta==0
x=-b/(2*a);
fprintf('phuong trinh co nghiem kep: x1=x2=%6.2f\n',x)
else
disp('phuong trinh vo nghiem')
end

b.Cu trỳc vũng lp for v while

HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

15

Ngành: Đo lờng & Các hệ thống điều khiển

Bng cu trỳc vũng lp ta cú th thc hin lp li nhiu ln mt s lnh nht
nh:
Vũng lp for
Cỳ phỏp:
for

ch s=biu thc

Nhúm lnh
end
Vớ d: Chng trỡnh tớnh tng ca 10 s t nhiờn liờn tip t 1 n 10

>> tong=0;
>> for dem=1:10
tong=tong+dem;
end
>> tong
tong =
55

Vũng lp while
Cỳ phỏp:
While

biu thc

Nhúm lnh
end
Vớ d: Chng trỡnh tớnh tng ca 10 s t nhiờn liờn tip t 1 n 10
>> dem=0;
>> tong=0;
>> while dem<10
dem=dem+1;
tong=tong+dem;
end
>> tong
tong =
55

1.4. Lp trỡnh trờn m.file
Cỏc chng trỡnh, th tc bao gm cỏc dũng lnh theo mt th t no ú do
ngi s dng vit ra c lu tr trong cỏc files cú phn m rng l *.m.File

HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

16

Ngành: Đo lờng & Các hệ thống điều khiển

dng ny cũn c gi l script file. File c lu di dng ký t ASCII v cú
th s dng cỏc chng trỡnh son tho núi chung to nú.
Sau khi vit xong chng trỡnh ta cú th chy file ny ging nh cỏc lnh,
th tc ca Matlab. Tc l cú th gừ tờn file khụng cn cú phn m rng. Khi s
dng, ni dung ca M.file khụng c hin th trờn mn hỡnh.
thun li cho vic vit, sa i ni dung ca chng trỡnh v lu
chng trỡnh. Trờn Matlab cho phộp vit cỏc cu trỳc lnh iu khin trờn m.file
Ngoi vic vit cu trỳc cỏc cõu lnh thụng thng ra thỡ vic xut nhp d
liu cng rt quan trng trong quỏ trỡnh lp trỡnh.
Mt s qui tc vit hm trong m.file:
- Hm phi c bt u bng t function, sau ú ln lt l tham s u
ra, du bng, tờn hm. Tham s u vo c vit theo tham s u vo v c
bao trong ngoc n.
- Mt s dũng u tiờn nờn vit chỳ thớch cho hm.
- Cỏc thụng tin tr li ca hm c lu vo tham s (ma trn) u ra. Vỡ
vy luụn kim tra chc chn rng trong hm cú cha cõu lnh n nh giỏ tr ca
tham s u ra.
- Cỏc bin cựng tờn cú th c s dng bi c hm v chng trỡnh khi
cn n nú. Cỏc giỏ tr tớnh toỏn trong hm, tham s u ra khụng chu tỏc ng
ca chng trỡnh.
- Nu mt hm cho nhiu hn mt giỏ tr u ra phi vit tt c cỏc giỏ tr

tr li ca hm thnh mt vector trong dũng khai bỏo hm.
- Mt hm cú nhiu tham s u vo cn phi lit kờ chỳng khi khai bỏo
hm
Vớ d: Thc hin chng trỡnh tớnh tng tr tng ng ca on mch
gm n tng tr ghộp ni tip (n nhp t bn phớm).
function ttnt
n=input('so luong tong tro ghep noi tiep:');
ttnt=0;
for i=1:n
fprintf('tong tro %.0f:',i)
z=input('');
ttnt=ttnt+z;

HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

17

Ngành: Đo lờng & Các hệ thống điều khiển

end
if imag(ttnt)>0
fprintf('ket qua %6.2f + %6.2fi\n',real(ttnt),imag(ttnt))
elseif imag(ttnt)==0
fprintf('ket qua %6.2f\n',real(ttnt))
else
fprintf('ket qua %6.2f - %6.2fi\n',real(ttnt),-imag(ttnt))
end


Kt qu chy trờn Matlab nh sau:
>> ttnt
so luong tong tro ghep noi tiep:3
tong tro 1:2
tong tro 2:2+3i
tong tro 3:4-5i
ket qua 8.00 - 2.00i

1.5. Giao din ha ngi dựng (GUI_Graphical User Interfaces)
Giao din ha GUI l giao din cho ngi s dng xõy dng bng cỏc
i tng ha nh cỏc nỳt bm, ca s vn bn, thanh trt v thc n.
Cỏc ng dng h tr GUI núi chung rt d hc tp v s dng do ngi s
dng khụng cn bit cỏc i tng ny hat ng nh th no.

HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

18

Ngành: Đo lờng & Các hệ thống điều khiển

1.5.1 Cỏc thnh phn iu khin ca GUI (uicontrol objects)

To ra GUI vi MATLAB:
T menu File, chn New, Gui v vo mn hỡnh son tho Gui. t cỏc
i tng vo khung son tho bng cỏch chn loi i tng t danh sỏch v
click vo khung, drag v drop v ra i tng. t thuc tớnh cho i tng,

tựy loi, mi i tng cú cỏc thuc tớnh ging v khỏc nhau. Lp trỡnh cỏc i
tng theo thao tỏc ca ngi dựng. Mi i tng khi c kớch hat s gi
mt on mó tng ng trong chng trỡnh gi l trỡnh con Callback. Ghi file,
mt file cú phn m rng l .fig v mt l .m. Hai file ny phi c t trong
cựng mt th mc. Cú th ghi thnh ch mt file.m duy nht dựng lnh Export,
tuy nhiờn kiu ny dnh cho ngi dựng chuyờn nghip chỳng ta cha cn quan
tõm. Cú th chy th giao din trong mn hỡnh son tho gui bng cỏch n phớm
Run cú dng ging nh nỳt Play.
*Push Buttons
Push buttons to ra mt hnh ng khi nú c n, khi ta n mt push
button, nú sp xung; khi c nh ra, s kin c ỏp bng cỏch gi mt
chng trỡnh con trong on lnh callback tng ng vi s kin nỳt c n.
*Toggle Buttons
Toggle buttons to ra mt tỏc ng theo kiu cụng tc (on hoc off). Th
tc callback cho bit trng thỏi sau khi c n ca i tng ny.
Cú th c trng thỏi ny trong i tng ha hin hnh (gcbo) bng cõu
lnh get(gcbo,'Value').
lp trng thỏi cho mt i tng Hold off dng toggle ta dựng lnh:
set(handles.Holdoff,'Value',1);
HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

19

Ngành: Đo lờng & Các hệ thống điều khiển

MATLAB o giỏ tr thuc tớnh Value sau mi ln n.
*Check Boxes

Dựng xỏc nh xem mt mc vn bn ó c ỏnh du chn hay cha.
Thuc tớnh Value cho bit trng thỏi ca mc bng cỏch gỏn tr 1 hoc 0.
(Value = 1 khi mc c chn, Value = 0 khi khụng c chn). tham chiu
n giỏ tr ca i tng ta dựng lnh get tng t nh trờn.
*Radio Boxes
Tng t nh check boxes, nhng trong mt nhúm radio boxes mt mc
c chn s loi tr ln nhau v ch cú mt radio box c chn v c t
giỏ tr lờn 1.
thit lp loi tr, trong trỡnh con ca mi radio box phi set cỏc thuc
tớnh Value ca cỏc radio box khỏc trong nhúm v 0.
*Edit Text
i tng ny to ra mt phm vi ngi dựng thờm d liu dng vn
bn vo hoc sa i mt ni dung ang cú.
Ni dung ca i tng c ghi thuc tớnh String v cú loi l chui ký
t. Dựng Edit Text a vo mt d liu dng ký t, nu l s thỡ phi dựng
kốm hm chuyn dng ký t s:
SputterYield=str2num(get(handles.SputterYield_edit,'String'));

Dũng lnh trờn c ni dung khung SputterYield_edit chuyn thnh s
v gỏn vo bin SputterYield. Nu ký t s l thp phõn thỡ phi dựng hm
str2double().
*Sliders
Dựng nhp d liu dng s trong mt min giỏ tr xỏc nh bng cỏch
ngi dựng trt mt thanh con. V trớ ca thanh th hin giỏ tr cn nhp
vo.
Cn thit phi thit lp giỏ tr hin hnh, cỏc cn v kớch c bc cho
thanh (Current Value, Range, and Step size).
HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh



Luận văn thạc sỹ khoa học

20

Ngành: Đo lờng & Các hệ thống điều khiển

Cỏc thuc tớnh cn thit lp:
- Value giỏ tr hin hnh (tin lp) ca thanh.
- Max maximum slider value.
- Min minimum slider value.
- SliderStep bc trt trong thanh.
- Sliders Value Property
Cú th iu chnh thuc tớnh ny trong khung son tho GUI hoc trong
chng trỡnh bng lnh set. c giỏ tr ca Slider, trong Callback tng ng
cú th vit:
slider_value=get(handles.slider1,'Value');
Cỏc thuc tớnh Max v Min xỏc nh cỏc cn (Max Min)
* Sliders SliderStep Property
iu chnh phm vi m thuc tớnh Value thay i khi trt, click mouse
vo mi tờn hoc khong trng bờn trong thanh.
SliderStep l mt vector hai thnh phn cú th iu chnh trong chng
trỡnh
hoc lỳc thit k. Mc nh l [0.01 0.10], thay i 1% khi click vo mi tờn v
10% khi click vo khang trng.
* Static Text
Hin th cỏc dũng vn bn do ngi dựng hoc chng trỡnh to ra. D liu
hin th l ký t, nu cn hin th s phi dựng thờm hm chuyn i num2str.
Thng dựng lm tiờu cho cỏc mc trong Figure. Khụng thay i c ni
dung trc tip trong khi chng trỡnh ang hat ng v khụng cú chng trỡnh
con callback.

Dựng i tng ny hin th giỏ tr ca thanh trt Slider.
Khi thanh trt c iu chnh, giỏ tr ca nú s hin th trong khung Eidt
Text mang tờn Voltage_text, (on mó sau du % l gi ý cho vic c ngng
ca thanh trt).
* Frames
Hp cha cỏc min i tng ca mt figure window.
HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

21

Ngành: Đo lờng & Các hệ thống điều khiển

To thun li cho ngi s dng khi dựng ỏnh du nhúm cỏc i tng
cựng loi hoc cú liờn quan vi nhau cho d nhỡn. Khụng cú trỡnh con Callback.
Trc th (axes) khụng c t trong frame.
* List Boxes
Hin th mt danh sỏch chn xỏc nh bng thuc tớnh String v cho phộp
ngi dựng chn mt trong cỏc mc ca danh sỏch. Mc nh, mc u tiờn s
c highlight khi List Boxes xut hin. Nu khụng mun highlight mc no c,
t giỏ tr thuc tớnh Value bng rng.
Tr tr v ca i tng ny l s th t ca mc chn.
* Popup Menus
Hin th mt danh sỏch chn dng m xung khi ngi dựng click vo du
mi tờn, ni dung hin th cha trong thuc tớnh String.
Khi khụng m ra, popup menu hin th ni dung hin hnh ó chn trc
ú.Thuc tớnh Value cha kt qu chn l s th t ca mc chn. Cú th dựng
thay cho Radio Buttons.

Thớ d cõu lnh sau s gỏn giỏ tr tr v t SelectTarget_popupmenu vo
bin SelectTarget l mt giỏ tr nguyờn. X lý tip theo cú th dựng cu trỳc if
hoc switch. SelectTarget=get(handles.SelectTarget_popupmenu,'Value').
1.5.2. Lp trỡnh iu khin vi GUI

Sau khi to mt giao din cỏc thnh phn theo mong mun l mt cụng
vic ht sc quan trng. Tuy nhiờn giao din ú hot ng c thỡ cn phi
vit chng trỡnh iu khin bng cỏch nhn vo th M-file editor trờn thanh
cụng c v tỡm hm: function pushbutton1_Callback(hObject,
eventdata, handles) vit chng trỡnh iu khin.
Trc tiờn phi dựng lnh:
get(handles.tờn con tr , string); c d liu t ụ d liu trờn GUI.
Trong ú: <tờn con tr> chớnh l tờn t trong Tag ca Property Inspector
D liu c c ang kiu ký t mun dựng tớnh toỏn cn phi cú
thao tỏc chuyn i sang kiu s (str2num).
Vớ d: c d liu t ụ edit text cú Tag l a1 nh sau
HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

22

Ngành: Đo lờng & Các hệ thống điều khiển

a=get(handles.a,'string');
a=str2num(a);
b=get(handles.b,'string');
b=str2num(b);


Sau khi tớnh toỏn xong mun xut d liu (hoc kt qu ) ra edit text hoc
static text no ú cn phi dựng lnh:
set(handles.tờn con tr, string,c).

Tuy nhiờn d liu <c> cn cú kiu ký t, mun vy phi dựng lnh
num2str chuyn i
Vớ d:
c=a+b;
c=num2str(c);
set(handles.tờn con tr, string,c);

Vit chng trỡnh iu khin xong ch vic nhn F5 thc hin chy th
v chnh sa.

HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

Ngành: Đo lờng & Các hệ thống điều khiển

23

Chng II. ng dng Matlab trong gii mt s dng bi toỏn lý
thuyt mch in
Ni dung trong chng ny ch yu túm tt mt s ni dung c bn ca
mụn hc lý thuyt mch: c s toỏn hc, cỏc hm thc hin trong Matlab. T c
s ú xut xõy dng giao din thc hin trong Matlab sao cho thun tin
nht cho ngi s dng; ng thi nghiờn cu lp trỡnh tớnh toỏn gii cỏc bi
toỏn lý thuyt mch mt cỏch tng quỏt cho cỏc ni dung ó c cp phn

lý thuyt ca chng.
2.1. Biu din s phc v nh phc ca tớn hiu xoay chiu iu hũa
2.1.1. Hm chuyn i gia hai dng c bn mụ t tớn hiu hỡnh sin, nh phc.

a.C s lý thuyt
Khỏi nim tớn hiu hỡnh sin v nh phc ca tớn hiu sin
U
U
u (t ) = U o sin(t + ) U&= 0 e j = 0
2
2

u(t)
Im

t



Re

Khi ó xỏc nh c nh phc ca mt tớn hiu hỡnh sin, ta cú th biu
din s phc ú mt trong hai dng chun l dng -le (hay cũn gi l dng
ta cc) hoc dng i s (hay cũn gi l dng ta -cỏc).
Dng i s ca mt s phc c biu din:

x = a + jb
trong ú: a thnh phn thc, b- thnh phn o ca s phc x.
Dng -le ca mt s phc c biu din
x = A


trong ú: A biờn ca s phc, - pha ca s phc.
Cụng thc chuyn i gia hai dng:
HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


Luận văn thạc sỹ khoa học

Ngành: Đo lờng & Các hệ thống điều khiển

24

Cụng thc chuyn i

x = A a + jb
a = A cos
b = A sin

Cụng thc chuyn i

x = a + jb A
A = a 2 + b2

b

arctan a
=
+ arctan b

a


khi a > 0
khi a < 0

b. Hm trong Matlab
+ Chuyn i t dng le sang dng i s:
function [a,b]= O2D(A,phi)
% Hm chuyn i t dng -le sang dng i s
% Cỏc bin u vo:
%

A biờn ca s phc

%

phi pha ca s phc ( o theo )

% Cỏc kt qu u ra:
%

a thnh phn thc

%

b thnh phn o

a=A*cos(phi*pi/180);
b=A*sin(phi*pi/180);

+ Chuyn i t dng i s sang le:

function [a,b]= D2O(a,b)
% Hm chuyn i t dng i s sang dng -le
% Cỏc bin u vo:
%

a thnh phn thc

%

b thnh phn o

% Cỏc kt qu u ra:
%

A biờn ca s phc

%

phi pha ca s phc

A1= a+jb;
A=abs(A1);

HV: Phan Văn Phùng Ngời hớng dẫn khoa học: PGS.TSKH. Trần Hoài Linh


×