You are on page 1of 155

CHNG1:MATLABCBN

1.KHINGMATLAB
1.KhingMATLAB:MATLAB(Matrixlaboratory)lphnmmdng
gii mt lot cc bi ton k thut, c bit l cc bi ton lin quan n ma
trn. MATLAB cung cp cc toolboxes, tc cc hm m rng mi trng
MATLABgiiquytccvncbitnhxltnhius,hthngiu
khin,mngneuron,fuzzylogic,mphngv.v.

khingMATLABtanhnpvoiconcantrnmnhnh.

2.nhlnhtrongcaslnh:Khitanhlnhvocaslnh,nsc
thihnhngayvktquhinlnmnhnh.Nutakhngmunchoktqu
hinlnmnhnhthsaulnhtatthmdu;.Nulnhqudi,khng
va mt dng dng c th nh lnh trn nhiu dng v cui mi dng t
thmdu...rixungdng.Khisontholnhtacthdngccphmtt:

CtrlP gililnhtrc

CtrlN gilnhsau
CtrlB lilimtkt
CtrlF tinlnmtkt
Ctrl CtrlR sangphimtt
Ctrl CrtlL sangphimtt
home CtrlA vudng
end CtrlE vcuidng
esc CtrlU xodng
del CtrlD xokttichconnhyng

backspace CtrlH xokttrcchconnhyng

3.Setpath:KhichyccchngtrnhMATLABccthmckhcthmc
hinhinhnhtaphiithmcbnglnhFile|SetPath...

4. Help v Demo: Phn nay gip chng ta hiu bit cc hm, cc lnh ca
MATLABvchythccchngtrnhdemo

2.CCMATRN
1. Cc ton t: MATLAB khng i hi phi khai bo bin trc khi dng.
MATLABphnbitchhoavchthng.
1

Ccphpton:
+,,*,/,\(chiatri),^(m),(chuynvhaysphclinhip).

x=2+3

a=5

b=2

a/b

a\b
Cctontquanh:

<,<=,>,>=,==,~=
Cctontlogic:
&,|(or),~(not)
Cchng:

pi 3.14159265

i so

j tngti

eps sais252

realmin sthcnhnht21022

realmax sthclnnht21023

inf vcngln

NaN
Notanumber

2.Ccmatrn:

a. Nhp ma trn: Ma trn l mt mng cc s liu c m hng v n ct.


Trnghpmatrnchcmtphnt(matrn11)tacmts.Matrnch
cmtctcgilmtvect.TacthnhpmatrnvoMATLABbng
nhiucch:
nhpmtdanhschccphnttbnphm
npmatrntfilesliu
tomatrnnhcchmcsntrongMATLAB
tomatrnnhhmtto
Khinhpmatrntbnphmtaphituntheoccquynhsau:

ngncchccphntcamatrnbngdu,haydutrng

dngdu;ktthcmthng

baoccphntcamatrnbngcpdungocvung[]
Vd:Tanhpmtmatrn
A=[163213;510118;96712;415141]
Bygitanhlnh:
2

sum(A)
ans=
34343434
nghalnlytngccctvMATLABcvitlvicviccct.Khi
takhngchbinchaktquthMATLABdngbinmcnhlans,vit
ttcaanswer.

Mun ly tng ca cc hng ta cn chuyn v ma trn bng cch nh


volnh:

A
ans=

16594

310615

211714

138121
vylchuynvcamatrnA.

Matrna=[]lmatrnrng

b.Chs:PhnthngictjcamatrnckhiulA(i,j).Tuynhin
ta cng c th tham chiu ti phn t ca mng nh mt ch s, v d A(k).
Cchnythngdngthamchiuvecthnghayct.Trongtrnghp
matrnythncxemlmatrnmtctditotccctcama
trnbanu.NhvyvitA(8)cnghalthamchiuphntA(4,2).

c.Tont::Tont:lmttontquantrngcaMATLAB.N
xuthinnhiudngkhcnhau.Biuthc

1:10
lmtvecthngcha10snguynt1n10
ans=

12345678910

100:7:50
tomtdyst100n51,gim7miln
ans=
10093867972655851

0:pi/4:pi
tomtdyst0npi,cchunhaupi/4
ans=

00.78541.57082.35623.1416
Ccbiuthcchsthamchiutimtphncamatrn.VitA(1:k,j)l
3

thamchiunkphntutincactj.
Ngoiratont:thamchiutittcccphntcamthnghaymt
ct.

A(:,3)

ans=
2
11
7
14
v
A(3,:)

ans=
96712
Vit B=A(:,[1324])
ta to c ma trn B t ma trn A bng cch i th t cc ct t [1234]
thnh[1324]
B=
162313
511108
97612
414151

d.Tomatrnbnghmcsn:MATLABcungcpmtshmto
ccmatrncbn:

zeros toramatrnmccphntulzeros
z=zeros(2,4)
z=
0000

0000

ones toramatrnmccphntul1
x=ones(2,3)
x=

111

111

y=5*ones(2,2)
y=
4

55
55

rand toramatrnmccphntngunhinphnbu
d=rand(4,4)
d=

0.95010.89130.82140.9218
0.23110.76210.44470.7382
0.60680.45650.61540.1763
0.48600.01850.79190.4057
randn toramatrnmccphntngunhinphnbtrcgiao
e=randn(3,3)
e=

0.43260.28771.1892

1.66561.14650.0376
0.12531.19090.3273
magic(n)toramatrncpngmccsnguynt1nn2vitngcc
hngbngtngccct.nphilnhnhaybng3.
pascal(n)toramatrnxcnhdngmccphntlyttamgic
Pascal.
pascal(4)
ans=
1111

1234

13610

141020

eye(n)tomatrnnv
eye(3)
ans=

100

010

001

eye(m,n)tomatrnnvmrng
eye(3,4)

ans=
5


1000

0100

0010

e.Lnhload:Lnhloaddngcmtfiledliu.Vvytacthto
mtfilechamatrnvnpvo.Vdcfilemtran.datchamtmatrnth
tanpmatrnnynhsau:

loadmtran.dat
Khidngmttrnhsonthovnbntomatrncnch:
- filechamatrnlmtbnghnhchnht
- mihngvittrnmtdng
- sphntcchngphibngnhau
- ccphntphicchnhaubngdutrng

f. Mfile: Mfile l mt file text cha cc m ca MATLAB. to mt


ma trn ta vit mt mfile v cho MATLAB c file ny. V d ta to file
ct1_1.mnhsau

A=[
1 23
2 34
3 45]
vnpvoMATLABbngcchnhlnh:

ct1_1

g.Lpghp:Tacthlpghp(concatenation)ccmatrncsnthnh
mtmatrnmi.Vd:

a=ones(3,3)
a=
111

111

111
b=5*ones(3,3)
b=
555

555

555
c=[a+2;b]
c=
333

333
6


333

555

555

555

h.Xohngvct:Tacthxohngvcttmatrnbngdngdu
[].
Vd:
b=
555

555

555
xoctth2tavit:

b(:,2)=[]
b=
55

55

55
Vitx(1:2:5)=[]nghaltaxoccphntbtutnphntth5v
cch2rispxplimatrn.

3.Cclnhxlmatrn:

Cng :X=A+B

Tr :X=AB

Nhn :X=A*B

:X.*Anhnccphnttngngvinhau

Chia :X=A/BlcX*B=A

:X=A\BlcA*X=B

:X=A./Bchiaccphnttngngvinhau

Lutha :X=A^2

:X=A.^2

Nghcho :X=inv(A)

nhthc :d=det(A)

3.LPTRNHTRONGMATLAB
1.Ccphtbiuiukinif,else,elseif:
Cphpcaif:

if<biuthciukin>
7

<phtbiu>

end
Nu <biu thc iu kin> cho kt qu ng th phn lnh trong thn ca if
cthchin.

Ccphtbiuelsevleseifcngtngt.
Vd:Taxtchngtrnhct1_2.montuinhsau:

disp(Xinchao!Hanhanhduoclamquen);

x=fix(30*rand);

disp(Tuoitoitrongkhoang030);

gu=input(Xinnhaptuoicuaban:);
ifgu<x

disp(Bantrehontoi);
elseifgu>x

disp(Banlonhontoi);
else

disp(Banbangtuoitoi);
end

2.switch:Cphpcaswitchnhsau:

switch<biuthc>

casen1:<lnh1>

casen2:<lnh2>

...............

casenn:<lnhn>

otherwise:<lnhn+1>

end

3.While:vnglpwhiledngkhikhngbittrcslnlp.Cphpcan
nhsau:

while<biuthc>

<phtbiu>

end
Vd:XtchngtrnhinrachuoiXinchaolnmhnhvislnnhpt
bnphm(ct1_3.m)nhsau:
disp(xinchao);
gu=input(Nhapsolanin:);
i=0;
8

whilei~=gu
disp([Xinchaoi]);
i=i+1
end

4.For:vnglpfordngkhibittrcslnlp.Cphpnhsau:

for<chs>=<gitru>:<mctng>:<gitrcui>
Vd:Xydngchngtrnhons(ct1_4.m)
x=fix(100*rand);
n=7;
t=1;
fork=1:7
num=int2str(n);
disp([Bancoquyendudoan,num,lan]);
disp(Socandoannamtrongkhoang0100);
gu=input(Nhapsomabandoan:);
ifgu<x
disp(Bandoannhohon);
elseifgu>x
disp(Sobandoanlonhon);
else
disp(Bandadoandung.Xinchucmung);
t=0;
break;
end
n=n1;
end
ift>0
disp(Bankhongdoanraroi);
numx=int2str(x);
disp([Dolaso:,numx]);
end

5.Break:phtbiubreakktthcvnglpforhaywhilemkhngquan
tmniukinktthcvnglpthomnhaycha.

4.CCFILEVHM
1.Scriptfile:KchbnlMfilenginnht,khngcis.Nrtcch
khithihnhmtlotlnhMATLABtheomttrnhtnhtnh.Taxtvd
hmfibnotoraccsFibonnaci.

f=[11];

i=1;

while(f(i)+f(i+1))<1000

f(i+2)=f(i)+f(i+1);

i=i+1;

end

plot(f)

Taluonmlnhnyvomtfiletnlct1_5.m.ychnhlmt
scriptfile.thchinccmchatrongfilect1_5.mtcaslnhtanhp
ct1_5vnhnenter.

2.Filehm:HmlMfilecchaccis.Tacmtvdvhm:

functiony=tb(x)

%Tinhtritrungbinhcuacacphantu

[m,n]=size(x);

ifm==1

m=n;

end

y=sum(x)/m;
TvdtrntathymthmMfilegmccphncbnsau:

Mt dng nh ngha hm gm: function y = tb(x) gm t kho


function,istrvy,tnhmtbvisvox.
Mtdngh1ldngtrgiputin.Vyldngvnbnnnn
phitsau%.Nxuthintanhplnhlookfor<tnhm>

Phnvnbntrgipgipngidnghiutcdngcahm.

ThnhmchamMATLAB

Ccligiithchdngchochngtrnhsngr.Nctsau
du%.
Cnchltnhmphibtubngktvcngtnvifilechahm.
TcasMATLABtanhlnh:

z=1:99;

tb(z)
Ghich:tnhmltbthtnfilecngltb.m
10

CcbinkhaibotrongmthmcaMATLABlbinaphng.Cc
hm khc khng nhn thy v s dng c bin ny. Mun cc hm khc
dngcbinnocahmtacnkhaibonlglobal.Vdtacngii
hphngtrnh:
y& 1 = y1 y1 y 2

y& 2 = y 2 + y1 y 2

TatoraMfiletnlct1_6.m

functionyp=lotka(t,y)

globalalphabeta

yp=[y(1)alpha*y(1)*y(2);y(2)+beta*y(1)*y(2)];
vsautdnglnhtanhpcclnhsau:

globalalphabeta

alpha=0.01;

beta=0.02;

[t,y]=ode23(ct1_6,[010],[11]);

plot(t,y)
tindngtacthluonlnhtrnvoMfilect1_7.m.

Mtbincthnhnghalpersistentgitrcankhngthayi
tlnginysanglngikhc.Ccbinpersistentchcthkhaibotrong
hm.Chngtntitrongbnhchonkhihmbxohaythayi.

3.iukhinvovra:Cclnhsaudngsliuavovra

disp(a)

hinthnidungcamngahayvnbn
a=[123];

disp(a)

t=Xinchao;

disp(t)

format

iukhinkhundngs

Lnh
Ktqu
Vd
format
Default.Sameasshort.
formatshort 5digitscaledfixedpoint
3.1416
formatlong
15digitscaledfixedpoint
3.14159265358979
formatshorte 5digitfloatingpoint
3.1416e+00
formatlonge 15digitfloatingpoint
3.141592653589793e+00
formatshortg Bestof5digitfixedorfloating
3.1416
11

formatlongg Bestof15digitfixedorfloating
formathex
Hexadecimal
formatbank Fixeddollarsandcents
formatrat
Ratioofsmallintegers
format+
+,,blank
format
Suppressesexcesslinefeeds
compact
formatloose Addslinefeeds

input
nhpdliu

x=input(Chotricuabienx:)

Chotricuabienx:4

x=

4.Cchmtonhccbn:

exp(x) hm e x

sqrt(x) cnbchaicax

log(x) logarittnhin

log10(x) logaritcs10

abs(x) moduncasphcx

angle(x) argumentcasphca

conj(x) sphclinhpcax

imag(x) phnocax

real(x) phnthccax

sign(x) ducax

cos(x)

sin(x)

tan(x)

acos(x)

asin(x)

atan(x)

cosh(x)

coth(x)

sinh(x)

tanh(x)

3.14159265358979
400921fb54442d18
3.14
355/113
+

12


acosh(x)

acoth(x)

asinh(x)

atanh(x)

5.Ccphptontrnhmtonhc:
a. Biu din hm ton hc: MATLAB biu din cc hm ton hc bng

cchdngccbiuthcttrongMfile.Vdkhosthm:
1
1

+
6
f ( x) =
2
( x 0.3) + 0.01 ( x 0.9)2 + 0.04

tatoramtfile,ttnlhumps.mcnidung:

functiony=humps(x)

y=1./((x0.3).^2+0.01)+1./((x0.9).^2+0.04)6;
Cchthhaibiudinmthmtonhctrndnglnhltoramti
tng inline t mt biu thc chui. V d ta c th nhptdnglnhhm
nhsau:

f=inline(1./((x0.3).^2+0.01)+1./((x0.9).^2+0.04)6);
tacthtnhtrcahmtix=2nhsau:f(2)vcktqul4.8552

b.Vthcahm:Hmfplotvthhmtonhcgiaccgitr
cho.
Vd:

fplot(humps,[55])

gridon

c.Tmcctiucahm:Chomthmtonhcmtbin,tacthdng
hmfminbndcaMATLABtmcctiuaphngcahmtrongkhong
cho.
Vd:
f=inline(1./((x0.3).^2+0.01)+1./((x0.9).^2+0.04)6);

x=fminbnd(f,0.3,1)

x=

0.6370
Hm fminsearch tng t hm fminbnd dng tm cc tiu a
phngcahmnhiubin.
Vd:Tachmthree_var.m:

functionb=three_var(v)

x=v(1);
y=v(2);
13

z=v(3);
b=x.^2+2.5*sin(y)z^2*x^2*y^2;
vbygitmcctiuivihmnybtutx=0.6,y=1.2vz=0.135
v=[0.61.20.135];
a=fminsearch(three_var,v)
a=

0.00001.57080.1803

d.Tmimzero:Hmfzerodngtmimzerocahmmtbin.
Vdtmgitrkhngcahmlncngitr0.2tavit:
f=inline(1./((x0.3).^2+0.01)+1./((x0.9).^2+0.04)6);

a=fzero(f,0.2)

Zerofoundintheinterval:[0.10949,0.264].
a=
0.1316

5.HO
1.Cclnhv:MATLABcungcpmtlothmvbiudinccvects
liucngnhgiithchvinccngcongny.

plot ha2Dvisliu2trcvhngvtuyntnh

plot3
ha3Dvisliu2trcvhngvtuyntnh

loglog
hovicctrclogarit

semilogx hovitrcxlogaritvtrcytuyntnh

semilogy hovitrcylogaritvtrcxtuyntnh

plotyy
hovitrcycnhnbntrivbnphi

2.Tohnhv:Hmplotcccdngkhcnhauphthucvoccisa
vo.Vdnuylmtvectthplot(y)toramtngthngquanhgia
ccgitrcayvchscan.Nutac2vectxvythplot(x,y)tora
thquanhgiaxvy.
Vd:
t=[0:pi/100:2*pi]

y=sin(t);

plot(t,y)
gridon

3.ctkiungv:Tacthdngcckiungvkhcnhaukhiv
hnh.Munthtachuynkiungvchohmplot.
14


t=[0:pi/100:2*pi];

y=sin(t);

plot(t,y,.)%vbngngchmchm
gridon
(lutrongfilect1_8.m)

4.ctmuvkchthcngv:ctmuvkchthcngv
tadngccthamssau:

LineWidth rngngthng,tnhbngsim

MarkerEdgeColor

mucacccnhcakhinhdu

MarkerFaceColor

mucakhinhdu

MarkerSize

kchthccakhinhdu
Mucxcnhbngccthams:
M
Mu
M
Mu
r
red
m
magenta
g green
y
yellow
b blue
k
black
c
cyan
w
white

Ccdngngthngxcnhbng:
M Kiung

nglin

ngtnt
:
ngchmchm
.
ngchmgch

Ccdngimnhduxcnhbng:
M
Kiunhdu
M
Kiunhdu
+ ducng
. im
o vngtrn
x chthp
* dusao
s hnhvung
d htkimcng
v imtamgichngxung
^ imtamgichngln
< tamgicsangtri
> tamgicsangphi
h lcgic
p nggic

15

Vd(lutrongct1_9.m):

x=pi:pi/10:pi;

y=tan(sin(x))sin(tan(x));
plot(x,y,rs,LineWidth,2,MarkerEdgeColor,k,...
MarkerFaceColor,g,MarkerSize,10)

svngcongy=f(x)cccctsau:

ngvlngtnt()

khinhduhnhvung(s),ngvmu(r)

ngvrng2point

cccnhcakhinhmuen

khinhdumugreen

kchthckhinhdu10point

5.Thmngvvothc:lmiunytadnglnhhold.Khita
nhlnhholdonthMATLABkhngxothangc.Nthmsliuvo
thminy.Nuphmvigitrcathmivtquccgitrcatrc
tocthnsnhlitlxch.

6.Chvccimsliu:vccimnhdumkhngnichngli
vinhautadngctnirngkhngcccngnigiaccimtagi
hmplotchvictmuvimnhdu.
Vd:

x=pi:pi/10:pi;

y=tan(sin(x))sin(tan(x));

plot(x,y,s,MarkerEdgeColor,k)
(lutrongct1_10.m)

7. V cc im v ng: v c cc im nh du v ng ni gia
chngtacnmtkiungvkiuim.
Vd(lutrongct1_11.m):
x=0:pi/15:4*pi;

y=exp(2*sin(x));

plot(x,y,r,x,y,ok)
vngcongy=f(x).ngnilin,mu.imnhduchocmu
en.

8.Vvihaitrcy:Lnhplotyychophptomtthchaitrcy.Tacng
16

cthdngplotyychogitrtrnhaitrcyckiukhcnhaunhmtinso
snh.
Vd:
t=0:900;

A=1000;

b=0.005;

a=0.005;

z2=sin(b*t);

z1=A*exp(a*t);

[haxes,hline1,hline2]=plotyy(t,z1,t,z2,semilogy,plot);
(lutrongct1_12.m)

9.Vngcongvisliu3D:Nux,y,zl3vectccngdithplot3
svngcong3D.
Vd:
t=0:pi/50:10*pi;

plot3(sin(t),cos(t),t)

axissquare;

gridon
(lutrongct1_13.m)

10.tccthngschotrc:Khitatomthnhv,MATLABtngchn
ccgiihntrntrctovkhongcchnhdudatrnsliudng
v.Tuynhintacthmtliphmvigitrtrntrcvkhongcch
nhdutheoring.Tacthdngcclnhsau:

axis
tliccgitrtrntrcto

axes
tomttrctomiviccctnhcmt

getvset chophpxcnhvtccthuctnhcatrctoang
c

gca trvtrctoc

a.Giihncatrcvchiavchtrntrc:MATLABchnccgiihn
trntrctovkhongcchnhdudatrnsliudngv.Dng
lnhaxiscthtligiihnny.Cphpcalnh:

axis[xmin,xmax,ymin,ymax]
Vd:
x=0:0.025:pi/2;

plot(x,tan(x),ro)
17


axis([0pi/205])
(lutrongct1_14.m)
MATLABchiavchtrntrcdatrnphmvidliuvchiau.Tacth
mtcchchianhthngsxtickvytickbngmtvecttngdn.
Vd:

x=pi:.1:pi;

y=sin(x);

plot(x,y)

set(gca,xtick,pi:pi/2:p);

set(gca,xticklabel,{pi,pi/2,0,pi/2,pi})
(lutrongct1_15.m)

8.Ghinhnlncctrcto:MATLABcungcpcclnhghinhnln
hogm:

title
thmnhnvoho

xlabel
thmnhnvotrcx

ylabel thmnhnvotrcy

zlabel
thmnhnvotrcz

legend
thmchgiivoth

text
hinthchuivnbnvtrnhtnh

gtext
tvnbnlnhonhchut

\bf
boldfont

\it
italicsfont

\sl
obliquefont(chnghing)

\rm
normalfont
CcktcbitxemtrongStringproperties.
Tadngcclnhxlabel,ylabel,zlabelthmnhnvocctrcto.
Vd:

x=pi:.1:pi;

y=sin(x);

plot(x,y)

xlabel(t=0to2\pi,Fontsize,16)

ylabel(sin(t),Fontsize,16)

title(\it{Giatricuasintuzeron2pi},Fontsize,16)
(lutrongct1_16.m)

9.Thmvnbnvoho:Tacththmvnbnvobtkchnotrn
18

hnhvnhhmtext.
Vd:

text(3*pi/4,sin(3*pi/4),\leftarrowsin(t)=0.707,FontSize,12)

10.nhvvnbntrnhnhv:Tacthsdngitngvnbnghi
chcctrcvtrbtk.MATLABnhvvnbntheonvdliutrn
trc.Vdvhmy=AetviA=0.25,t=0n900v=0.005tavit:
Vd(lutrongct1_17.m):
t=0:900;

plot(t,0.25*exp(0.005*t))
thmghichtiimt=300tavit:
text(300,.25*exp(.005*300),...
\bullet\leftarrow\fontname{times}0.25{\ite}^(0.005{\itt}}at,...
{\itt}=300,FontSize,14)
Tham s HorizontalAlignment v VerticalAlignment nh v vn bn so vi
cctox,y,zcho.

11.hocbit:

a.Khivvng:hokhivvngbiudinsliulvecthayma
trn.MATLABcungcpcchmhokhivvng:

bar
hinthccctcamatrnm*nnhlmnhm,minhm
cnbar

barh
hinthccctcamatrnm*nnhlmnhm,minhm
cnbarnmngang

bar3
hinthccctcamatrnm*nnhlmnhm,minhm
cnbardng3D

bar3h
hinthccctcamatrnm*nnhlmnhm,minhm
cnbardng3Dnmngang
Mcnh,miphntcamatrncbiudinbngmtbar.
Vd:

y=[521

673

863

555
158];

bar(y)
(lutrongct_18.m).Saunhplnhbar3(y)tacth3D.
19


b.Mtdliutrntrc:Tadngcchm xlabelv ylabelmtcc
dliutrntrc.
Vd:
nhdo=[2923272520232327];
ngay=0:5:35;
bar(ngay,nhdo)

xlabel(ngay)

ylabel(Nhietdo(^{o}C))
(lutrongct1_19.m)
Mc nh,phm vi gi tr ca trc y l t 0 n 30. xem nhit trong
khongt15n30tathayiphmvigitrcatrcy

set(gca,YLim,[1530],Layer,top)
vtrnth,phmvigitrcatrcythayi.

c.Xpchngth:Tacthxpchngsliutrnththanhbng
cchtoramttrckhctrncngmtvtrvnhvytacmttrcyc
lpvibsliukhc.
V d: Kho st nhp sinh hc lin quan n mt trichloetylene(TCE)
chosliu:

TCE=[5154203702501351206020];

nhdo=[2923272520232327];

ngay=0:5:35;

bar(ngay,nhdo)

xlabel(Ngay)

ylabel(Nhietdo(^{o}C))

xp chng mt s liu ln mt th thanh trn, c trc th 2


cngvtrnhtrcthnhttavit:

h1=gca;
vtotrcth2vtrtrcthnhttrcnhtvbsliuth2

h2=axes(Position,get(h1,Position));

plot(days,TCE,LineWidth,3)
trcth2khnggytrngichotrcthnhttavit:

set(h2,YAxisLocation,right,Color,none,XTickLabel,[])
set(h2,XLim,get(h1,XLim),Layer,top)
ghichlnthtavit:

text(11,380,Matdo,Rotation,55,FontSize,16)

ylabel(TCEMatdo(PPM))

title(Xepchongdothi,FontSize,16)
20

(lutrongct1_20.m)

d.hovng:Hm areahinthngcongtotmtvecthayt
mt ct ca ma trn. N v cc gi tr ca mt ct ca ma trn thnh mt
ngcongringvtyvngkhnggiangiaccngcongvtrcx.
Vd(lutrongct1_21.m):
Y=[512

837

968

555

423];

area(Y)
hin th th c 3 vng, mi vng mt ct. cao ca mi th vng l
tngccphnttrongmthng.Mingcongsausdngngcong
trclmcs.hinthngchialitadnglnh:

set(gca,Layer,top)

set(gca,XTick,1:5)

gridon

f.thpie:thpiehinththeotlphntrmcamtphntca
mtvecthaymtmatrnsovitngccphnt. piev pie3torath
2Dv3D.
Vd(lutrongct1_22.m):

X=[19.3 22.1 51.6;

34.2 70.3 82.4;

61.4 82.9 90.8;

50.5 54.9 59.1;

29.4 36.3 47.0];

x=sum(X);

explode=zeros(size(x));

[c,offset]=max(x);

explode(offset)=1;

h=pie(x,explode)
Khi tng cc phn t trong i s th nht bng hay ln hn 1, pie v pie3
chunhoccgitr.Nhvychovectx,miphncdintch xi / sum( xi )
vixilmtphntcax.Gitrcchunhomtphnnguynca
mivng.Khitngccphnttrongisthnhtnhhn1,pievpie3
khngchunhoccphntcavectx.Chngvmtphnpie.
Vd:

21

x=[.19.22.41];
pie(x)
g.Lmhnhchuynng:Tacthtorahnhchuynngbng2cch
tovlunhiuhnhkhcnhauvlnlthinthchng
vvxolintcmtitngtrnmnhnh,milnvlicsthay

i.
Vicchthnhttathchinhnhchuynngqua3bc:

dnghm movieindnhbnhchomtmatrnlnnhmlu
cckhunghnh.

dnghmgetframestocckhunghnh.

dnghmmoviehinthcckhunghnh.
Sau y l v d s dng movie quan st hm fft(eye(n)).Ta to hm
ct1_23.mnhsau:

axisequal

M=moviein(16,gcf);

set(gca,NextPlot,replacechildren)

h=uicontrol(style,slider,position,[1001050020],Min,1,Max,16)

forj=1:16

plot(fft(eye(j+16)))

set(h,Value,j)

M(:,j)=getframe(gcf);

end

clf;

axes(Position,[0011]);

movie(M,30)
Bc u tin to hnh nh chuyn ng l khi gn ma trn. Tuy nhin
trckhigihmmoviein,tacntoracctrctoccngkchthcvi
kchthcmtamunhinthhnh.Dotrongvdnytahinthccsliu
cchutrnvngtrnnvnntadnglnhaxisequalxcnhtlcc
trc.Hmmovieintoramatrnlncha16khunghnh.Phtbiu:

set(gca,NextPlot,replacechildren)
ngn hm plot a t l cc trc v axis normal mi khi n c gi. Hm
getframekhngistrliccimnhcatrchinhnhhnhhinc.
Mikhunghnhgmccsliutrongmtvectct.Hm getframe(gcf)chp
tonbphntrongcamtcashinhnh.Saukhitorahnhnhtacth
chychngmtslnnhtnhvd30lnnhhmmovie(M,30).
22

Mtphngphpnatohnhchuynnglvvxo,nghalvmt
itnghorithayivtrcanbngcchthayitox,yvz
mtlngnhnhmtvnglp.Tacthtoracchiungkhcnhaunh
cccchxohnhkhcnhau.Chnggm:

none

MATLABkhngxoitngkhindichuyn

background
MATLABxoitngbngcchvncmu
nn

xor

MATLABchxoitng
Vd:TatoraMfilectnlct1_24.mnhsau:

A=[8/300;01010;0281];

y=[35107];

h=0.01;

p=plot3(y(1),y(2),y(3),.,...

EraseMode,none,MarkerSize,5);%datEraseModevenone

axis([05025252525])

holdon

fori=1:4000

A(1,3)=y(2);

A(3,1)=y(2);

ydot=A*y;

y=y+h*ydot;

set(p,XData,y(1),YData,y(2),ZData,y(3))%thaydoitoado

drawnow

i=i+1;

end

12.ho3D:

a.Cclnhcbn:Lnhmeshvsurftoramt3Dtmatrnsliu.Gi
matrnsliulzmmiphntcanz(i,j)xcnhtungcamtth
mesh(z)toramtlicmuthhinmtzcnsurf(z)toramtmtcmu
z.

b.thcchmhaibin:Bcthnhtthhinhm2binz=f(x,y)
l to ma trn x v y cha cc to trong min xc nh ca hm. Hm
meshgridsbinivngxcnhbi2vectxvythnhmatrnxvy.
Sautadngmatrnnynhgihm.
Vd:Takhosthmsin(r)/r.tnhhmtrongkhong8v8theoxvy
tachcnchuynmtvectischomeshgrid:
23


[x,y]=meshgrid(8:.5:8);

r=sqrt(x.^2+y.^2)+0.005;
matrnrchakhongcchttmcamatrn.Tiptheotadnghmmesh
vhm.

z=sin(r)./r;

mesh(z)
(lutrongct1_25.m)

c.thngngmc:Cchmcontourto,hinthvghichcc
ngngmccamthaynhiumatrn.Chnggm:

clabel
toccnhnsdngmatrncontourvhinthnhn

contour hin th cc ng ng mc to bi mt gi tr cho trc


camatrnZ.

contour3 hinthccmtngmctobimtgitrchotrcca
matrnZ.

contourf hinththcontour2Dvtmuvnggia2ccng

contourc hmcpthptnhmatrncontour
Hmmeshchinthcontourvlivsurfchinthmtcontour.
Vd:

[X,Y,Z]=peaks;
contour(X,Y,Z,20)
Micontourcmtgitrgnvin.Hm clabeldnggitrnyhinth
nhn ng ng mc 2D. Ma trn contour cha gi tr clabel dng cho cc
ngcontour2D.Matrnnycxcnhbicontour,contour3vcontourf.
Vd:hinth10ngngmccahmpeaktavit:

Z=peaks;

[C,h]=contour(Z,10);

clabel(C,h)

title({Caccontourconhan,clabel(C,h)})
(lutrongct1_26.m)
Hm contourfhinththngngmctrnmtmtphngvtmu
vng cn li gia cc ng ng mc. kim sot mu t ta dng hm
caxis.
Vd(lutrongct1_27.m):
Z=peaks;

[C,h]=contourf(Z,10);

caxis([2020])

title({Contourcotomau,contourf(Z,10)})
24

Cc hm contour(z,n) v contour(z,v) cho php ta ch r s lng mc


contour hay mt mc contour cn v novizlmatrnsliu,nls
ngcontourvvlvectccmccontour.MATLABkhngphnbitgia
ilngvectmtphnthayilngvhng.Nhvynuvlvect
mt phn t m t mt contour n mt mc hm contour s coi n l s
lng ng contour ch khng phi l mc contour. Nh vy,contour(z,v)
cng nh contour(z,n). hin th mt ng ng mc ta cn cho v l mt
vectc2phntvichaiphntbngmcmongmun.Vdtora
mtngngmc3Dcahmpeaks
Vd(lutrongct1_28.m):

xrange=3:.125:3;

yrange=xrange;

[X,Y]=meshgrid(xrange,yrange);

Z=peaks(X,Y);

contour3(X,Y,Z)
hinthmtmcZ=1,tachovl[11]

v=[11]

contour3(X,Y,Z,v)
Hm ginputchophptadngchuthayccphmmitnchnccim
v. N tr v to ca v tr con tr. V d sau s minh ho cc dng hm
ginputvhmsplinetorangcongnisuyhaibin.
Vd:TatomtMfilectnct1_29.mnhsau:

disp(Chuotphaitrocacdiemtrenduongve)

disp(Chuottraitrodiemcuoicuaduongve)

axis([010010])

holdon

x=[];

y=[];

n=0;

but=1;

whilebut==1

[xi,yi,but]=ginput(1);

plot(xi,yi,go)

n=n+1;

x(n,1)=xi;

y(n,1)=yi;

end
25


t=1:n;

ts=1:0.1:n;

xs=spline(t,x,ts);

ys=spline(t,y,ts);

plot(xs,ys,c);

holdoff

13.Vccvect:CnhiuhmMATLABdnghinthccvectchngv
vectvntc.Tanhnghamtvectbngcchdngmthay2is.Cc
ismtthnhphnxvthnhphnycavect.Nutadng2isth
isthnhtsmtthnhphnxvisthhamtthnhphny.
NutachdngmtisthMATLABxlnnhmtsphc,phnthc
lthnhphnxvphnolthnhphny.

Cchmvvectgm:

compass vccvctbtutgctocahtocc

feather
vccvectbtutmtngthng

quiver
vccvect2Dcccthnhphn(u,v)

quiver3 vccvect3Dcccthnhphn(u,v,w)

a. Hm compass: Ta xt v d v hng v tc gi. Cc vec t xc


nhhng(gctnhbng)vtcgi(km/h)l:
hg=[45909045360335360270335270335335];
td=[668639689101412];
Tabinihnggithnhradiantrckhibininthnhto
vunggc.
hg1=hg*pi/180;
[x,y]=pol2cart(hg1,td);
compass(x,y)
vtoraghichtrnth:
gc={HuonggiovsucgiotaisanbayDaNang)
text(28,15,gc)
(lutrongct1_30.m)
b. Hm feather: Hm feather hin th cc vec t bt u t mt ng
thngsongsongvitrcx.Vdtoraccvectcgct900n00v
cngditac:
theta=90:10:0;
r=ones(size(theta));
26

trckhiv,chuynccsliusangtovunggcvtnglnthnhr
dnhn(lutrongc1_31.m):
[u,v]=pol2cart(theta*pi/180,r*10);
feather(u,v)
axisequal
Nuislsphczthfeathercoiphnthclxvphnoly(lutrong
ct1_32.m):
t=0:0.3:10;
s=0.05+i;
Z=exp(s*t);
feather(Z)
c.Hmquiver:Hmquiverhinthccvectccimchotrong
mtphng.Ccvectnycxcnhbngccthnhphnxvy.Vd
tora10contourcahmpeakstavit(lutrongct1_33.m):
n=2.0:.2:2.0;
[X,Y,Z]=peaks(n);
contour(X,Y,Z,10)
Bygidnghmgradienttoccthnhphncavectdnglmis
choquiver:
[U,V]=gradient(Z,.2);
tholdonthmngcontour:
holdon
quiver(X,Y,U,V)
holdoff
d. Hm quiver3: Hm quiver3 hin th cc vec t c cc thnh phn
(u,v,w)tiim(x,y,z).Vdtabiudinquocamtvtcnmi
theot.Phngtrnhcachuynngl:
at 2

z( t) = v 0 t +
2
Trchttagnvntcbanuvgiatca:
v0=10;%Vantocbandau
a=32;%giatoc
Tiptheotnhzticcthiim:
t=0:.1:1;
z=vz*t+1/2*a*t.^2;
Tnhvtrtheohngxvy:
vx=2;
27

x=vx*t;
vy=3;
y=vy*t;
Tnhccthnhphncavectvntcvhinthbngccdngquiver3:
u=gradient(x);
v=gradient(y);
w=gradient(z);
scale=0;
quiver3(x,y,z,u,v,w,scale)
axissquare
(lutrongct1_34.m)

28

CHNG3:GIAODINHOGUI

1.KHINIMCHUNG

tin dng ta c th to nn giao din ho(GUI Graphic User


Interface)giangidngvMATLAB.Tronggiaodinnytacthxutd
liu di 2 dng: vn bn v ho. Mi mt GUI c mt hay nhiu
layout(dinmo).VictoGUItonnmtcngchophcvnhpxut
dliumtcchtrcgic,rtthuntin.NgoiracthdngGUIgim
stccqutrnh,hinthccitng.

2.NHPXUTKT,SLIURAGUI
1.Tokhunghnh:Taxtcclnhsau(luvofilect3_0.m):
f=input(Nhapnhietdo(doK):);
c=(f32)*5/9;
fprintf(1,nhietdo(doC)la:%g\n,c)
Badnglnhtrnthchincccngvicsau:

nhpgitruvo

thchinphptnhquyinhit

xutktquramnhnh
Bygitatmcchciccdnglnhtrnsaochochngthchintrn
khunkhmtkhunghocdngsau:

Cclnhsau(luvofilect3_1.m)thchincngvictrn:

42

set(gcf,DefaultUicontrolUnit,Normalized)
frame_1=uicontrol(gcf,Style,Frame,...
Position,[0.10.10.80.3]);
frame_2=uicontrol(gcf,Style,Frame,...
Position,[0.10.60.80.3]);
set(frame_1,BackgroundColor,[0.50.50.5]);
set(frame_2,BackgroundColor,[0.50.50.5]);
text_f=uicontrol(gcf,Style,Text,...
String,Fahrenheit:,...
Position,[0.30.70.20.05],HorizontalAlignment,Left);
edit_f=uicontrol(gcf,Style,Edit,...
String,168.0,...
Position,[0.60.70.10.05],...
HorizontalAlignment,Right,...
Callback,ct3_3);
text_c1=uicontrol(gcf,Style,Text,...
String,Celcius:,...
Position,[0.30.30.20.05],...
HorizontalAlignment,Left);
text_c2=uicontrol(gcf,Style,Text,...
String,100.0,...
Position,[0.60.30.10.05],...
HorizontalAlignment,Left);
Bygitasxemcclnhtrnhotngnhthno.Cclnhsau:
set(gcf,DefaultUicontrolUnit,Normalized)
frame1=uicontrol(gcf,Style,Frame,...
Position,[0.10.10.80.3]);
frame2=uicontrol(gcf,Style,Frame,...
Position,[0.10.60.80.3]);
set(frame1,BackgroundColor,[0.50.50.5]);
set(frame2,BackgroundColor,[0.50.50.5]);
tohaikhunghnhchnhttrongcasFigurehinhnhvinnmuxm.
Haikhung(Frames)ctoccgcditril(0.1,0.1)v(0.1,0.6),cng
chiucao0.3nvvbrng0.8nv.nvctnhbng%cakch
cngoicaFigure.Vytacthdingiinhsau:

Khungthnhtcgctriditiimcto10%chiungangv
10%chiucaocakhungngoiFigure.
43


Khungth2cgctriphaditiimctongvi10%chiu
ngangv60%chiucaocakhungngoaFigure.

Chaikhungcchiucaobng30%chiucaovbngangbng80%
bngangcakhungngoiFigure.

2.Dnglnheditvtextnhpxutktvsliu:Trnytadng
lnhuicontroltovxcnhvtrhaikhunghnh.onlnhsausdng
uicontrolvitchuiktFahrenheitlnkhungbntrn:
text_f=uicontrol(gcf,Style,Text,String,Fahrenheit:,...
Position,[0.30.70.20.05],HorizontalAlignment,Left);
Chui k t Fahrenhaeit c t vo ng v tr dn tri ca c
Position ghi trong on chng trnh trn. on lnh sau dng Edit vit
chui k t 68.0 vo v tr bn cnh ca Fahrenheit. Chui k t c v tr
dnphitrong(PositionBox).
edit_f=uicontrol(gcf,Style,Edit,...
String,168.0,...
Position,[0.60.70.10.05],...
HorizontalAlignment,Right,...
Callback,ct3_3);
Dosdngedit,chuikt68.0lchuicthvitlictrctiptrn
GUI.Saukhinhnnttrn,gitrmivitlictipnhnvMATLAB
sgilnhvittrongphncallbacct3_3.

Cuicngtacnphidnguicontroltotachuitext,hinthchui
Celciusv20.0trongkhungbndi.
text_c1=uicontrol(gcf,Style,Text,String,Celcius:,...
Position,[0.30.30.20.05],HorizontalAlignment,Left);
text_c2=uicontrol(gcf,Style,Text,String,20.0,Position,...
[0.60.30.10.05],HorizontalAlignment,Left);

3. T ng cp nht gi tr ln GUI: hon thin v d GUI ta thc hin


chngtrnhvinhimvtnhquyitKsangCvtnginkt
quvoccbncnhchuiCelcius.onmsauphcvmcchcallback
(hontrgitr)cluvofilect3_3.mvcnidungnhsau:
f=get(edit_f,String);
f=str2num(f);
c=(f32)*5/9;
c=num2str(c);
44

set(text_c2,String,c);
onmtrnnhngitrdolnhuicontroleditcvodidngchui
(string)vsau:
binitdngstringsangdngs
tnhquyitnhitfahrenheitsangnhitcelcius
binitssangstring
xutktqudidngstringraGUInhtext_c2

3.NHPSLIUTTHANHTRT

Ngoi cch nhp s liu t bn phm, ta c th nhp s liu t thanh


trt.Tamuntoramtgiaodinnhsau:

Tronggiaodinny,contrtslmthayigitrnhituavovnhit
quy i tnh theo C cng s thay i tng ng. Cc lnh to ra giao
dinny(lutrongfilect3_2.m)l:
set(gcf,DefaultUicontrolUnit,Normalized)
frame_1=uicontrol(gcf,Style,Frame,Position,[0.10.10.80.3]);
frame_2=uicontrol(gcf,Style,Frame,Position,[0.10.60.80.3]);
set(frame_1,BackgroundColor,[0.50.50.5]);
set(frame_2,BackgroundColor,[0.50.50.5]);
text_f=uicontrol(gcf,Style,Text,String,Fahrenheit:,Position,...
[0.30.70.20.05],HorizontalAlignment,Left);
45

edit_f=uicontrol(gcf,Style,Edit,...
String,168.0.,,,
Position,[0.60.70.10.05],...
HorizontalAlignment,Right,...
Callback,ct3_3);
text_c1=uicontrol(gcf,Style,Text,...
String,Celcius:,...
Position,[0.30.30.20.05],...
HorizontalAlignment,Left);
text_c2=uicontrol(gcf,Style,Text,...
String,100.0,...
Position,[0.60.30.10.05],...
HorizontalAlignment,Left);
slider_f=uicontrol(gcf,Style,Slider,...
Min,32.0,Max,212.0,...
Value,68.0,...
Position,[0.60.80.20.05],...

Callback,ct3_4;ct3_3);
tothanhtrttadnglnh:
slider_f=uicontrol(gcf,Style,Slider,Min,32.0,Max,212.0,...
Value,68.0,Position,[0.60.80.20.05],...

Callback,ct3_4;ct3_3);
Nh vy Callback c th gi mt chui cc lnh MATLAB, phn cch nhau
bngduchmthanhayduphy.Chuicallbackgict3_4.m:
f=get(slider_f,Value);
f=num2str(f);
set(edit_f,String,f,CallBack,ct3_5;ct3_3);
vitcdngnhpnhitgitiValuecaslider_fvovtrbncnh
chachuiFahrenheit.SauCallbackgitipct3_3.mtnhquyigi
trnhitvgnvocnhchuiCelcius.Filect3_5.mnhsau:
f=get(edit_f,String);
f=str2num(f);
set(slider_f,Value,f);
cnhimvcpnhtgitrgitiValuecaslider_frisauct3_3.m
lmntphnviccnli:tnhinhitvgnvovtrcnhchachui
Celcius.

46

4.CHNLAKHIXUTSLIU
1.Khinimchung:Ngoikhnngxutdliucnhtheokiustringhay
kius,tacthxutdliutheomtdanhmcno.minhho,tato
filect3_6.mnhsau:
f=input(Nhapnhietdo:);
r=f+459.7;
c=(f32)*5/9;
k=c+273.15;
choice=input([Nhap1choRankie,2choCelcius,3choKelvin:]);
ifchoice==1
fprintf(1,Nhietdo(doR)la:%g\n,r);
elseifchoice==2
fprintf(2,Nhietdo(doC)la:%g\n,c);
elseifchoice==3
fprintf(2,Nhietdo(doC)la:%g\n,c);
end
Tcaslnh,nhplnhct3_6thMATLABshinhitvchquyi
ri hin th kt qu. Tuy nhin cng c GUI ca MATLAB cho php ta thc
hinviclachnthunlihn.Tacthchnmttrong4phngxutd
liusauy:

dngpopupmenu

dnglistbox

dngradiobutton

dngcheckbox

2.Dngpopupmenu:Tatoragiaodinnhsau:

47

Cclnhthchincngvictrn(lutrongfilect3_7.m)l:
set(gcf,DefaultUicontrolUnit,Normalized)
frame_1=uicontrol(gcf,Style,Frame,...
Position,[0.10.10.80.3]);
frame_2=uicontrol(gcf,Style,Frame,...
Position,[0.10.60.80.3]);
set(frame_1,BackgroundColor,[0.50.50.5]);
set(frame_2,BackgroundColor,[0.50.50.5]);
text_f=uicontrol(gcf,Style,Text,...
String,Fahrenheit:,...
Position,[0.30.70.20.05],...
HorizontalAlignment,Left);
edit_f=uicontrol(gcf,Style,Edit,...
String,...168.0,...
Position,[0.60.70.10.05],...
HorizontalAlignment,Right,...
Callback,ct3_3);
popup_c=uicontrol(gcf,...
Style,Popupmenu,...

String,Rankine|Celcius|Kelvin,...

Value,2,...

Position,[0.30.30.20.05],...

Callback,ct3_8;ct3_10);
text_c2=uicontrol(gcf,Style,Text,...
String,100.0,...
Position,[0.60.30.10.05],...
HorizontalAlignment,Left);
slider_f=uicontrol(gcf,Style,Slider,...
Min,32.0,Max,212.0,...
Value,68.0,...
Position,[0.60.80.20.05],...

Callback,ct3_4;ct3_10);
KhikchchutvoPopupmenu,cbakhnngchnlasxuthin.Tip
tcnhychutvomttrong3khnng,Popupmenubinmtchcnli
n v c chn. Khi dng chut ko thanh trt frame pha trn, ta c
cgitrquyisangnvcchnhinthphadi.Trongon
mtrn,gitrValuetsnl2.KhiCallbackgict3_8.m:
48


choice=get(popup_c,Value);
th gi tr ca bin choice c a ti Value. Sau Callback gi tip
ct3_10.mxemktqugitrongchoice.Filect3_10.mnhsau:
f=get(edit_f,String);
f=str2num(f);
r=f+459.7;
c=(f32)*5/9;
k=c+273.15;
choice=input([Nhap1choRankie,2choCelcius,3choKelvin:]);
ifchoice==1
t=r;
elseifchoice==2
t=c;
elseifchoice==3
t=k
end
t=num2str(t);
set(text_c2,String,t);
BngcchthayPopupmenubngRadiobuttonuicontroltacphng
nradiobutton.Giaodinscdng:

Cclnhthchincngvicny(lutrongfilect3_11.m)l:
set(gcf,DefaultUicontrolUnit,Normalized)
frame_1=uicontrol(gcf,Style,Frame,Position,[0.10.10.80.3]);
49

frame_2=uicontrol(gcf,Style,Frame,Position,[0.10.60.80.3]);
set(frame_1,BackgroundColor,[0.50.50.5]);
set(frame_2,BackgroundColor,[0.50.50.5]);
text_f=uicontrol(gcf,Style,Text,String,Fahrenheit:,Position,...
[0.30.70.20.05],HorizontalAlignment,Left);
edit_f=uicontrol(gcf,Style,Edit,String,168.0,Position,...
[0.60.70.10.05],HorizontalAlignment,...
Right,Callback,ct3_6);
strings=[Rankine;Celcius;Kelvine];
show=[0;1;0];
ys=[3;2;1]*0.075+0.075;
fori=1:3
radio_c(i)=uicontrol(gcf,...
Style,Radiobutton,...

String,
strings(i),...

Value,
show(i),...
Position,[0.3ys(i)0.20.05],...

Callback, ct3_12;ct3_10);
end
text_c2=uicontrol(gcf,Style,Text,String,100.0,Position,...
[0.60.30.10.05],HorizontalAlignment,Left);
slider_f=uicontrol(gcf,Style,Slider,Min,32.0,Max,212.0,...
Value,68.0,Position,[0.60.80.20.05],...

Callback,ct3_4;ct3_10);
Filect3_12.m:
fori=1:3
ifgcbo==radio_c(i)

choice=i;
set(radio_c(i),Value,1);
elseif
set(radio_c(i),Value,0);

end;
end;
onscripttrnlmtvnglp,sosnhs(handle)Callbackthuc(gitr
dohmgcbotrv)vihandlecamint.Ntnocstrngscng
(turnon,Value=1)vntnokhcssbngt(turnoff,Value=0).Cui
cngCallbackgict3_10.mthchinvictnhquyicchnvhin
50

thktqu.imkhcduynhtlkhichn,Popupmenuchchamtphn
tthradiobuttoncthngthichanhiuphnt.
Cuicngtaxtphngndnglistbox.Giaodincntonhsau:

Ccmtoragiaodintrn(lutrongfilect3_13.m)l:
set(gcf,DefaultUicontrolUnit,Normalized)
frame_1=uicontrol(gcf,Style,Frame,Position,[0.10.10.80.3]);
frame_2=uicontrol(gcf,Style,Frame,Position,[0.10.60.80.3]);
set(frame_1,BackgroundColor,[0.50.50.5]);
set(frame_2,BackgroundColor,[0.50.50.5]);
text_f=uicontrol(gcf,Style,Text,String,Fahrenheit:,Position,...
[0.30.70.20.05],HorizontalAlignment,Left);
edit_f=uicontrol(gcf,Style,Edit,String,168.0,Position,...
[0.60.70.10.05],HorizontalAlignment,...
Right,Callback,ct3_3);
listbox_c=uicontrol(gcf,...
Style,Listbox,...
String,Rankine|Celcius|Kelvin,...
Value,2,...
Position,[0.30.30.20.05],...
Callback,ct3_14;ct3_10);
text_c2=uicontrol(gcf,Style,Text,String,100.0,Position,...
51

[0.60.30.10.05],HorizontalAlignment,Left);
slider_f=uicontrol(gcf,Style,Slider,Min,32.0,Max,212.0,...
Value,68.0,Position,[0.60.80.20.05],...

Callback,ct3_4;ct3_10);

5.CNGCHOTOGUI
1.ToGUIbngcngcho:TrnytaxemxtcchtoGUIbng
phngphpthcng.TacthtoGUIbngcngcho.Khinhplnh
guidetagitrnhho(GraphicsUserInterfaceDevelopmentEnvironment)
sontholayout.Ktquutinltacmtlayoutrngnhsau:

Sontho
Alignment

thuctnh
Chyth

Sonmenu

Vngthit
k
Ccphnt

Vicutinltathitkgiaodinmongmun.Tasdngchutko
cc phn t cn dng t bn tri v th vo layout rng bn phi. Ta c th
dchchuynccphntnyccvtrmongmunvcnchnhbngcng
c Alignment. Vi mi phn t ta cn xc nh thuc tnh cho n bng cch
bmpvophnthaybmvocngcsonthothctnh
Saukhithitkxongtalunli.LcnyMATLABtngtorafile
*.fig dng lu giao din va to v file *.m cha cc m lnh cn thc hin.
Viccuicnglvitccmlnvofile*.m.Trongqutrnhthitktacth
chythxemsaumibcthitktyucuchabngcchbmvo
chyth

2.MtsvdtoGUI:

a.mslnbmchut:Tathitkmtgiaodinnhsau:
52

Tamunlkhibmchut,slnbmscmvghili.Trcht
tagiguidevccmtlayoutrng.VoPropertyInspector(sontho
thuctnh)vghivoNamechuict3_17vchpnhnthuctchTagmc
nh ca n l figure1; dng Font ch mc nh, c ch 12, bold. Ta dng
EditTextghilislnbm.TavoPropertyInspectorrichnString.Ta
nhpvonychuiSolanbamchuot:0.TaghivoTagchuieditmot
vcngdngFontchmcnh,cch12vbold.TiptheokoPushbutton
volayoutvsonthothuctnhchonviFontchmcnh,cch12,
bold. Trong thuc tnh String ghi chui Bam chuot; ghi v Tag chui
pushbuttonmot.Nhvyltathitkxong.Bygitalulivitnl
ct3_17.figvct3_17.m.
Nhimvtiptheolghicclnhcnthitvofilect3_17.m.Fileny
cMATLABtngtora.Taphithmvoccmlnhkhibm
chutthslnbmcthhintrnEditText.Tasghiccmlnhny
vophn:
functionvarargout=pushbuttonmot_Callback(h,eventdata,handles,varargin)
dolnhcncthchinkhigipushbutton.Nidungcact3_17.ml:
functionvarargout=Ct3_17(varargin)
ifnargin==0

fig=openfig(mfilename,reuse);

set(fig,Color,get(0,defaultUicontrolBackgroundColor));

handles=guihandles(fig);

guidata(fig,handles);
ifnargout>0
53

varargout{1}=fig;
end

elseif
ischar(varargin{1})

try

[varargout{1:nargout}]=feval(varargin{:});

catch

disp(lasterr);

end
end
functionvarargout=pushbuttonmot_Callback(h,eventdata,handles,varargin)
persistentdem;%biendemlapersistentdenotontaigiualangoiham
ifisempty(dem)
dem=0;
end
dem=dem+1;
str=sprintf(Solanbamchuot:%d,dem);
set(handles.editmot,String,str);
Trong phn ny, ngn gi, ta b bt cc dng giithchvccdnglnh
khngdngn.Bygitachychngtrnhvnscpnhtslnbm
chut.

b.ChuynitFahrenheitsangCelcius:TathitkmtGUI
chuyninhit.Giaodincdngnhsau:

54

CHNG4:SIMULINK

1.KHINGSIMULINK
1.KhingSinulink:khingSimulinktatheoccbcsau:

khingMATLAB
click vo icon ca Simulink trn MATLAB toolbar hay nh lnh
SimulinktrongcasMATLAB.
LcnytrnmnhnhxuthincasSimulinkLibraryBrowser,trongc
ccthvincckhicaSimulink.

2.Tomtmhnhmi:tomtmhnhmi,clickvoicontrncas
Simulink Library Browser hay chn menu File | New | Model trn ca s
MATLAB.

3.Thayimtmhnhc:TacthclickvoicontrncasSimulink
Library Browser hay chn Open trn ca s MATLAB. File cha m hnh s
mvtacththayiccthngscngnhbnthnmhnh.

2.CHNITNG
1. Chn mt i tng: chn mt i tng, click ln n. Khi ny i
tngscmthnhchnhtcccgclcchtbaoquanh.

2.Chnnhiuitng:Tacthchnnhiuitngcnglcbngcch
dngphmShiftvchuthayvmtngbaoquanhccitngbng
cchbmchutkothnhhnhchnhtvthkhihnhchnhtbao
lyccitngcnchn.

3.Chnttcccitng:chnttcccitngtrongcastachn
menuEdit|SelectAll.

3.CCKHI
1.Cckhi:KhilccphntmSimulinkdngtomhnh.Tac
thmhnhhobtkmththngnghcnobngcchtomilinh
gia cc khi theo cch thch hp. Khi to mt mhnhtacnthyrngcc
khi ca Simulink c 2 loi c bn: khi nhn thy v khi khng nhn thy.
Cckhikhngnhnthycngvaitrquantrngtrongvicmphng
mththng.Nutathmhayloibmt khikhngnhnthyc ta thay
70

ithuctnhcamhnh.Cckhinhnthyc,ngcli,khngng
vai tr quan trng trong m hnh ho. Chng ch gip ta xy dng m hnh
mt cch trc quan bng ho. Mt vi khi ca Simulink c th l thy
c trong mt s trng hp v li khng thy c trong mt s trng
hpkhc.Cckhinhvycgilcckhinhnthyciukin.

2. Copy cc khi t mt ca s sang mtcaskhc:Khitaxydngmt


mhnhtathngphicopycckhitthvinkhicaSimulinksangca
smhnh.lmvicnytatheoccbcsau:

mcasthvinkhi
kokhitamundngtcasthvinvocasmhnhvth
TacthcopycckhibngcchdnglnhCopy&Pastetrongmenu
Editquaccbcsau:

chnkhitamuncopy

chnCopytmenuEdit

lmchocascncopytihotng

chnPastetmenuEdit
Simulink gn mt tn cho mi bn copy. Nu n l khi u tin trong m
hnh th tn ca n ging nh trong th vin Simulink. Nu n l bn th 2
hayth3thsaunscchs1hay2v.v.Trncasmhnhcli.
hinthlinytcasMATLABnhvo:
set_param(<modelname>,showgrid,on)
thayikhongcchlinhlnh:
set_param(<modelname>,gridspacing,<numberofpixels>)
Vd:thayilithnh20pixels,nhlnh:
set_param(<modelname>,gridspacing,20)
nhnbnmtkhitagiphmCtrlvkokhitimtvtrkhcvth.

3. M t thng s ca khi: m t thng s ca khi ta dng hp thoi


Block Properties. hin th hp thoi ny ta chn khi v chn Block
Properties t menu Edit. Ta c th nhp p chut ln khi hin th hp
thoiny.HpthoiBlockPropertiesgm:
Description:Mtngngnvmcchcakhi.
Priority: thc hin quyn u tin ca khi so vi cckhikhctrong
mhnh.
Tag:trngvnbnclucngvikhi
Openfunction:cchmMATLABcgikhimkhiny
71

Attributesformatstring:Thngsnysmtthngsnochin
thdiiconcakhi.

4. Deleting Blocks: Mun xo mt hay nhiu khi ta chn khi v nhn


phmDel.

5.Thayihngcakhi:Tacthxoayhngcakhibngvomenu
Formatri:
o

chnFlipBlockquaykhi180 .
o

chnRotateBlockquaykhi90 .

6.nhlikchthccakhi:thayikchthccakhitaacon
trchutvomtgccakhiribmvkochonkchthcmongmun
rith.

7.Xltnkhi:Mikhictn,philduynhtvphichatnhtmtk
t.Mcnhtnkhinmdikhi.Vitnkhitacththchinccthao
tcsauy:
Thay i tn khi bng cch bm chut vo tn c vnhplitn
mi. Nu mun thay i font ch dng cho tn khi hy chn khi v vo
menuFormatvchnFont.
Thayivtrttnkhitdilntrnhayngclibngcchko
tnkhitivtrmongmun.
KhngchohinthtnkhibngcchvomenuFormatvchnHide
NameshayShowNames

8. Hin th cc thng s bn di khi: Ta c th bt Simulink hin th mt


haynhiuthngsbndikhi.lmiunytanhpvomtdngvo
trngAttributesformatstringhpthoiBlockProperties.

9.Ctcckhi:ctkhikhistabmphmShiftvkokhinvtr
mi.

10.Nhpvxutccvect:Huhtcckhichpnhnilnguvol
vec t hay v hng v bin i thnh i lng u ra l vec t hay v
hng.Tacthxcnhuvononhnilngvectbngcchchn
mc Wide Vector Lines t menu Format. Khi tu chn ny c chn, cc

72

ngnhnvectcvmhnccngmangsliuvhng.Nu
tathyimhnhsaukhichnWideVectorLinestaphicpnhthnhv
bngcchchnUpdateDiagramtmenuEdit.KhingliSimulinkcng
cpnhts.

11.Mrngvhngccuvovccthngs:Mrngvhnglbin
iilngvhngthnhvectvisphntkhngthayi.Simulink
pdngmrngvhngchoccilngvovthngsivihuht
cckhi.

Mrnguvo:khidngkhivinhiuuvotacthtrnln
cc i lng vec t v i lng v hng .Khi ny cc u vo v hng
cmrngthnhvectvisphntnhcauvovect,ccphnt
uctrsnhnhau
Mrngthngs:tacthctccthngsivikhicvect
hothnhilngvecthayilngvhng.Khitactccthngs
vect,mimtphntthngsckthpviphnttngngtrong
vectuvo.Khitactccthngsvect,Simulinkpdngmrngv
hngbinichngthnhvectckchthcphhp.

12. Gn u tin cho khi: Ta c th gn u tin cho khi khng nhn


thytrongmhnh.Khicutincaohncnhgitrckhic
utinnhhn.Tacthgnutinbngcchdnglnhtngtc
haydngchngtrnh.dngchngtrnhtadnglnh:

set_param(b,Priority,n)
Trongblkhivnlmtsnguyn,scngthp,utincngcao.
gnutinbnglnhtanhputinvotrngPrioritytronghp
thoiBlockPrioritiescakhi.

14.SdngDropShadows:TacththmDropShadowvokhichn
bngcchchnShowDropShadowtmenuFormat

4.CCTHVINKHI
Ccthvinchophpngidngcopycckhivomhnhcamnh
t th vin bn ngoi v cp nht t ng cc khi c copy mi khi th
vinngunthayi.
1.Tomtthvin:tomtthvin,chnLibrarytmenuconNewca
menuFile.Simulinkshinthmtcasmi,ctnlLibrary:untitled.
73

2.Thayimtthvinc:Khitammtthvin,ntngkhovta
khng th thay i cc thnh phn ca n c. Mun m kho ta chn
UnlocktmenuEdit.

3. Copy mt khi t th vin vo m hnh: Ta c th copy mt khi t th


vinvomhnhbngcopyhaypastehaykonvthvocasmhnh.

5.CCNG
Ccngmangcctnhiu.Mingmangmttnhiuvhng
hay vec t. Mi ng ni cng ra ca mt khi vi cng vo ca mt hay
nhiukhikhc.
1.Vngnigiacckhi:nicngracamtkhivicngvoca
mtkhikhctalmnhsau:

tcontrchutlncngracakhiutin,contrcdngdu+
nhnvgichut
kocontrchutticngvocakhithhai
thchut
vnggpkhc,nhnphmShiftkhiv.

2.Vngnhnh:ngnhnhlngnitmtngcvmang
tnhiucanticngvocamtkhi.
thmngnhnhtalmnhsau:
acontrchuttingcnphnnhnh
nhnphmchutngthinhnphmCtrl
kocontrchutticngvotiptheovthchutvaphmCtrl.
TuynhintacthdngphmphichutthayvdngphmCtrlvphmtri
chut.

3. Chn khi vo mt ng: Ta c th chn mtkhivomtngbng


cch ko v th khi ln ng ni. Khi m ta chn vo ch c mt u
vovmtura.

4.Nhncatnhiu:Tacthgnnhnchotnhiughichchomhnh.
Nhncthnmtrnhaydingninmngang,bnphihaybntri
ngnithngng.

74

5.Sdngnhntnhiu:tonhntnhiu,bmpchutlnngni
vghinhn.dichuynnhn,samtnhn,clicklnnhnrinhnhn
misaukhixanhnc

6.GHICH

Ghichlonvnbncungcpthngtinvmhnh.Tacththm
ghichvobtktrngnocamhnh.tomtghich,nhnpchut
vovngtrngcamhnh.Khinytrnmnhnhxuthinmthnhch
nhtcconnhytrong.Tacthnhvnbnghichvokhungny.Khi
mundichuynphnghichnmtvtrkhc,tabmchutvovko
nvtrmirithchut.samtghich,bmchutvonhinth
khungvnbnvbtusa.

7.LMVICVICCLOIDLIU
1.Cckiudliu:Simulinkchpnhncckiudliusau:
double
sthcvichnhxcgpi
single
sthcvichnhxcn
int8
snguyncdu8bit
uint8
snguynkhngdu8bit
int16
snguyncdu16bit
uint16
snguynkhgdu16bit
int32
snguyncdu32bit
uint32
snguynkhngdu32bit

2.Cckiudliucacckhi:Cckhiuchpnhnkiudliudouble.

3.Mtcckiudliudngchothamskhi:Khinhpvothamsca
mtkhi,kiudliucancngidngmtbnglnhtype(value)
vitypeltncakiudliuvvaluelgitrcathams.
Vd:single(1.0)
dliulsthcctrl1

int8(2)

dliulsnguynctrl2

int32(3+2i)
dliulsphc,phnthcvphnolsnguyn
32bit

4.Totnhiuckiudliucmt:Tacthemvomhnhmttn
hiuckiudliucmtbngmttrongccphngphpsauy:

nptnhiuckiudliumongmuntMATLAB
75


tomtkhihngvtthngscanckiudliumongmun.

sdngkhibinikiudliu

4.Hinthcckiudliucacng:hinthkiudliucacngtrong
mhnh,tachnPortDataTypestmenuFormat.

8.LMVICVITNHIUPHC

Mcnh,ccgitrcatnhiuSimulinklsthc.Tuynhinccm
hnhcthtovxlcctnhiulsphc.Tacthamttnhiuls
phcvomhnhbngmttrongccphngphpsau:
nptnhiuphctMATLAB
tomtkhihngtrongmhnhvchongitrphc.
tomttnhiuthctngngviphnthcvphnocatnhiu
phc v kt hp cc phn ny thnh tn hiu phc bng cch s dng khi
binitnhiuthcothnhtnhiuphc.
Tacthxltnhiuphcnhcckhichpnhntnhiuphc.Phn
lncckhicaSimulinkchpnhntnhiuvolsphc.

9.TOHTHNGCON

Khimhnhcatalnvphctpthnnnhmmtskhilithnh
hthngcon.Tacthtorahthngconbng2phngphp:
thmmtkhihthngconvomhnhvkhithmcckhi
trong.
thmcckhicntothnhhthngconrinhmchnglithnh
hthngcon.

1.Tomththngconbngcchthmkhihthngcon:tomtkhi
hthngcontrckhithmcckhitrongntaphithmkhihthngcon
vomhnhrithmcckhitonnhthngconnyvokhihthngcon
bngcchsau:

copykhihthngcontthvinSignal&Systemvomhnh
mkhihthngconbngcchclickplnn
trongcaskhiconrng,tohthngcon.Sdngcckhiinport
biudinuvovcckhioutportbiudinura.

2.Tohthngconbngcchnhmcckhic:Numhnhcata
cmtskhimtamunnhmthnhkhihthngconthtacthnhm
76

cckhinythnhkhihthngconbngsau:
bao cc khi v ng ni gia chng bng mt ng t nt(bm
chutvkotgcnyngckiacacckhi)rithchut
chnCreateSubsystemtmenuEdit

3.Gnnhnchocccngcahthngcon:Simulinkgnnhnchocccng
cahthngcon.Nhnltncacckhiinportvoutportnikhihthng
convicckhibnngoiquacccngny.Tacthduccnhnnybng
cch chn khi h thng con ri chn Hide Port Labels t menu Format. Ta
cng c th du mt hay nhiu nhn bng cch chn cc khi inport hay
outport thch hp trong khi h thng con v chn Hide Name t menu
Format

10.MHNHHO

MttrongnhngvnxuthinkhidngSimulinkllmthno
xydngmtmhnhtccphngtrnhhayhthngchocho.Sau
ylmtsvdvcchxydngmhnh.

1.Mhnhhomtphngtrnh:PhngtrnhdngbiniCelcius
thnhFahrenheitl:

TF=(9/5)TC+32
Trchttakhostcckhicntomhnh:
khiramptrongthvinSourcesinputtnhiunhit
khiConstanttrongthvinSourcestohngs32
khiGaintrongthvinMathtorahs9/5
khiSumtrongthvinMathcnghaiilng
khiScopetrongthvinSinkshinthktqu.
Tiptaacckhivocasmhnh,gnccgitrthngschoGain
vConstantbngcchnhpplnchngmkhi.Sautanicckhi.
KhiRampanhitCelciusvmhnh.Mkhinyvthayigitr
khignInitialoutputv0.KhiGainnhnnhitnyvihs9/5.Khi
Sumcnggitr32viktquvaranhitFahrenheit.KhiScope
xemktqu.Smphngnhsau(lutrongct4_1.mdl).BygiStartt
menuSimulationchysimulation.Simulationchy10giy,tngngvi
nhitCelciusbinit0n10o.

77


2. M hnh ho mt h phng trnh tuyn tnh: Ta xt h phng trnh
tuyntnhchain:
z 1 + z 2 = 1

z 1 + z 2 = 1

mphngtadngcckhi:
haikhiAlgebricConstrainttrongthvinMathgiiphngtrnh
haikhiSumtrongthvinMathtophptnh
haikhiDisplaytrongthvinSinkhinthgitrnghim
khiConstanttrongthvinSourcestogitr1
Smphngnhsau(lutrongct4_2.mdl):

3.Mphngmtphngtrnhbccao:Taxtphngtrnh:

x2+3x+1=0
mphngtadngcckhi:
khiAlgebricConstrainttrongthvinMathgiiphngtrnh

khiDisplaytrongthvinSinkhinthtrscanghim
khiConstanttrongthvinSourcestogitr1
78

khiSumtrongthvinMathtophpcng
2
khiMathFunctiontrongthvinMathtohmx
khiGaintrongthvinMathtohs3
Smphngnhsau(lutrongct4_3.mdl)

4. M hnh ho h thng lin tc n gin: Ta m hnh ho h m t bi


phngtrnhviphn

x( t ) = 2 x( t ) + u( t )
viu(t)lmtsnghnhchnhtcbinbng1vtns1rad/s.m
phnghtadngcckhi:
khiGaintrongthvinMathtohs2
khiSumtrongthvinMathtophptnh
khiScopetrongthvinSinkxemktqu
khiSignalGeneratortrongthvinSourcestongun
khiIntegratortrongthvinContinuoustchphn
Smphngnhsau(lutrongct4_4.mdl):

79

5.Mhnhhohphngtrnhviphnbccao:Taxthmtbiphng
trnhviphnbchaisau:
d2x
dx
+3
+ 2 x( t ) = 4 u( t)

2
dt
dt
Trongu(t)lhmbcnhy,x(0)=0vx(0)=0.BiniLaplacecah
chota:

p X(p)+3pX(p)+2X(p)=4U(p)
Hmtruyncahl:
4

T( p) = 2
p + 3p + 2

Tamphnghbngccphnt:
khiSteptrongthvinSourcestohmbcnhyu(t)
khiTransferFcntrongthvinContinuoustohmtruyn
khiScopetrongthvinSinkxemktqu
Smphng(lutrongct4_5.mdl)nhsau:

6.Mhnhhohciukinukhckhng:

a.Phngtrnhviphncp1:Taxthmtbiphngtrnh:
dx
+ x( t) = 0

dt
iukinucahlx(0)=1.Tacntmx(t)trongon0t10s.Doiu
kinukhckhngnntabiniphngtrnhvdngkhnggiantrng
thi.
dx = Ax + B

dt
y = Cx + Du

Trongxlbintrngthi,ultnhiuvo,yltnhiura.

Chny(t)=x(t)tac:
dx
= x( t )

dt

y(t)=x(t)
NhvyA=1;C=1;u(t)=0;B=0vD=0.Smphnggmccphn
t:
khiStateSpacetrongthvinContinuous
80

khiScopetrongthvinSink
Smphngnhsau:

b.Phngtrnhviphncpcao:Taxthmtbiphngtrnh:

d2x
dx

+
3
+ 2 x( t ) = 4 u( t)
dt 2
dt
Trongu(t)lhmnv,x(0)=1vx(0)=2.
dx

Tacngdnghkhnggiantrngthi.Tatx1=x,x2= 1 .Nhvy
dt
2
dx
d 2 x1 d x
iukinul:x1(0)=1vx2(0)=2.Ngoira 2 =
=

dt
dt
dt
dx 2
+ 3x 2 ( t ) + 2x1 ( t ) = 4u( t )

dt
Phngtrnhcphaicavhaiphngtrnhcp1:
dx1 = x ( t)
2
dt

dx 2
= 3x 2 ( t ) 2x1 ( t ) + 4u( t)

dt

dx 2
dt
Vitdidngmatrntac:
dx1
1 x1 ( t ) 0
dt 0
=

dx 2 2 3 x ( t ) + 4 u( t )
2

dt
x1 ( t )

y( t ) = [1 0 ]

x 2 ( t )
Thnytasuyraccmatrncahkhnggiantrngthil:
1
0
0
=

A=
B

4 C = [1 0] D = 0
2 3

Smphnggmcckhisau:
khiStateSpacetrongthvinContinuous
81

khiScopetrongthvinSink
Smphngnhsau(lutrongct4_7.mdl)

7.Mhnhhahchobiskhi:Xtmthccutrcskhinh
sau:

1
+
k

s2 + s

Tamphnghbngccphnt:
khiSteptrongthvinSources
khiGaintrongthvinMath
khiTransferFcntrongthvinContinuous
Smphngnhsau(lutrongct4_8.mdl)

8.Mhnhhohphituyn:

a.Hchobiphngtrnhviphncpcao:TaxtphngtrnhValder
Pol:

y (1 y 2 )y + y = 0
iukinuy(0)=2vy(0)=0

Taty=y1vy=y2vcchphngtrnhviphncp1:
y1 = y 2

y2 = (1 y 12 ) y 2 y 1
Hphngtrnhcmphngbngccphntsau:
khihmFcntrongthvinFunctions&Tablestohm
82

khiProducttrongthvinMathtophpnhn
haikhiIntegratortrongthvinContinous
khiSumtrongthvinMath
khiMuxtrongthvinSignal&Systemstrntnhiu
khiScopetrongthvinSinkxemktqu.
Smphng(lutrongct4_9.mdl)nhsau:

b. H m t bng h phng trnh vi phn: Ta xt h m t bng h


phngtrnhviphnsau:
a1 = a 2


a 2 = sin(a 1 ) 0.2a 2
viiukinula1(0)=a2(0)=1.3
Tamphnghbngccphnt:
haikhiIntegratortrongthvinContinous
khiFcntrongthvinFunctions&Tables
khiGaintrongthvinMath
haikhiScopetrongthvinSink
khiSumtrongthvinMath
Smphng(lutrongct4_10.mdl)nhsau:

83

11.LUMHNH

Tacthlumhnhbngcchchn SavehaySaveastmenuFile.Ta
dngSavekhimmhnhc,savluli.Saveasdngkhimhnhcten
luntitlednghalchacttn.Simulinkslumhnhbngmtfile
ctnvphnmrngl.mdl.

12.INSKHI

Tacthinskhibngcchchn Printtmenu File.Khinyhp


thoiPrintsxuthin.Nchophpta:
chinhthnghinhnh

inhthnghinhnhvcchthngdintrongphnlpmhnh
inhthnghinhnhvcchthngtrnntrongphnlpmhnh
inttccchthngtrongmhnh
inmimhnhmtkhungoverlay

13.DUYTQUAMHNH

CasModelBrowserchophpta:
duytquamhnhcphnlp
mcchthngtrongccmhnh
xcnhnidungcckhitrongmtmhnh
84

hin th Model Browser, chn n t menu View. Ca s xut hin


cchialm2phn.PhatrilBrowser.Cutrccycamhnhhinth
bnphi.Midu+tngngvimththngcon.

14.KTTHCSIMULINK
TaktthcchulmvicviSimulinkbngcchngcasSimulink.
KtthcchulmvicviMATLABbngcchngcasMATLAB.

85

CHNG5:SYMBOLICMATHTOOLBOXES

1.KHINIMCHUNG

Symbolic Math Toolboxes kt hp tnh ton bng ch vo mi trng


MATLAB.Cctoolboxnybsungcctinchsvthvicckiutnh
tontonhckhcnhau.

Tinch
Nidung
Calculus
o hm, tch phn, gii hn, tng v chui
Taylor
LinearAlgebra
nghch o, nh thc,gi tr ring, phn tch v
dngchnhtccamatrn.
Simplification
phngphprtgnccbiuthcis
SolutionofEquations
giibngchvbngsccphngtrnhis
vviphn
VariablePrecision
nhgichnhxccaccbiuthcis
Arithmetic
Transform
biniLaplace,Fourriervz
Special
Mathematical cchmtonhccbitcaccngdngton
Function
hckinhin

ng lc tnh ton nm di cc toolbox l nhn Maple, mt h thng


tnhtoncphttrinutintrngihcWaterloo,Canadavsau
ti Eidgenroessiche Technische Hochschule Zurich, Thu s. Maple c
thngmihovhtrcacngtyWaterlooMaple.

2.KHINGTOOLBOX
1.Ccitngch:Trongphnnychngtasxemxtcchtovdng
ccitngch.Chngtacngsxemxtccbinchmcnh.Symbolic
MathToolboxnhnghamtkiudliuMATLABmigilitngch
haysym.Bntrong,mtitngchlmtcutrcsliumnlubiu
dinchuicckt.SymbolicMathToolboxdngccitngchbiu
dinccbinch,ccbiuthcch,ccmatrnch.

2.Toccbinvccbiuthcch:Lnhsymchophptaxydngccbin
vccbiuthcch.Vdlnh:
85

x=sym(x)
a=sym(alpha)
toraccbinchlxvavixlxvalalpha.

Gi s ta mun ta mun dng bin ch biu din t l vng


1+ 5
=
.Tadnglnh:
2
rho=sym((1+sqrt(5))/2)
Bygitacththchinccphptonkhcnhauvirho.Vd:
f=rho^2rho1

f=
(1/2+1/2*5^(1/2))^23/21/2*5^(1/2)
Tartgnbiuthc:

simplify(f)

ans=
0
Bygigistamungiiphngtrnhbc2 f = ax 2 + bx + c .Phtbiu:
f=sym(a*x^2+b*x+c)
gn biu thc ch ax2 + bx + c cho bin f. Tuy nhin trong trng hp ny
SymbolicMathToolboxkhngtoraccbintngngviccshnga,b,
cvxtrongbiuthc.thchinccphptonbngch(vdtchphn,
ohm,thaythv.v)trnftaphitoccbinmtcchrrng,nghalcn
vit:
a=sym(a)
b=sym(b)
c=sym(c)
x=sym(x)
haynginl:
symsabcx
Ni chung l ta c th dng sym hay syms to cc bin ch nhng nn
dngsymstitkimthigian.

2.Binigiasvch:
a.Toccbinthcvphc:Lnh symchophptamtccthuctnh

tonhccaccbinchbngcchdngtuchnreal.Phtbiu:
x=sym(x,real);
y=sym(y,real);
hayhiuquhn:
86

symsxyreal
z=x+i*y
torabinchxvycthuctnhlsthc.cbit:
f=x^2+y^2
thcslskhngm.Nhvyzlbinphcvcclnh:
conj(x)
conj(z)
expand(z*conj(z))
choktqu:
returnthecomplexconjugatesofthevariables
x
xi*y
x^2+y^2
Lnhconjltonttosphclinhp.
xathuctnhrealcaxtadnglnh:
symsxunreal
hay:
x=sym(x,unreal)
Lnhclearxkhngxothuctnhsrealcax.
b.Tocchmtrutng:Nutamuntomthmtrtng(nghal
mthmkhngxcnh)f(x)cndnglnh:
f=sym(f(x))
Khinyfhotngnhlf(x)vcthxlbngcclnhtoolbox.Vd
tnhviphnbc1tavit:
df=(subs(f,x,x+h)f)/h
hay
symsxh
df=(subs(f,x,x+h)f)/h
trv:
df=
(f(x+h)f(x))/h
ngdngnycahm symsrthuchtrongbiniFourrier,Laplacev
z.
c.DngsymtruycpcchmcaMaple:Tacthtruycphmgiai
thak!caMaplekhidngsym.
kfac=sym(k!)
tnh6!hayk!tavit(lutrongct5_1.m):
87

symskn
subs(kfac,k,6)
ans=
720
subs(kfac,k,n)
ans=
n!
haynutnh12!tacngcthvit:
prod(1:12)
d.Vdtomatrnch:Mtmatrnvnglmatrnmhngsauc
cbngcchdchccphntcahngtrci1ln.Tatomtmatrn
vngAbngccphnta,bvc:
symsabc
A=[abc;bca;cab]
ktqu:
A=
[a,b,c]
[b,c,a]
[c,a,b]
DoAlmatrnvngtngmihngvctnhnhau:
sum(A(1,:))
ans=
a+b+c
sum(A(1,:))==sum(A(:,2))
ans=
1
BygitathayA(2,3)bngbetavbbngalpha:
symsalphabeta

A(2,3)=beta;
A=subs(A,b,alpha)
A=
[a,alpha,c]
[alpha,c,beta]
[c,a,alpha]
Tvdnytathydngccitngchcngtngtnhdngstrong
MATLAB.
88

e.Binchmcnh:Khidngcchmtonhc,vicchnccbinc
lpthngrtrrng.Vdxembngsau:

Hmtonhc
LnhMATLAB

f=xn
f=x^n
g=sin(at+b)
g=sin(a*t+b)
h=Jv(z)
h=besselj(nu,z)

Nutatmohmcacchmnynhngkhngmtbinclp
(nghalohmtheobinno)thktqul:
f=nxn1
g=acos(at+b)
h=Jv(z)(v/z)Jv+1(z).
Nhvyccbinclplx,tvz.MATLABhiuccbinclpl
ccchthngvnmcuibngchcinhx,y,z.Khikhngthyccch
ciny,MATLABstmchgnnhtvcoilbinclp.Ccbinkhc
nh n, a, b v v c coi l hng hay thng s. Tuy nhin ta c th ly o
hmcaftheonbngcchvitrbinclpra.Tadngcclnhsauto
racchm(lutrongct5_2.m):
symsabnnutxz
f=x^n;
g=sin(a*t+b);
h=besselj(nu,z);
ohmhmftavit:

diff(f);

ans=

x^n*n/x
Trongvdtrnxlbinclp.Numuntnhohmcaftheontacn
vit:
diff(f,n)

ans=

x^n*log(x)

4.Tocchmtonhcbngch:
a.Dngccbiuthcch:Cclnh:
symsxyz
89

r=sqrt(x^2+y^2+z^2)
t=atan(y/x)
f=sin(x*y)/(x*y)
toraccbiuthcchr,tvf.Tacthdngcclnhdiff,int,subshaycc
lnhSymbolicMathToolboxkhcxlccbiuthcnhvy.
b.ToccMfile:Mfilechophptadngcchmtngquthn.Vd
ta mun to ra hm sinc = sin(x)/x ta s vit mt Mfile (sinc.m) c ni dung
nhsau:
functionz=sinc(x)
ifisequal(x,sym(0))
z=1;
else
z=sin(x)/x;
end
Tacthmrngccvdnhvychocchmvbinkhcnhau.

3.TNHTON
1.ohm:Tatobiuthcch:
symsax
f=sin(a*x)
Vyth:
df=diff(f)
tnhohmcahmf(x)theox.Ktqul:
df=
cos(a*x)*a
tnhohmcaftheoatavit:
dfa=diff(f,a)
ktqu:
dfa=
cos(a*x)*x

Hmtonhc
LnhMATLAB
f=xn
f=x^n
1
f=nxn
diff(f)haydiff(f,x)
g=sin(at+b)
g=sin(a*t+b)
g=acos(at+b)
diff(g)haydiff(g,t)
90

h=besselj(nu,z)
h=Jv(z)
h = Jv(z)(v/z) diff(h)haydiff(h,z)
Jv+1(z)

tnhohmbc2caftheoxvatavit:
diff(f,2)
ans=
sin(a*x)*a^2
diff(f,x,2)
ans=
sin(a*x)*x^2
Hmdiffcthdngislmatrn.Trongtrnghpnyohmc
thchintrntngphnt.Vd:
symsax
A=[cos(a*x),sin(a*x);sin(a*x),cos(a*x)]
ktqu:
A=
[cos(a*x), sin(a*x)]
[sin(a*x), cos(a*x)]
lnh:
dy=diff(A)
choktqu:
dy=
cos(a*x)*a]
[sin(a*x)*a,
[cos(a*x)*a,
sin(a*x)*a]
TakhostbinittoEuclid(x,y,z)sangtocu(r, , )thchin
bngcccngthc:
x=rcoscos
y=rcossin
z=rsin
tnh ma trn Jacobi J ca php bin i ny ta dng hm jacobian. nh
nghatonhccaJl:
( x , y , z )

J=
(r , , )
d vit ta dng k t l thay cho v f thay cho . Cc lnh (lu trong
ct5_5.m):
symsrlf
91

x=r*cos(l)*cos(f);
y=r*cos(l)*sin(f);
z=r*sin(l);
J=jacobian([x;y;z],[rlf])
chotaktqu:
J=
[cos(l)*cos(f), r*sin(l)*cos(f),r*cos(l)*sin(f)]
[cos(l)*sin(f),
r*sin(l)*sin(f), r*cos(l)*cos(f)]
[sin(l),

r*cos(l),

0]
vlnh:
detJ=simple(det(J))
cho:
detJ=
cos(l)*r^2
Chlisthnhtcahm jacobianphilvectctvisthhai
lvecthng.HnnadonhthccamatrnJacobianlbiuthclng
gickhphctpnntadnglnhsimplethaythvrtgn.
Bngsautnghphmdiffvhmjacobian

Tonttonhc
LnhMATLAB
f=exp(ax+b)
symsabx
f=exp(a*x+b)
df
diff(x)hay

dx
diff(f,x)
df
diff(f,a)

da
d2f
diff(f,a,2)

2
da
symsrtuv
r=u2+v2
t=arctan(v/u)
r=u^2+v^2
t=atan(v/u)
( r , t )
J=jacobian([r;t],[u,v])

J=
( u , v )

2.Giihn:ohmcamthmlgiihnsauynuntnti:
f ( x + h ) f ( x)
f ( x) = lim

h 0
h
92

Symbolic Math Toolbox cho php gii hn ca mt hm mt cch trc tip


hn.Lnh:
symshnx
dc=limit((cos(x+h)cos(x))/h,h,0)
choktqu:
dc=
sin(x)
v:
limit((1+x/n)^n,n,inf)
cho:
ans=
exp(x)
minh ho 2 trong s cc gii hn quan trng ca ton hc:o hm(trong
trnghpcosx)vhmm.Trongkhinhiugiihn:
lim f( x)
x a

lhaipha(nghalktqunhnhauchodxtintibnphihaybntri
caa)licnhnghmgiihnphivtrikhcnhau.Do3giihn:
1
1
1
lim , lim , lim
x0 x
x 0 x
x +0 x
cho3ktqukhcnhau:khngxcnh,v+
TrongtrnghpkhngtntigihnSymbolicMathToolboxtrvktqu
NaN.Vd:
limit(1/x,x,0)
cho:
ans=
NaN
Lnh:
limit(1/x,x,0,left)
cho:
ans=
inf
Lnh:
limit(1/x,x,0,right)
cho:
ans=
inf
Nhvylimit(f)tngngvilimit(f,x,0).Bngsauchoccgiihn:
93

Hmtonhc
LnhMATLAB
lim f( x)
limit(f)
x 0
lim f( x)
lim f( x)

limit(f,x,a)
limit(f,a)
limit(f,x,a,left)

lim f( x)

limit(f,x,a,right)

x a

x a

x+a

hay

3.Tchphn:
a.Ccvnchung:Nuflmtbiuthcchth int(f)tmmtbiu
thckhcFsaochodiff(F)=f.Nhvy int(f)chotatchphnbtnhcaf.
Tngtnhohm int(f,v)lytchphntheobinclpv.Tacbng
sau:

Hmtonhc
LnhMATLAB
xn +1
int(x^n)hay
n
=

x
dx

int(x^n,x)
n+1

int(sin(2*x),0,pi/2)hay
2
int(sin(2*x),x,0,pi/2)
sin( 2x)dx = 1
0

g=cos(at+b)
1
g( t)dt = a sin(at + b)

g=cos(a*t+b)
int(g)hay
int(g,t)

J1 ( z)dz = J 0 ( z)

int(besselj(1,z)hay
int(besselj((1,z),z)

KhiMATLABkhngtmctchphnnvitlilnhnhpvo.
b.Tchphnvihngsthc:Mttrongccvnkhitnhtchphnl
2

gitrcaccthngs.Taxthm e ( kx ) .Hmnyrrnglcgitrdng
vimikvxvcdnghnhchung.Gitrcahmtinn0khix
1
vimisthck.Talyvd k =
vvthcahmbngcclnh(
2
lutrongct5_6.m):
symsx
k=sym(1/sqrt(2));
f=exp((k*x)^2);
ezplot(f)
94

TuynhinnhnMaplekhngcoik2vx2lnhngsdngmchlccbin

hnhthc,khngcthuctnhtonhc.Dovykhitnh e ( kx ) dx bngcc

lnh:
symsxk;
f=exp((k*x)^2);
int(f,x,inf,inf)
ktqusl:
Definiteintegration:Cantdetermineifthe
integralisconvergent.
Needtoknowthesignof>k^2
Willnowtryindefiniteintegrationandthentakelimits.
Warning:Explicitintegralcouldnotbefound.
ans=
int(exp(k^2*x^2),x=inf..inf)
TrongphnsauchngtasxtcchlmchoMATLABhiurngklsthc
vdocoik2lsdng.
c.Ccbinthctheosym:Chl Maplekhngthxcnhcdu
cak2.Vychngtagiiquytkhkhnnynhthno?Cutrlillm
choktrthnhsthcbngdnglnh sym.Mtcimcchcasymgi
l tu chn real cho php ta khai bo k l bin thc. Do vy tch phn trn
hontontnhctrongtoolboxnhcclnh:
symskreal
int(f,x,inf,inf)
ktqul:
ans=
signum(k)/k*pi^(1/2)
ChlkbygilitngchtrongvnglmviccaMATLABvl
binthctrongvnglmviccaMaple.Khinhplnh:
cleark

tachxocktrongvnglmviccaMATLAB.Munlchokkhngcn
lsthctrongvnglmviccaMapletaphidnglnh:
symskunreal.
Tacbngsau:

95

Hmtonhc
f( x) = e kx

f( x)dx
f( k)dk

int(f,k)

f( x)dx
0

g( x) = e ( kx )

g( x)dx

LnhMATLAB
symskx
f=exp(k*x)
int(f)hayint(f,x)
int(f,0,1)hay
int(f,x,0,1)
symskxreal
g=exp((k*x)^2)
int(g,inf,inf)hay
int(g,x,inf,inf)

4. Tnh tng: Ta c th tnh tng biu thc ch khi chng tn ti bng cch
dnglnhsymcum.Vdchui:
1
1
1 + 2 + 2 +
2
3
chotngl2/6cnchui:

1+x2+x3+...
chotngl1/(1x).Cctngctnhnhsau(lutrongct5_7.m):
symsxk
s1=symsum(1/k^2,1,inf)
s2=symsum(x^k,k,0,inf)
s1=
1/6*pi^2
s2=
1/(x1)

5.ChuiTaylor:Chohmf(x).Phtbiu:
T=taylor(f,8)
choktqu:
T=
1/9+2/81*x^2+5/1458*x^4+49/131220*x^6
l khai trin Taylor ca f(x) ln cn x = 0(khai trin MacLaurin) c cha 8 s
hngkhc0.Phtbiu:
symsx
g=exp(x*sin(x))
96

t=taylor(g,12,2)
torakhaitrinTaylorcaf(x)tix=2vchan12shngkhc0.Tav
cc hm ny ln cng mt th thy c kh nng xp x ca chui
Taylorvihmthcg(lutrongct5_8.m):
xd=1:0.05:3;
yd=subs(g,x,xd);
ezplot(t,[1,3]);
holdon;
plot(xd,yd,r.)
title(XapxiTaylor);
legend(Ham,Taylor)
Xap xi Taylor

Ham

Taylor
6

1
1
1.5
2
2.5
3

x
Tiptadnglnh:
pretty(T)
inktqudidngccbiuthctonhcdc.

6.Tnhtonmrng:Taxthm:
1
f ( x) =

5 + 4 cos x
Cclnh:
symsx
f=1/(5+4*cos(x))
lubiuthcchnhnghahmf(x).

SymbolicMathToolboxcungcpmtbcclnhddngvth
cc biu ch, bao gm cc ng cong trong mt phng(ezplot), cc ng
ng mc(ezcontour v ezcontourf), cc mt cong(ezsurf, ezsurfc, ezmesh v
ezmeshc),thtrongtocc(ezpolar)vngcongdidngthngs
97

(ezplotvezplot3)vmtdidngthngs(ezsurf).Trongphnnychng
taxemcchdnghmezplotvthhmf(x).thcahmnhsau:
Phmvimcnhkhivthcahml[22].chcthphmvi
vthtadnglnh:
ezplot(f,[ab])
Lcnythcahmcvtrongon[a,b]
Bygitatmohmbc2caf(x):
f2=diff(f,2)
f2=
32/(5+4*cos(x))^3*sin(x)^2+4/(5+4*cos(x))^2*cos(x)
Tacthnhplnh:
f2=diff(f,x,2).
Tavthcaf2:
ezplot(f2)
axis([2*pi2*pi52])
Tthtathyrnggitrcaf(x)nmtrongkhong[4,1].Gitrmaxv
mincaf(x)xuthintif(x)=0.Phtbiu:
f3=diff(f2);
cho
32/(5+4*cos(x))^3*sin(x)^2+4/(5+4*cos(x))^2*cos(x)
v:
pretty(f3)
cho:
sin( x)3
sin( x) cos( x)
sin( x)
384
+ 96
4

4
3
( 5 + 4 cos( x))
( 5 + 4 cos( x))
( 5 + 4 cos( x))2
Tartgnf3vvitlididngdc:
f3=simple(f3);
pretty(f3)
Ktqul:

sin( x)(96 sin( x)2 + 80 cos( x) + 80 cos( x)2 25)

4
( 5 + 4 cos( x))4

Bygitatmccgitrzerocuf3bnglnh:
z=solve(f3)
ktquchotamatrn:
98

z=
[

0]
[atan((25560*19^(1/2))^(1/2)
,
10+3*19^(1/2))]
[atan((25560*19^(1/2))^(1/2),10+3*19^(1/2))]
[atan((255+60*19^(1/2))^(1/2)/(103*19^(1/2)))+pi]
[atan((255+60*19^(1/2))^(1/2)/(103*19^(1/2)))pi]
Mihnglmtnghimcaf(x).Lnh:
format;
zr=double(z)
convertsthezerostodoubleform.
zr=

0
0

2.4483
2.4483
Nh vy ta tm c 5 nghim. Tuy nhin thcaf3chothytacha
tmnghimcan(lutrongct5_9.m).
ezplot(f3)
holdon;
plot(zr,0*zr,ro)
plot([2*pi,2*pi],[0,0],g.);
title(Zerosoff3)
iunyxyradof(x)chashngsinx,bng0ticcgitrnguynln
nhnghm solve(sin(x))licharagitr0tix=0.Chngtacthnhn
cttcccnghimbngcchbinizr=[0zr(4)pi2*pizr(4)]bngcch
nhn2vczr=[zr2*pizrzr+2*pi]
Bygitavzrbinilnthcaf3:
plot(zr,0*zr,kx)
im0utincaf(x)tmbi solveltix=0.Chngtathayth0vo
binchtrongf2:

f20=subs(f2,x,0)
tmgitrtngngcaf(0).Ktqul:

f20=

0.0494
Trn th ca f(x) gi tr ny ch l cc tiu a phng. Ta th hiu iu
nytrnthbngcclnh:
99

clf
ezplot(f2)
axis([2*pi2*pi4.251.25])
ylabel(f2);
title(Vedothif2=f(x))
holdon
plot(0,double(f20),ro)
text(1,0.25,Localminimum)
Tthtathyrngimcctiuxyratixgn.Tacthtnhchnh
xc l im cc tiu ng ti bng cch dng cc lnh theo trnh t sau.
Trchttathayvof(x):
simple([subs(f3,x,sym(pi)),subs(f3,x,sym(pi))])
Ktqu:
ans=
[0,0]
Nhvyx=limcbitcaf(x).Tathyrngx=limcctiu
toncccaf2.
m1=double(subs(f2,x,pi));
m2=double(subs(f2,x,pi));
plot(pi,m1,go,pi,m2,go)
text(1,4,Globalminima)
Gitrcctiul:
[m1m2]
ans=
44

Ccphntchtrnchothylphmvigitrcaf(x)lt[4,1].Tatiptc
kimtraccim0khcchobisolve.Trchttatchnghimth4trongz
vgnnchomtbinring:
s=z(4)
vnhncktqu:
s=
atan((255+60*19^(1/2))^(1/2)/(103*19^(1/2)))+pi
Thchin:
sd=double(s)
nhncgitrscas
sd=
100

2.4483
Tavim(s,f2(s)theof2:
M1=double(subs(f2,x,s));
plot(sd,M1,ko)
text(1,1,Globalmaximum)
thyclslimmax.GitrmaxnylM1=1.0051

Bygitatchphnf(x)hailnbnglnh:

g=int(int(f2))
vcktqu:
g=
8/(tan(1/2*x)^2+9)
ykhngphilhmf(x)taxtbanu.Saikhcgiag(x)vf(x)l:

d=fg
chota:
d=
1/(5+4*cos(x))+8/(9+tan(1/2*x)^2)
pretty(d)
1
8
+

5 + 4 cos( x) 9 + tan(1 / 2 x)2


Tacthrtgndbnglnhsimple(d)haysimplify(d).Chaichoktqu:
ans=
1
iunyminhhochokhinimlohmhmf(x)hailnvritchphn
kt qu hai ln ta nhn c mt hm khc vi f(x) bi mt hm tuyn tnh
cax.

Cuicngtchphnf(x)mtlntac:

F=int(f)
F=
2/3*atan(1/3*tan(1/2*x))
bao gm c hm arctan.Nh vy F(x) l nguyn hm ca mt hm lin tc
nhngbnthnlilhmkhnglintcmcthnhsau:
ezplot(F)
HmF(x)ginonti.

4.RTGNVTHAYS
1.Rtgnbiuthc:Taxt3biuthckhcnhau(lutrongct5_10.m):
101

symsx
f=x^36*x^2+11*x6
g=(x1)*(x2)*(x3)
h=x*(x*(x6)+11)6
Thchincclnh:
pretty(f),pretty(g),pretty(h)
tanhnc:

f=x36x2+11x6

g=(x1)(x2)(x3)

h=x(x(x6)+11)6
C 3 biu thc ny l cc dng biu din ton hc khc nhau ca cng mt
hm ton hc l a thc bc 3 theo x. Mi mt dng thch hp vi mt
dng tnh ton. Dngthnhtfldngchungnhtthngcdngbiu
dinathc.Nnginlmtthptuyntnhcaccsmcax.Dng
th 2, hm g, l dng phn tch thnh tha s. N biu din nghim ca a
thc.Tuynhinkhngphaiathcnocngcnghim,nghalcthphn
tchthnhthas.Dngth2ldngHornercaathc.Nrttindng
tnhtrscaathctimtgitrnocax.

SymbolicMathToolboxcungcpmtshmdngbiniccbiu
thc i s v lng gic thnh cc biu thc n gin hn. Chng gm:
collect,expand,horner,factor,simplify,vsimple.
a.collect:Phtbiu:
collect(f)
xemfnhmtathcgmccbinchxvgpttccchcngbccax.
i s th 2 ca ch r bin nh gp nu c nhiu in trong biu thc. Sau
ylmtsvd:

f
collect(f)
(x1)(x2)(x3)
x^36*x^2+11*x6
x*(x*(x6)+11)6
x^36*x^2+11*x6
(1+x)*t+x*t
2*x*t+t

b.expand:Phtbiu:
expand(f)
khaitrinbiuthc.Sauylmtsvd:

102

f
a*(x+y)
(x1)*(x2)*(x3)
x*(x*(x6)+11)6
exp(a+b)
cos(x+y)
cos(3*acos(x))

expand(f)
a*x+a*y
x^36*x^2+11*x6
x^36*x^2+11*x6
exp(a)+exp(b)
cos(x)*cos(y)
sin(x)*sin(y)
4*x^33*x

c.horner:Phtbiu:
horner(f)
binimtathcthnhdngHornerhaybiudinlngnhau.Vd:

f
x^3-6*x^2+11*x-6
1.1+2.2*x+3.3*x^2

horner(f)
-6+(11+(-6+x)*x)*x
11/10+(11/5+33/10*x)*x

d.factor:Nuflathchshut,phtbiu:
factor(f)
biudinfnhltchcaccathccbcthphnvihshut.Vd:

f
factor(f)
x^36*x^2+11*x6
(x1)*(x2)*(x3)
x^36*x^2+11*x5
x^36*x^2+11*x5
x^6+1
(x^2+1)*(x^4x^2+1)

y l mt v d khc v phn tch a thc xn +1 thnh tha s (lu trong


ct5_11.m):
symsx;
n=1:9;
x=x(ones(size(n)));
p=x.^n+1;
f=factor(p);
[p;f].
trvmatrnviccathcctthnhtvccthasctth2:
[x+1,

x+1]
[x^2+1,

x^2+1]
103

[x^3+1, (x+1)*(x^2x+1)]
[x^4+1,x^4+1]
[x^5+1,(x+1)*(x^4x^3+x^2x+1)]
[x^6+1,(x^2+1)*(x^4x^2+1)]
[x^7+1,(x+1)*(1x+x^2x^3+x^4x^5+x^6)]
[x^8+1,x^8+1]
[x^9+1,(x+1)*(x^2x+1)*(x^6x^3+1)]
Hm factorcthphntchccitngchcchasnguynthnhtha
s.Vd(lutrongct5_12.m):
one=1
forn=1:11
N(n,:)=sym(one(1,ones(1,n)));
end
[Nfactor(N)]
choktqu:
[1,1]
[11,(11)]
[111,(3)*(37)]
[1111,(11)*(101)]
[11111,(41)*(271)]
[111111,(3)*(7)*(11)*(13)*(37)]
[1111111,(239)*(4649)]
[11111111,(11)*(73)*(101)*(137)]
[111111111,(3)^2*(37)*(333667)]
[1111111111,(11)*(41)*(271)*(9091)]
[11111111111,(513239)*(21649)]

e.simplify:Hm simplifylmthmmnh,dngrtgnccbiuthc.
Sauylmtsvd:

f
simplify(f)
x*(x*(x6)+11)6
x^36*x^2+11*x6
(1x^2)/(1x)
x+1
(1/a^3+6/a^2+12/a+8)^(1/3)
((2*a+1)^3/a^3)^(1/3)
symsxypositive
log(x)+log(y)
log(x*y)
104

exp(x)*exp(y)
besselj(2,x)...
2*besselj(1,x)/x+
besselj(0,x)

gamma(x+1)x*gamma(x)
cos(x)^2+sin(x)^2

exp(x+y)
0

0
1

f.simple: Hm simple a ra dng ngn nht c th c ca mt biu


thc.Hmnycnhiudng,midngtrvktqukhcnhau.Dng:
simple(f)
hinthdngngnnht.Vd:

symsx
simple(cos(x)^2+sin(x)^2)
ans=
1
Trongmtstrnghp,pdngsimple2lnnhnchiuqurtgn
caohn.Vd(lutrongct5_13.m):

symsa
f=(1/a^3+6/a^2+12/a+8)^(1/3);
simple(simple(f))
chota:
1/a+2
Trongkhilnh:

symsa
simple(f)
chota:
(2*a+1)/a
Hmsimplecbitchiuqutrnccbiuthclnggic.Sauylmt
svd:

f
simple(f)
cos(x)^2+sin(x)^2
1
2*cos(x)^2sin(x)^2
3*cos(x)^21
cos(x)^2sin(x)^2
cos(2*x)
cos(x)+(sin(x)^2)^(1/2)
cos(x)+i*sin(x)
105

cos(x)+i*sin(x)
cos(3*acos(x))

exp(i*x)
4*x^33*x

2.Thays:Chaihmdngthaytrlsubexprvsubs
a.subexpr:Lnh(lutrongct5_14.m)
symsax
s=solve(x^3+a*x+1)
giiphngtrnh:x^3+a*x+1=0theox.
Ktqu:
[ 1/6*(
108+12*(12*a^3+81)^(1/2))^(1/3)2*a/(108+12*(12*a^3+81)^(1/2))^(1/3)]
[
1/12*(108+12*(12*a^3+81)^(1/2))^(1/3)+a/(
108+12*(12*a^3+81)^(1/2))^(1/3)+1/2*i*3^(1/2)*(1/6*(
108+12*(12*a^3+81)^(1/2))^(1/3)+2*a/(108+12*(12*a^3+81)^(1/2))^(1/3))]
[
1/12*(108+12*(12*a^3+81)^(1/2))^(1/3)+a/(108+12*(12*a^3+81)^(1/2))^(1/3)
1/2*i*3^(1/2)*(1/6*(108+12*(12*a^3+81)^(1/2))^(1/3)+2*a/(
108+12*(12*a^3+81)^(1/2))^(1/3))]
Dnglnhprettynhncdngdchn:

[1/3a]
[1/6%12]
[1/3]
[%1]
[]
[1/3a1/2/1/3a\]
[1/12%1++1/2i3|1/6%1+2|]
[1/3|1/3|]
[%1\%1/]
[]
[1/3a1/2/1/3a\]
[1/12%1+1/2i3|1/6%1+2|]
[1/3|1/3|]
[%1\%1/]

31/2
%1:=108+12(12a+81)
106

Lnhprettythakkhinim%n(nlmtsnguyn)tMaplenhngha
biu thc con gp nhiu ln trong i tng ch. Hm subexpr cho php ta
lu cc biu thc con ny cng nh cc i tng ch c vit trong biu
thccon.Ccbiuthcconclutrongmtmatrnctgilsigma.

Tiptcvdcata:
r=subexpr(s)
chota
sigma=
108+12*(12*a^3+81)^(1/2)
r=

[1/6*sigma^(1/3)2*a/sigma^(1/3)]
[1/12*sigma^(1/3)+a/sigma^(1/3)+1/2*i*3^(1/2)*(1/6*sigma^(1/3)+2*a/sigma^(1/3))]
[1/12*sigma^(1/3)+a/sigma^(1/3)1/2*i*3^(1/2)*(1/6*sigma^(1/3)+2*a/sigma^(1/3))]
tathyrngsubexprtobinsigmatrongvnglmviccaMATLAB.
b.subs:TatmgitrringvvectringcamatrnvngA(lutrong
ct5_15.m)
symsabc
A=[abc;bca;cab];
[v,E]=eig(A)
v=

[1,(a+(b^2b*ac*bc*a+a^2+c^2)^(1/2)b)/(ac),(a(b^2
b*ac*bc*a+a^2+c^2)^(1/2)b)/(ac)]
[1,(bc(b^2b*ac*bc*a+a^2+c^2)^(1/2))/(ac),(b
c+(b^2b*ac*bc*a+a^2+c^2)^(1/2))/(ac)]
[ 1, 1,
1]

E=

[b+a+c,0,0]
[0,(b^2b*ac*bc*a+a^2+c^2)^(1/2),0]
[0,0,(b^2b*ac*bc*a+a^2+c^2)^(1/2)]
Gistamunthaybiuthckhdi:
(b^2b*ac*bc*a+a^2+c^2)^(1/2)
trongvvE.Trchttadngsubexpr:
107

v=subexpr(v,S)
chotaktqu:
S=
(b^2b*ac*bc*a+a^2+c^2)^(1/2)
v=
[(a+Sb)/(ac),(aSb)/(ac),1]
[(bcS)/(ac),(bc+S)/(ac),1]
[1,1,1]
SauthaySvoE:
E=subs(E,S,S)
E=
[S,0,0]
[0,S,0]
[0,0,b+c+a]
Bygigistamuntnhvkhia=10.Tadnglnhsau:
subs(v,a,10)
sthayccbinatrongvbngs10:
[(10+Sb)/(10c),(10Sb)/(10c),1]
[(bcS)/(10c),(bc+S)/(10c),1]
[1,1,1]
ChlccbiuthccSkhngbnhhnggc,nghalbinatrongS
khngcthaybng10.Hm subslhmhuchthaythnhiugitr
canhiubintrongmtbiuthc.TaxemS.Gisngoivicthaya=10ta
cngmunthaygitrb=2vc=10vobiuthc.Cchnginnhtlt
gitra,b,ctrongvnglmviccaMATLAB.Sausubsstnhktqu.
a=10;b=2;c=10;
subs(S)
ans=
8
Lnh subscthkthpvilnh doubletnhtrscamtbiuthcch.
Gistac:
symst
M=(1t^2)*exp(1/2*t^2);
P=(1t^2)*sech(t);
vmunxemtrnthPvMkhcnhaunhthno.Tadngcclnh(ly
ct5_16.m):
ezplot(M);
108

holdon;
ezplot(P)
vcth.Tuynhintavnkhhnhdungcssaikhcgiahaing
cong.Vvytthnchngtakthpsubs,doubleli
T=6:0.05:6;
MT=double(subs(M,t,T));
PT=double(subs(P,t,T));
plot(T,MT,b,T,PT,r.)
title()
legend(M,P)
xlabel(t);
grid
torathnhiumu.

5.GIIPHNGTRNH
1.Giiccphngtrnhis:NuSlbiuthcchth:
solve(S)
tmgitrcabinkttrongSS=0.Vd:
symsabcx
S=a*x^2+b*x+c;
solve(S)
chota:
ans=
[1/2/a*(b+(b^24*a*c)^(1/2))]
[1/2/a*(b(b^24*a*c)^(1/2))]
ylvectchmccphntcanl2nghimcaphngtrnh.

Nu ta mun tm nghim vi mt bin c m t, ta phi ch r bin


nhmtthngsph.VdnutamungiiStheobthphivit:
b=solve(S,b)
vnhncktqu:
b=
(a*x^2+c)/x
Chrngvdnygithitphngtrnhcdngf(x)=0.Nutamungii
phngtrnhcdngf(x)=q(x)taphisdngchui.cbitlnh:
s=solve(cos(2*x)+sin(x)=1)
cho4nghim:
s=
109

[0]
[pi]
[1/6*pi]
[5/6*pi]
Phng trnh x^32*x^2 = x1 gip ta hiu cch gii phng trnh. nh vo
lnh(lutrongct5_17.m):
s=solve(x^32*x^2=x1)
s=
[1/6*(28+84*i*3^(1/2))^(1/3)+14/3/(28+84*i*3^(1/2))^(1/3)+2/3]
[1/12*(28+84*i*3^(1/2))^(1/3)7/3/(28+84*i*3^(1/2))^(1/3)
+2/3+1/2*i*3^(1/2)*(1/6*(28+84*i*3^(1/2))^(1/3)
14/3/(28+84*i*3^(1/2))^(1/3))]
[1/12*(28+84*i*3^(1/2))^(1/3)7/3/(28+84*i*3^(1/2))^(1/3)
+2/31/2*i*3^(1/2)*(1/6*(28+84*i*3^(1/2))^(1/3)
14/3/(28+84*i*3^(1/2))^(1/3))]
Tatnhgitrscanghim:
double(s)
ans=
2.24697960371747+0.00000000000000i
0.80193773580484+0.00000000000000i
0.554958132087370.00000000000000i
N cho thy tt c cc nghim ca phng trnh l s thc. iu ny khng
ng.Dnglnhvpaxcnhchnhxc:
vpa(s,10)
tora:
ans=

[2.246979604+.1e9*i]
[.8019377357+.3e9*i]
[.5549581323.5e9*i]
iu ny ngha l phn o ca s rt nh nhng khc 0. Ta xem mt v d
khc(lutrongct5_18.m):
symsx
s=solve(tan(x)+sin(x)2);
Ktqulmtvect41.Nhtrn,tadnglnhdouble:

X=double(s)
X=
0.88628729156094
110

1.89793604072796

2.07662070137841

2.07662070137841

2. H phng trnh i s: By gi ta xt h phng trnh. Gi s ta c h


phngtrnh(lutrongct5_19.m):
x 2 y 2 = 0

y
x

2
vtacntmxvy.Trchttatoraccitngcnthit:
symsxyalpha
Cnhiucchbiudinnghim.Mttrongcccchlvit:
[x,y]=solve(x^2*y^2,x(y/2)alpha)
vccktqu:
x=
[0]
[0]
[alpha]
[alpha]
y=
[2*alpha]
[2*alpha]
[0]
[0]
Sauvitvectnghim:
v=[x,y]
chota:
v=
[0,2*alpha]
[0,2*alpha]
[alpha,0]
[alpha,0]
Taxttipphngtrnh(lutrongct5_20.m):
eqs1=x^2*y^2=1,x1/2*yalpha

[x,y]=solve(eqs1)
toraccnghim:
x=

111

[1/2*alpha+1/2*(alpha^2+2)^(1/2)]
[1/2*alpha1/2*(alpha^2+2)^(1/2)]
[1/2*alpha+1/2*(alpha^22)^(1/2)]
[1/2*alpha1/2*(alpha^22)^(1/2)]

y=

[alpha+(alpha^2+2)^(1/2)]
[alpha(alpha^2+2)^(1/2)]
[alpha+(alpha^22)^(1/2)]
[alpha(alpha^22)^(1/2)]
Cchgnccnghimnhtrnchthchhpvihctphngtrnh.Vih
cnhiuphngtrnh, solvetoramtcutrcmcctrngcanlcc
nghim.Takhosthphngtrnh:
u 2 + v 2 = a 2

u + v = 1
2
a 2a = 3
Lnh(lutrongct5_21.m):
S=solve(u^2v^2=a^2,u+v=1,a^22*a=3)
Choktqu:
S=

a:[2x1sym]
u:[2x1sym]

v:[2x1sym]
CcnghimlcctrngcaS.l:
S.a
Tora:
ans=
[1]
[3]
Tngttatmcnghimuvv.CutrcSbygicthcxlbng
trngvchstruycpnccphnringbitcanghim.Vdnuta
munkimtranghimth2,tacthdngphtbiusau:
s2=[S.a(2),S.u(2),S.v(2)]
trchthnhphnt2camitrng.
s2=
[3,5,4]
112

Phtbiu:
M=[S.a,S.u,S.v]
ToramatrnnghimM:
M=
[1,1,0]
[3,5,4]
mmihnglmtnghimcah.
Nu h phng trnh l tuyn tnh ta c th dng ma trn gii h. V d
(lutrongct5_22.m):
clearuvxy
symsuvxy
S=solve(x+2*yu,4*x+5*yv);
sol=[S.x;S.y]
v:
A=[12;45];
b=[u;v];
z=A\b
cho:
sol=
[5/3*u+2/3*v]
[4/3*u1/3*v]

z=
[5/3*u+2/3*v]
[4/3*u1/3*v]
Nhvytaccngmtnghimchodphngphpgiikhcnhau.

3.Giiphngtrnhviphn:Hm dsolvetnhnghimbngchcaphng
trnh vi phn thng. Cc phng trnh c m t bng cc biu thc ch
cha cc ch ci D ch cc o hm. K hiu D2,D3,. . ,Dn tng ng vi
o hm cp 1,cp 2,..,cp n. Nh vy D2y trong Symbolic Math Toolbox l
d2 y
. Bin ph thuc l bin c x l bi D v bin c lp mc nh l t.
dx 2
NhvytnccbinktkhngccD.Cthdngbinclpkhc
bngcchchrannhlthngscuicngtronglnhdsolve.iukinu
c th m t nh l mt phng trnh ph. Nu iu kin u khng c,
113

nghimschacchngstchphnC1,C2v.v.Cphpcadsolvecm
ttrongbngsau:

Cphp
Phmvi
y=dsolve(Dyt=y0*y)
Mtphngtrnh,mtnghim
[u,v]=dsolve(Du=v,Dv=u)
Haiphngtrnh,hainghim
S=dsolve(Df=g,Dg=h,Dh=f) Baphngtrnh,ralcutrc
S.f,S.g,S.h
Nghim

Vd1:Tadnglnh:
dsolve(Dy=1+y^2)
vcktqu:
ans=
tan(tC1)
mtiukinu,tadng:
y=dsolve(Dy=1+y^2,y(0)=1)
vc:
y=
tan(t+1/4*pi)
Ch l y trong vng lm vic ca MATLAB nhng bin c lp t th
khng. Nh vy lnh diff(y,t) gy ra li. t t vo vng lm vic ca
MATLABphidngsymst
Vd2:Ccphngtrnhphituyncthcnhiunghim,thmchngayc
khichoiukinu.
x=dsolve((Dx)^2+x^2=1,x(0)=0)
choktqu:
x=
[sin(t)]
[sin(t)]
Vd3:ylmtphngtrnhbc2vi2iukinu.Lnh(lutrong
ct5_23.m):
y=simplify(dsolve(D2y=cos(2*x)y,y(0)=1,Dy(0)=0,x))
tora:
y=
2/3*cos(x)^2+1/3+4/3*cos(x)
giiphngtrnh:
114

d3u
=u

dx 3
u(0) = 1, u(0) = 1, u(0) =
tadngcclnhsau(lutrongct5_24.m):
u=dsolve(D3u=u,u(0)=1,Du(0)=1,D2u(0)=pi,x)

4.Hphngtrnhviphn:Hmdsolvecthxlhphngtrnhviphn,
chaykhngciukinu.Vdtachphngtrnh:

y=3f+4g

g=4f+3g
giihtadnglnh(lutrongct5_25.m):
S=dsolve(Df=3*f+4*g,Dg=4*f+3*g)
NghimctnhvtrvdidngcutrcS:
S=

f:[1x1sym]

g:[1x1sym]
Tacthxcnhgitrcafvgbnglnh:
f=S.f
f=

exp(3*t)*(cos(4*t)*C1+sin(4*t)*C2)

g=S.g

g=

exp(3*t)*(sin(4*t)*C1cos(4*t)*C2)

Nutachociukinuthvit:
[f,g]=dsolve(Df=3*f+4*g,Dg=4*f+3*g,f(0)=0,g(0)=1)

f=
exp(3*t)*sin(4*t)
g=
exp(3*t)*cos(4*t)

BngsaumtmtvivdvcphpcaSymbolicMathToolbox.

115

Phngtrnhviphn
dy
+ 4 y( t ) = e t

dt
y(0) = 1
d2 y
+ 4 y( x) = e 2 x
2

dx
y(0) = 0 , y( ) = 0
d2 y
= xy( x)
dx 2
1
y(0) = 0 , y( 3) = K 1 ( 2 3 )
3

LnhMATLAB
y=dsolve(Dy+4*y=exp(t),y(0)=1)

y=dsolve(D2y+4*y=exp(2*x),
y(0)=0,y(pi)=0,x)
y=dsolve(D2y=x*y,y(0)=0,
y(3)=besselk(1/3,2*sqrt(3))/pi,
x)

(phngtrnhAiry)

6.BINITCHPHN
1.BiniFouriervFourierngc:

a. Bin i Fourier: Bin i Fourier dng bin i phng trnh vi


phnthnhphngtrnhis.Cphp:
F=fourier(f)

F=fourier(f,v)

F=fourier(f,v,u)

F=fourier(f)ldngbiniFouriercabinktvhngfvibin
c lp mc nh l x. Kt qu tr v mc nh l hm theo w. i Fourier
thchintrnhmcaxvtrvhmcaw:

f=f(x)F=F(w)
Nuf=f(t)thbinitrvF=F(t).HmF(w)cnhngha:

F( w) = f( x)e iwxdx

F=fourier(f,v)lmchoFlhmcavthayvcaw.Trong:

F( v) = f( x)e ivxdx

F=fourier(f,v,u)lmchoflhmcauvFlhmcavthaychobin
mcnhxvw:

F( v ) = f( u)e ivudu

116

TacthxemccbiniFouriertrongbngsau:

BiniFourier
LnhMATLAB
2
f=exp(x^2)
f ( x) = e x

fourier(f)cho:
2
F[f ]( w) = f( x)e iwxdx = e w / 4
pi^(1/2)*exp(1/4*w^2)

g( w ) = e w

F[g ]( t ) =
f( x) = xe

g( w)e

|x|

F[f ]( u) =

iwt

dt =

1 + t2

f( x)e

ixu

dx =

4i

(1 + u 2 )2 u

g=exp(abs(w))
fourier(g)cho
2/(1+t^2)
f=x*exp(abs(x))
f=x*exp(abs(x))cho
4*i/(1+u^2)^2*u

b. Bin i Fourier ngc: Khi bit hm nh Fourier dng bin i

Fourierngctatmchmgc.Cphp:
f=ifourier(F)
f=ifourier(F,u)
f=ifourier(F,v,u)

f = ifourier(F) l bin i Fourier ngc ca mt i tng k t v


hngFvibinmcnhlw.Ktqulhmcax:
F=F(w)f=f(x)
NuF=F(x),ifouriertrlihmcatf=f(t).Trong:
1
f ( x) =
F( w)e iwxdw

f=ifourier(F,u)lmchofthnhhmcauthayvcabinmcnhx.
Trong:
1
f( u) =
F( w)e iwudw

f=ifourier(F,v,u)coiFlhmcavvflhmcauthaychoccbin
mcnhwvx.
1
f( u) =
F( u)e ivudv

117

BiniFourierngc
w

f( w) = e 4 a
2

F [f ]( x) =

f( w)e iwxdw =

a ( ax ) 2
e

g( x) = e |x|
1

F [g ]( t ) =

g(x)e

itx

dx =

1 + t2

f( w) = 2e |w| 1

F 1[f ]( t ) = f( w)e iwtdw =

2 ( t )(1 t 2 )
(1 + t )

LnhMATLAB
symsareal
f=exp(w^2/(4*a^2))
F=ifourier(f)
F=simple(F)cho
ha*exp(x^2*a^2)/pi^(1/2)
g=exp(abs(x))
ifourier(g)cho
1/(1+t^2)/pi

f=2*exp(abs(w))1
simple(ifourier(f,t))cho
(2pi*Dirac(t)pi*Dirac(t)*t^2)/
(pi+pi*t^2)

2.BiniLaplacevLaplacengc:

a. Bin i Laplace: Bin i Laplace dng bin i phng trnh vi


phnthnhphngtrnhis.Cphp:
laplace(F)
laplace(F,t)
laplace(F,w,z)
L=laplace(F)lbiniLaplacecahmktvhngFvibinc
lpt.Mcnhtrlilhmcas.BiniLaplacecpdngchohm
catvtrlihmcas.
F=F(t)L=L(s)
NuF=F(s)Laplacetrlihmcat.Trong:

L(s) = F( t )e st dt
0

L=laplace(F,t)lmchoLthnhhmcatthaychobinmcnhs.

L( t ) = F( x)e txdx
0

L=laplace(F,w,z)lmchoLthnhhmcazvFlhmcatthaychocc
binmcnhsvt.

L( z) = F( w)e zwdw
0

118

BiniLaplace
f( t) = t 4

L[f ] = F( t )e stdt =
0

f=t^4
laplace(f)cho
24/s^5

24

s5

g( s ) =

L[g ]( t ) = g(s)e st ds =
0

f( t) = e

at

L[f ]( x) = f( t )e txdt =
0

LnhMATLAB

x+a

g=1/sqrt(s)
laplace(g)cho
1/(s^(1/2))*pi^(1/2)
f=exp(a*t)
laplace(f)cho
1/(x+a)

b.BiniLaplacengc:Khicnhcahm,tacthtmlihmgc

bngbiniLaplacengc.Cphp:
F=ilaplace(L)
F=ilaplace(L,y)
F=ilaplace(L,y,x)
F=ilaplace(L)lbiniLaplacengccamtitngktvhngL
vibinmcnhls.Trvmcnhlhmcat.

L=L(s)F=F(t)
NuL=L(t),ilaplacetrvhmcax.

F( t) =

c + i

L(s)e

st

ds

c i

F=ilaplace(L,y)lmchoFlhmcaythaychobinmcnht.

F( y) =

c + i

L( y)e

sy

ds

c i

F=ilaplace(L,y,x)coiFlhmcaxvLlhmcaythaychobinmcnh
tvs.

F( x) =

c + i

L( y)e

xy

dy

c i

BiniLaplacengc
1

s2
1 c + i
1
L [f ] =
f(s)e stds = t

2 i c i

f ( s) =

LnhMATLAB
f=1/s^2
ilaplace(f)cho
t

119

ta
1 c + i
L1[g ] =
g( t )e xtdt = xe ax

2 i c i
1
f( u) = 2

u a2
1 c + i
1
1
1
L [f ] =

g( u)e xudu =

ax
2 i c i
2ae
2ae ax

g( t ) =

g=1/(ta)
ilaplace(g)cho
x*exp(a*x)
f=1/(u^2a^2)
ilaplace(f)cho
1/(2*a*exp(a*x))1/(2*a*exp(a*x))

3.Binizvzngc:
a. Bin i z: Thc hin php bin i z trn h thng ri rc a
phngtrnhviphnvphngtrnhis.Cphp:
F=ztrans(f)
F=ztrans(f,w)
F=ztrans(f,k,w)
F = ztrans(f) l php bin i z ca k hiu v hng f vi bin c lp mc
nhn.Mcnhtrvhmcaz.Binizcnhngha:

f( n)
F( z) = n
0 z
Trongnlbinkhiucaf.Nuf=f(z)th ztranstrvhmcawF=
F(w).
F=ztrans(f,w)lmchofthnhhmcawthaychobinmcnhz.

f( n)
F( w) = n

0 w
F=ztrans(f,k,w)coiflhmcak

f( k)
F( w) = n
0 k

Biniz
LnhMATLAB
4
f( n) = n
f=n^4
3
2

z( z + 11z + 11z + 1) ztrans(f)cho


Z[f ] = f( n)z n =
z*(z^3+11*z^2+11*z+1)/(z1)^5
( z 1)5
n =0

g( z ) = a z
g=a^z

w
ztrans(g)cho

Z[g ] = g( z)w z =
aw
w/(aw)
z =0
f( n) = sin an
f=sin(a*n)
120

Z[f ] =

w sin a

f( n)w n = 1 2 w cos a + w 2

n=0

ztrans(f)
w*sin(a)/(12*w*cos(a)+w^2)

b.Binizngc:Khicnhcabiniztacthtmligccan
nhbinizngc.Cphp:
f=iztrans(F)
f=iztrans(F,k)
f=iztrans(F,w,k)
f = iztrans(F) l bin i z ngc ca i tng k hiu F vi bin c lp z.
Mcnhtrvhmcan:
1
f( n) =
F( z)z n 1dz n = 1,2 ,....

2 i |z|= R
TrongRlsdngcchnsaochohmF(z)lgiitchtrnvngoi
vngtrn|z|=R.NuF=F(n)iztranstrvhmcak:f=f(k).
f=iztrans(F,k)coiflhmcakthaychobinmcnhn.Trongkli
tngkhiuvhng.
f=iztrans(F,w,k)coiFlhmcawthayvcabinmcnh.

Binizngc
LnhMATLAB
2z
f=2*z/(z2)^2

f ( z) =
2
( z 2)
iztrans(f)cho
1
n*2^n
Z 1[f ] =
f(s)z n 1dz = n 2 n

2 i |z|= R
n( n + 1)
g=n*(n1)/(n^2+2*n+1)
g( n ) = 2

n + 2n + 1
iztrans(g)cho
1
Z 1[ f ] =
g( n)n k 1dn = 1k (1)^k

2 i |z|= R
z
f=z/(za)

f ( z) =
za
iztrans(f)cho
1
a^k
Z 1[f ] =
f( z)z k 1dz = a k

2 i |z|= R
x( x e z )
f = x*(xexp(z))/(x^22*x*exp(z) +

f ( x , z) = 2
z
2z
exp(2*z))
x 2 xe + e
1
Z 1[f ] =
f( x , z)z k 1dx = e kz iztrans(f)cho

2 i |x|= R
exp(z)^k

121

CHNG6:MATLABVIUKHINTNG

1.CCVNCHUNG
1.Ccdngmhnhhthng:xydngmhnhcahthng,MATLAB
cung cp mt s lnh. M hnh h thng m t bng hm truyn c xy
dngnhlnhtf(ts,ms)vitslathctsvmslathcmus.Hm
zpk(z, p, k) vi z l vec t im khng, p l vec t im cc v k l h s
khuychitonnmhnhimkhngimcc.Hmss(a,b,c,d)via,b,
c,dlccmatrntonnmhnhkhnggiantrngthi.
V d: Ta to ra mt s m hnh nh cc lnh MATLAB sau(lu trong
ct6_1.m):
clc
ts=[12];
ms=[154];
sys1=tf(ts,ms)

sys2=zpk([611],[51],3)

sys3=ss([12;34],[11;01],[01;12;31],0)
Ktqul:
Transferfunction:
s+2

s^2+5s+4
Zero/pole/gain:
3(s+6)(s1)^2

(s+5)(s1)

a=
x1x2
x112
x234
b=
u1u2
x111
x201
122

c=
x1x2
y101
y212
y331
d=
u1u2
y100
y200
y300
Continuoustimemodel.

2.imccvimzerocahmtruyn:binihthngchobihm
truynthnhhchobiimcc,imzerovhskhuchidnghm
tf2zp.Tacngcthdnghmpole(sys)tmimcccahthngsysv
dunghmzero(sys)tmimkhngcahthngsys
Vd:Chohmtruyn:
s 3 + 11s 2 + 30s

H(s) = 4

s + 9s 3 + 45s 2 + 87 s + 50
Tacntmccimccp,imzerozvhskhuchikcan.Tadng
cclnhMATLABsau(lutrongct6_2.m):
ts=[111300];
ms=[19458750];
[z,p,k]=tf2zp(ts,ms)
z=
0
6
5
p=
3.0+4.0i
3.04.0i
2.0
1.0
k=
1
Nhvy:
123

s(s + 5)(s + 6)
s(s + 5)(s + 6)
=

(s + 1)(s + 2)(s + 3 + 4 j)(s + 3 4 j) (s + 1)(s + 2)(s 2 + 6s + 25)


Khicccimcc,imzerovhskhuchitacthtmlihm
truynbnglnhzp2tf.TadngcclnhMATLABsau(lutrongct6_3.m):
z=[6;5;0];
k=1;
p=[3+4*i;34*i;2;1];
[ts,ms]=zp2tf(z,p,k)

ts=

0111300
ms=

19458750

thycsphnbimkhngvimcccahthngtrnmt
phng phc ta dng hm pzmap. Trc ca thi c chia li bng lnh
sgrid.Ccimkhngbiuthbngvngtrnvimccbiuthbngdu
.TaxtcclnhMATLABsau(lutrongct6_4.m):

clc
sys=zpk([611],[51],3)
axisequal
pzmap(sys)
sgrid

3. Khai trin hm truyn thnh tng cc phn thc n gin: Cho hm


truyn, ta c th khai trin n thnh tng cc phn thc n gin bng lnh
residue.Hmresiduechovectctccphndr,vectctccimccpv
phnnguynk.
Vd:Chohmtruyn:
2s 3 + 9s + 1

H(s) = 3
s + s 2 + 4s + 4
TakhaitrinhbngcclnhMATLABsau(lutrongct6_5.m):
ts=[2091];
ms=[1144];
[r,p,k]=residue(ts,ms)
r=
0.00.25i
0.0+0.25i

H(s) =

124

2.0
p=
0.0+2.0i
0.02.0i
1.0
k=
2
Nhvy:
2 0.25 j 0.25 j
2
1
+
+

=2
+ 2
H(s) = 2 +
s + 1 s + 2j s 2j
s+1 s +4

Ngcli,cr,p,ktacthtmhmtruynbngcclnhMATLABsau(lu
trongct6_6.m):
r=[0.00.25*i;0+0.25*i;2];
p=[0+2*i;02*i;1];
k=2;
[ts,ms]=residue(r,p,k)

ts=
2091
ms=
1144

4. Bin i hm truyn thnh khng giantrng thi: Cho phng trnh vi


phn:
dn y
d n 1y
dy
a n n + a n 1 n 1 + L + a1

+ a 0 y = u( t )
dx
dx
dx
tx1=y;x2=y;x3=yv.vtachphngtrnhtrngthi:

x=Ax+Bu

y=Cx+Du
gilphngtrnhkhnggiantrngthi
Numthiukhintngchobihmtruyntacthbiniv
khnggiantrngthibnglnhtf2ss.
Vd:Chohmtruyn:
s2 + 7s + 2

H(s) = 3
s + 9s 2 + 26s + 24
Ta bin h v dng khng giantrng thi bng cc lnh MATLAB sau(lu
trongct6_7m):
125

ts=[172];
ms=[192624];
[a,b,c,d]=tf2ss(ts,ms)
a=
92624
100
010
b=
1
0
0
c=
172
d=
0

5.Binikhnggiantrngthithnhhmtruyn:binihchodi
dng khng giantrng thi thnh hm truyn ta dng lnh ss2tf. Ta xt cc
lnhsau(lutrongct6_8.m)
a=[010;001;123];
b=[10;0;0];
c=[100];
d=[0];
[ts,ms]=ss2tf(a,b,c,d,1)
ts=
010.0030.0020.00

ms=
1.003.002.001.00
Nhvyhmtruynl:
10(s 2 + 3s + 2)

G(s) = 3
s + 3s 2 + 2 s + 1

6. Nghim ca phng trnh trng thi: tm nghim ca phng trnh


trngthitadnglnhlsim.
Vd:Chophngtrnhtrngthicamthtuyntnh
126

1
0 x1 1
x& 1 0
x& = 0

0
1 x 2 + 1 u( t )

2
x& 3 6 11 6 x 3 1

y=[110]x
Choiukinu x(0)=[10.50.5].Tm x(t),y(t)viu(t)lhmnv.Ta
dngcclnhMATLABsau(lutrongct6_9.m):
a=[010;001;6116];
b=[1;1;1];
c=[110];
d=0;
x0=[10.50.5];
t=0:0.05:4;
u=ones(1,length(t));
[y,x]=lsim(a,b,c,d,u,t,x0);
plot(t,x,t,y)
Doiukinunnnghimyxutphtt1.5
Khiu(t)lsin2ttatnhpngnhsau(lutrongct6_10.m):
a=[010;001;6116];
b=[1;1;1];
c=[110];
d=0;
x0=[10.50.5];
t=0:0.05:4;
u=sin(2*pi*t);
[y,x]=lsim(a,b,c,d,u,t,x0);
plot(t,x,t,y)

7.Biniskhi:Mtskhiiukhinthngrtphctp.Vvy
tathngphibininvdngnginbnglnhconnect.
Vd:Xtskhisau:

1
4
1

+
+
1
0.5
s+3
s+4
- s+2

1
2
5
4
3

22

5
8

127

Xcnhphngtrnhtrngthivhmtruyncatonbs:
Gi ni v di l t s v mu s ca hm truyn ca khi th i. Ta c cc
lnh(lutrongct6_11.m):
n1=1;d1=1;
n2=.5;d2=1;
n3=4;d3=[14];
n4=1;d4=[12];
n5=1;d5=[13];
n6=2;d6=1;
n7=5;d7=1;
n8=1;d8=1;
nblocks=8;
blkbuild;
q=[10000
21678
32000
43000
54000
63000
74000
85000];
iu=[1];
iy=[5];
[A,B,C,D]=connect(a,b,c,d,q,iu,iy)

A=
8.02.50.5
4.02.00
01.03.0
B=
0.5
0
0
C=
128

001
D=
0
[ts,ms]=ss2tf(A,B,C,D,1)
ts=
0002.0
ms=
1.013.056.080.0
Hmtruyncahl:
C(s)
1

= 3

R(s) s + 13s 2 + 56s + 80

8. Ghp ni cc s khi: ghp ni to nn mt h thng t nhiu h


thngcontacthsdngmtskhnngnhsau:

u1
sys1
y1
sys1

y
u

u2

sys2

sys2
a

u1

sys1

y 2

v1

y1

u1

sys1

z1
y

u
u2

sys2

y 2

v2
u

sys2
e

y1

sys1
z1

v2

u2

sys2

z2

sys1

sys2

a.Ghptheohng:Ghptheohng(hnha)cnghalghpuraca

cc h thng con c u vo khc nhau. Hm sys(sys1,sys2) thc hin vic


ghpny.TaccclnhMATLABsau(lutrongct6_12.m):
clc
sys1=tf(1,[10])
129

sys2=ss(1,2,3,4)
sys=[sys1,sys2]

b.Ghptheoct:Ghptheoct(hnhb)cnghalghpuracah
thngconcchunguvo.TaccclnhMATLABsau(lutrongct6_13.m):
clc
sys1=tf(1,[10])
sys2=ss(1,2,3,4)
sys=[sys1;sys2]

c. Ghp theo ng cho: Khi ghp theo ng cho(hnh c), ta c h


thngmibomcchlycchthngconbanu.ghptadnglnh
append.CclnhMATLAB(lutrongct6_14.m)nhsau:
clc
sys1=tf(1,[10])
sys2=ss(1,2,3,4)
sys=append(sys1,sys2)
d. Ghp song song: Ta dng cch ghp nh trn hnh d. Hm parallel

dng ghp song song cc h thng con. Cc lnh MATLAB (lu trong
ct6_15.m)nhsau:
clc
sys1=tf(1,[10])
sys2=ss(1,2,3,4)
sys=parallel(sys1,sys2)
e.Ghptunt:Tadngcchghpnhtrnhnhe.Hmseriesdng

ghp tun t cc h thng con. Cc lnh MATLAB(lu trong ct6_16.m) nh


sau:
clc
sys1=tf(1,[10])
sys2=ss(1,2,3,4)
sys=series(sys1,sys2)
f.Ghpcphnhi:Tadngcchghpnhhnhf.Hm feedbackdng
ghpcphnhicchthngcon.CclnhMATLAB(lutrongct6_17.m)
nhsau:
clc
sys1=tf(1,[10])
sys2=ss(1,2,3,4)
sys=feedback(sys1,sys2)
130

g.Sdnghmconnect:Hmconnecttoramhnhkhnggiantrng
thitcchthngcon.Cphpcahm:
sysc=connect(sys,Q,inputs,outputs)
Mththngthngcchodidngcckhi.Ngayckhiskhng
phctp,victmcmhnhkhnggiantrngthicahthngkhkh.
tmcmhnhkhnggiantrngthi,trchttadnghmappend:
sys=append(sys1,sys2,...,sysN)
m t mi h thng con sysj h thng dng ng cho. Tip n dng
lnh:
sysc=connect(sys,Q,inputs,outputs)

nicchthngconvrtramhnhkhnggiantrngthisysccaton
bhthng.MatrnQchracchnicchthngcontrns.Miu
vo ca sys c mt hng, trong phn t u tin ca mi hng l s u
vo.ccphnttiptheocamihngmtuvocahthngcly
tu.Vduvo7lytura2,15v6tronguvoca15mth
hngtngngcaQl[72156].Hngnokhngphntththms
0.Tatmmhnhkhnggiantrngthicassau:

sys2
sys1

2
u1
y1
x& = Ax + Bu 2

10 1 +
u
2
y2
uc
y = Cx + Du 3

3
1 s+5
4

2(s + 1) 4

s+2

sys3

Tacnniura1v4vouvo3(u2)vura3(y2)vouvo4nn
matrnQl:
Q=[314
430];
Sc2uvotcchthngkhclucvu1(uvo1v2casys)v
2uraancchthngkhcly1vy2(ura2v3casys).Nhvy
matrninputsvoutputsl:
inputs=[12];
outputs=[23];
CclnhMATLABthchinvicbinis(lutrongct6_18.m)nhsau:
clc
131

A=[9.020117.7791
1.69433.2138];
B=[.5112.5362
.0021.8470];
C=[3.28972.4544
13.500918.0745];

D=[.5476.1410
.6459.2958];
sys1=tf(10,[15],inputname,uc)
sys2=ss(A,B,C,D,inputname,{u1u2},...
outputname,{y1y2})
sys3=zpk(1,2,2)
sys=append(sys1,sys2,sys3)
Q=[314
430];
inputs=[12];
outputs=[23];
sysc=connect(sys,Q,inputs,outputs)

2.PNGCAHTHNG
1.pngcahthngbchai:Dngchuncahmtruyncahthng
bchail:
1
G(s) = 2

s + 2n s + 2n

Trong n l tn s t nhin v l h s tt cahthng.torahm


truynnykhibitnvtadnglnhord2.
Vd:Tmhmtruynvmatrntrngthicahthngbchaibitn=2.4
rad/sv=0.4.CclnhMATLAB(lutrongct6_19.m)nhsau:
[ts,ms]=ord2(2.4,0.4)
[a,b,c,d]=ord2(2.4,0.4)
pngthctcahlmtdaongttdncdng:
1
c( t ) = 1 e n t sin(n t + )

Trong = 1 2 v = tan 1 ( / )
Tagitrlthigiandpngtt10%gitrcuin90%gitrcui;
thigiantnnhltp;nhanhobngtrvtp;thigianttlts.Thi
132

giantnnhcxcnhbngcchchoohmcac(t)bng0.

tp =

(41)
1 2

Gitrnh(percentovershootp.o)khikchthchlbcnhyl:
2

p.o = e 1 100

(42)

p ng vi kch thch bc nhy tm c nh hm step cn p ng vi


kchthchxungtmcnhhmimpulse
Vd:Tmpngcakhubchaichmtruyn:
2n

G(s) = 2
s + 2n s + 2n
khin=5v=0.6.CclnMATLAB(lutrongct6_20.m)nhsau:
clc
ts=25;
ms=[1625];
sys=tf(ts,ms)
t=0:0.02:2;
c=step(sys,t);
plot(t,c)
xlabel(t(s));
ylabel(c(t));
Vd:Chohcsnhhnhv:

d
C(s)

R(s)
s(s + 1)

1+es

Tm d v e p.o bng 40% v tp = 0.8s. Cc lnh MATLAB (lu trong


ct6_21.m)nhsau:
clc
po=40;
z=log(100/po)/sqrt(pi^2+(log(100/po))^2)%theo(42)
zn=0.27999799333504
tp=0.8;
wn=pi/(tp*sqrt(1z^2))%theo(41)
ts=wn^2;
133

ms=[12*z*wnwn^2];
sys=tf(ts,ms);
t=0:0.02:4;
c=step(sys,t);
plot(t,c)
Tskhitac:
C(s)
d

= 2

R(s) s + (de + 1)s + d


Phngtrnhctnhl:

s2+(de+1)s+d=s2+2ns+ 2n

Vi 2n =wn=0.28vz==4.0906tacd=16.733ve=0.077
Khicmthmtruyntacthxcnhhsttvtnstnhinnbng
lnhdamp.
Vd:Chohchmtruyn:
2 s 2 + 5s + 1
H(s) = 2

s + 2s + 3
Tmhsttvtnstnhinn.CclnhMATLAB(lutrong ct6_22.m)
nhsau:
h=tf([251],[123]);
damp(h)
EigenvalueDampingFreq.(rad/s)
1.00e+000+1.41e+000i5.77e0011.73e+000
1.00e+0001.41e+000i5.77e0011.73e+000

2.pngtrongminthigiancahthng:
a.pgitrbanu:pnggitrbanumtphnngcah
khikhngckchthchduvonhngtnticcgitrbanucavect
trngthix0.Phnngcgilchuynngtdocah.pngny
cxcnhbnghminitial.TaccclnhMATLABtmpngbanu
camththng(lutrongct6_23.m)nhsau:
clc
a=[0.55720.7814;0.78140];
c=[1.96916.4493];
x0=[1;0]
sys=ss(a,[],c,[]);
initial(sys,x0)
134

b.pngxungDirac:Tatmpngcahthngvixungnhhm
impulse.CclnhMATLAB(lutrongct6_24.m)nhsau:
clc
a=[0.55720.7814;0.78140];
b=[11;02];
c=[1.96916.4493];
sys=ss(a,b,c,0);
impulse(sys)
Hnhbntrilpngcaknhthnhtvhnhbnphilpngca
knhth2.
c.pngivihmbcnhy:tmpngcahthngivi
hm bc nhy ta dng hm step. Cc lnh MATLAB (lu trong ct6_25.m)
nhsau:
clc
a=[0.55720.7814;0.78140];
b=[11;02];
c=[1.96916.4493];
sys=ss(a,b,c,0);
step(sys)
Hnhbntrilpngcaknhthnhtvhnhbnphilpngca
knhth2.
d.pngvitnhiubtk:tmpngcahthngivihm
btktadnghmlsim.CclnhMATLAB(lutrongct6_26.m)nhsau:
clc
[u,t]=gensig(square,4,10,0.1);
H=[tf([251],[123]);tf([11],[115])]
lsim(H,u,t)
Tadnghmgensigtomtxunghnhvung,trong4chukvlymu
sau0.1strong10chuk.

3.pngtrongmintnscahthng:Chomthmtruyncamth
thng,thay s bng j ta c hm truyn t tn s ca h thng . rng
bng ca h thng B l tn s m ti bin caggimi1/2.Tns
ngvigitrmaxcaG()gilrvctrsl:

r = n 1 2 2
vctnhtnbinphacamththngtadnglnhfreqs.
135

Vd:Chohmtruyncamththngl:
4
G(s) = 2

s + 2s + 4
Tm c tnh tn binpha ca h thng bng cc lnh MATLAB(lu trong
ct6_27.m):
w=0:0.01:3;
ms=[124];
ts=[4];
freqs(ts,ms,w);
Tacngcthtothnhsau(lutrongct6_28.m):
ts=[4];
ms=[124];
w=0:0.01:3;
g=freqs(ts,ms,w);
mag=abs(g);
pha=angle(g);
subplot(2,1,1);
loglog(w,mag);
gridon;
subplot(2,1,2);
semilogx(w,pha);
gridon
Ngclikhicctnhtnbinphatacthtmlichmtruynbng
lnhinvfreqs.
Vd:Tmhmtruyncahthng(lutrongct6_29.m):
ts=[123214];
ms=[12323];
[h,w]=freqz(b,a,64);
[tsm,msm]=invfreqz(h,w,4,5)
Tacngcthxydngctnhtnthco
Vd:Chohmtruyn:
10
G(s) = 3

s + 4.5s 2 + 9s + 10
TmctnhtnthcocahbngcclnhMATLAB(lutrongct6_30.m):
ts=[10];
ms=[14.5910];
w=[1:0.01:3];
136

h=freqs(ts,ms,w);
t=real(h);
a=imag(h);
subplot(2,1,1);
plot(w,t)
subplot(2,1,2);
plot(w,a)

vthBodecahthngtadnghm bode.ththnhtnht
lctnhbintnlogarit,cchiatheodB.ththhailctnhpha
tnlogaritchiatheo.

Ccdngcalnhbodegm:

bode(sys)

bode(sys,w)

[bien,pha,w]=bode(sys)
v th Bode ca mt h thng ta dng cc lnh MATLAB(lu trong
ct6_31.m)nhsau:
clc
g=tf([10.17.5],[10.12900]);
figure(1)
bode(g)
figure(2)
bode(g,{0.1,100})
gd=c2d(g,0.5)
figure(3)
bode(g,r,gd,b)
Hm margin cho bit d tr n nh ca h thng. D tr bin gm l h s
khuychiFrmnutathmvohmtruyntcahhthhknva
tcgiihnnnh.Dtrphapmcnhnghalkhongcchgc
pharti180.Hmchobitgmtitnsophawcgvpmtitnsct
phawcp.Hmallmarginctcdngrnghnhmmargin.Ccktqutrv
caallmargingm:
GMFrequency:gitrtnsmtithphactngthngnm
ngang180
GainMargin: d tr bin gi tr o ca bin ti tn s
GMFrequency
PMFrequency:gitrtnsmtithbinctngthngnm
ngang0dB(ngvihskhuychi1)
137

PhaseMargin:dtrphakhongcchgc(>0)tvtrPMFrequency
n180.
DelayMargin:dtrthigiantrgitrthigiantrmnuvtqu,
hthngsmtnnh.

DMFrequency:gitrtnsngviDelayMargin.
Stable:=1khimachvngknnnh;bng0trongcctrnghpkhc.
Ccilngnycthcctthtobi margin.xcnh
dtrnnhcamththngcthtadngcclnhMATLAB(lutrong
ct6_32.m)nhsau:
clc
sys=zpk([],[111],4)
margin(sys)
allmargin(sys)
Ktquhthngnnh.NcDelayMargin=0.3s.Bygitagnchosys
mtkhongthigiantrlstabil.DelayMargin+0.01,nghalvtquthi
giantrnnh0.01s.Ktqutnhtoanmica allmarginsthngbotnh
khngnnhcahthng.CclnhMATLAB(lutrongct6_33.m)nhsau:
clc
sys=zpk([],[111],4)
margin(sys)
stabil=allmargin(sys)
sys.ioDelay=stabil.DelayMargin+0.01;
newstabil=allmargin(sys)
MtkhnngkhcmtctnhtnslthNyquist.Nbiu
dinccgitrthcvothuchmtruyntphccamchvnghF0(j)
trongditns=0trnhtophc.ngcongdoccimto
thnh c gi l qu o bin pha F0(j). Trn c s tiu chun n nh
Nyquisttacthrtraktlunvtnhnnhcahkn(cphnhinv
m)tthNyquist.vthNyquisttadnghm Nyquist.Taccc
lnhMATLAB(lutrongct6_34.m)nhsau:
clc
H=tf([251],[123])
nyquist(H)

138

3.CTNHCAHTHNGIUKHIN
1.Tnhnnh:Tiuchunnnhnirnghsnnhnuccnghim
caphngtrnhctnhcphnthcm.Phngtrnhctnhlathc
muscahmtruyn.Dovychcntnhnghimcaathcctnhbng
lnhrootsltacthxcdnhhnnhhaykhng.
Vd:Xttnhnnhcahcphngtrnhctnhl:

s4+10s3+35s2+50s+24
CclnhMATLABl:
a=[110355024];
roots(a)

ans=
4.0000
3.0000
2.0000
1.0000
Nhvyhnnh.

2.nhy:nhycahthngcobngtsphntrmsthayi
cahmtruyntheosthayiphntrmcathngsb.Vdnhyca
hmtruynT(s)theobcxcnhbng:
T(s) / T(s) T(s) T(s)

S Tb =
=
b / b
b b
Khibgnn0tac:
T(s) b

S Tb =

b T(s)

nhytnhlgitrcaSkhit0.nhyngctnhbngcchthays
bngjvvngStheo.BincaS(j)osaiscahthng.
Vd:Khosthiukhinnhhnhvsau:

Thitb

Bb
b

K
R(s)
C(s)

(s + 1)

Sensor

139

Trongbctrnhmcl4vhctrnhmcl0,5.TmnhyT(s)
theob,vmodulhmnhytheovihaigitrblK=2vK=0.5.Tm
nhyT(s)theoh,vmodulcahmnhytheohviK=2vK=0.5.
Hmtruyncahthngl:
Kb
(Ts) = 2

s + 1 + Kbh
Vib=4vh=0.5tacB=1+2K.
nhycaT(s)theobkhib=4vh=0.5l:
T(s) b
s+1
s+1

S Tb =
=
=
b T(s) s + 1 + Kbh s + 1 + 2K
T(s) h
Kbh
2K

S Th =
=
=
b T(s) s + 1 + Kbh s + 1 + 2K
CclnhMATLAB(lutrongct6_35.m)nhsau:
k1=1;
k2=0.5;
ts=[11];
ms1=[11+2*k1];
ms2=[11+2*k2];
w=0:0.01:15;
stb1=abs(freqs(ts,ms1,w));
stb2=abs(freqs(ts,ms2,w));
subplot(2,1,1);
plot(w,stb1,w,stb2);
title(DonhaycuaTtheob);
ts1=2*k1;
ts2=2*k2;
stb1=abs(freqs(ts1,ms1,w));
stb2=abs(freqs(ts2,ms2,w));
subplot(212);
plot(w,stb1,w,stb2);
title(DonhaycuaTtheoh);
HnhtrnngcngviK=0.5vhnhdingcaongviK=2.

T hnh v ta thy rng nhy ca h thng theo b gim khi h s


khuchicavnghKtngtrongkhinhytheohtngkhiKtng.R
rnglnhytheobtngnhanhbnngoiB.

3.Saisxclp:Khosthnhhnhv:
140


R(s)

Hmtruyncahknl:
C(s)
G(s)

R(s) 1 + H(s)G(s)
Saiscahknl:

E(s)=R(s)H(s)C(s)=

G(s)

C(s)

H(s)

R ( s)

1 + H(s)G(s)

Sdngnhlgitrcuitac:
sR(s)
e ss = lim

s 1 + G( s)H( s)
uvobcnhynv:
1
1

e ss =
=

1 + lim G(s)H(s) 1 + K p
s

uvotngtuyntnhnv:
1
1
e ss =
=

1 + lim sG(s)H(s) K v
s

uvoparabolnv:
1
1
e ss =
=

1 + lim s 2 G(s)H(s) K a
s

TacthdngSymbolicMathtnhccgiihntrn.

4.PHNTCHVTHITKQUONGHIM
Phngphpkinhinthamshokhuiukhincavngiu
hnhlphngphpquonghim.Quonghimlquoimcc,
hp thnh bi cc iu cc ca h thng, ph thuc vo h s khuych i
phnhikvacbiuditrnmtphngphcviphnthcRe()=trn
trc honh x v phn o Im() = trn trc tung y. v c qu o
nghimcahthngtadunghmrlocus.Taxththngsau:

u
y
Gc
G0

GM
k

141

Cphpcarlocusl

rlocus(sys[,k])

[r,k]=rlocus(sys)

r=rlocus(sys,k)

MhnhsystronglnhtrnlhmtruyntcahthnghGoGcGM
cxcnhbnglnhMATLAB:

sys=sysM*sysO*sysC
m cha c h s khuych i phn hi k, l thamstuchnsckhai
boring.iucnghalsyscghpnibiccmhnhringl.Khi
gi rlocus(sys[, k]) m khng yu tr bin v ta nhn c th qu o
nghim ca sys. Nu ta khng khai bo cc h s khuych i trong vec t
thamstuchnk,MATLABstngquytnhgitrthchhp.Saukhi
dng rlocusvquoimcctatmccgitrlinquannimccbt
knmtnquobngcchnhpchutvomtimtrnquo.Lc
lnh rlocusfind c thc hin. Ta dng cc ln MATLAB sau (lu trong
ct6_36.m)vquonghimcamththng:
clc
sys=zpk([],[0.11j1+j],1)
rlocus(sys)
[r,k]=rlocus(sys)
sgrid

trc quan ta c th dng cng c thit k bng cch nhp lnh


sisotoolvocaslnhMATLAB.

142

CHNG7:POWERSYSTEMBLOCKSET

1.KHINIMCHUNG

PowerSystemBlocksetcthitkcungcpchochngtacngc
hiu qu v tin li m phng nhanh v d cc mch in, cc h thng
in.Thvincanchaccphntcbncamchinnhmybin
p, ng dy, cc my in v cc thit b in t cng sut. Giao din
hocungcpccthnhphncahthngin.Ccthnhphnnydclu
trongthvinpowerlib.mthvinnytcasMATLABtanhlnh
powerlib.KhinyMATLABmmtcaschacckhihthngconkhc
nhau.Cchthngconnybaogm:
ElectricalSources
Elements
PowerElectronics
Machines
Connectors
Measuremets
Extras
Demos
Tacthmcchthngconnytoracccaschacckhim
tacncopyvomhnh.Mimtthnhphncbiudinbngmticon
cbit.

2.MHNHHOMTMCHINNGIN

Power System Blockset cho php ta xy dng v m phng mt mch


inchaccphnttuyntnhcngnhphituyn.Taxtmtmchin
R
nhhnhv:
e= 2 .220sin(314+10)V

R=10
L
E

L=0.1H

C=100F
mphngmchinnytadngcckhi:
C
ngun,intr,inkhng,indungvdng
co.oinptadngkhiVmet.Nchotrstcthicainp.
thycgitrhiudngtadngkhiRMS.Ccbcthchinnhsau:
TmenuFilecacaspowerlibchnNewrichnModelscha
143

mchinutincatavgilct7_1

M th vin Electrical Sources copy AC Voltage Source Block vo


casct7_1

Mhpthoi ACVoltageSourceBlockbngcchnhpplnn
nhpvobin,phasevtnstheoccgitrchotrongs.Chl
binlgitrmaxcainp.

Dokhiintrkhngcnncopykhi Series RLCBranchvtgi


trintrnhchovtLlvcngvClzero.

ThchintngtviphntLvC.
LykhioinptronghthngconMeasurement

xeminp,dngkhi ScopecaSimulinkchun.MSimulinkv
copykhiScopevomhnhct7_1.NukhiScopecnitrctipviu
racathitboinpnshinthinptheoV.

honthnhmchin,tacnniccphntvinhau
Smphng(lutrongct7_1.mdl)nhsau:

By gi ta c th bt u m phng t menu simulation. ta vo menu


ny,chnccthngschoquatrnhmphngvbmntstart.
ddngchovicphntchtrngthixclpcamchinchngta,
th vin powerlib cung cp giao din ho(GUI). Copy khi giao din
Powerguivocas ct7_1vnhnpvoiconmn.Midngco
ilngracxcnhbngmichuitngngvitncan.Ccbin
trng thi c hin th tng ng vi cc gi tr xc lp cu dng in v
inp.Tnccbinchatncckhi,btubngtipungIlhayUc_.
144

Du quy c c s dng vi dng in v in p v cc bin trng thi


cxcnhbnghngcacckhi:
dng in in cm chy theo hng mi tn tng ng vi du
dng
iptrntCbnginpratriinpvao
Chnmenu Tool| StaedyStateVoltagesandCurrentsxemcctrsxc
lpcadnginvinp.

BygichnmenuTool|InitialValueofStateVariableshinthcc
gitrkhiucaccbintrngthi.Ccgitrkhiunyct
btusimulationtrngthixclp.
Bygitatnhccbiudincakhnggiantrngthicamhnhct7_1
bnghmpower2sys.NhpdnglnhsauyvocasMATLAB:
[A,B,C,D,x0,states,inputs,outputs]=power2sys(ct7_1);
Hm power2systrvmhnhkhnggiantrngthicamchtrong4
ma trn A,B,C,D,x0 l vec t cc iu kin u m ta va hin th vi
Powergui.Tncaccbintrngthi,ccilngvovccilngra
ctrvtrong3matrnchui.
Mtkhimhnhtrngthibit,ncthphntchctrongvng
tns.Vdccmodecamchnycthtmtccgitrringcamatrn
A(dnglnhMATLABeig(A))
eig(A)
ans=
1.0e+002*
0.5000+3.1225i
0.50003.1225i
H thng ny c dao ng tt dn v phn thc m. Nu ta dng Control
System Toolbox, ta c th v th Bode. Cc lnh MATLAB(lu trong
ct7_1m.m)nhsau
freq=0:1500;
w=2*pi*freq;
[bien,pha,w]=bode(A,B,C,D);
semilogy(w,mag1(:,2));
semilogy(w,mag1(:,2));

145

3.MHNHHOQUTRNHQU
Mt trong nhng phm vi ng dng ca Power System Blockset l
simulationqutrnhqutrongccmchin.iunycthlmcc
vi cu dao c kh v mch in t. Ta xt qu trnh qu khi ng mt
mch RL vo ngun in xoay chiu. S m phng (lu trong ct7_2.mdl)
nhsau:

Trcqutrnhqu,cudao(cmphngbngphntbreaker)
trngthim.Saukhongthigian1.5chuk,cudaong,nimchRL
vongune= 2 sin314t.

4.MHNHHONGDYDI

ngdydilngdycthngsri.Ncmphngbng
khi DistributedParameterLine.Ncxydngtrncsxtqutrnh
truynsngtrnngdy.Taxtmtngdydi1000kmcmhnh
(lutrongct7_3.mdl)nhsau:

146

Khisdngmhnhtaphikhaibointr,indungvincm
cangdytrnmtnvdi,sphavchiudicangdy.

5.MHNHHONGDYBNGCCONpi
Mc ch ca m hnh ny l thc hin ng dy 1 pha vi thng s
c tp trung trn tng on. Khi PI Section Line thc hin ng dy
truyn ti mt pha vi thng s tp trung trn tng on pi. i vi ng
dy truynti,intr,incmvindungphnbutrnsutchiu
di.Mtmhnhxpxngdythngsphnbccbngcchni
nhiu on pi ging nhau. Khng ging nh ng dy thng s ri c s
trngthilvhn,mhnhtuyntnhcconpicshuhncctrng
thichophpmhnhkhnggiantrngthicdngrtrapngtn
s.Soncdngphthucvotnscbiudin.Xpxttnht
thchintheophngtrnh:
Nv
fmax =

8l
Trong:
N:sonpi
v:tctruynsng(km/s=1/L(H/km)C(F/km)
l:chiudingdy(km)
Taxtngdytrnkhngdi100kmctctruynsng300000km/s,
tnslnnhtbiudinckhidng1onpil375Hz.Mhnhngin
nydngtronghthngtruyntinnglng.Taxydngmhnh(lu
trongct7_7.mdl)nhsau:

Tanhpintr,incmvindungtrnmtnvdivo3utin
cahpthoi.Nhpdivsonpimongmunvo2cui.
147

6.MHNHHOMYIN

Cc my in nm trong th vin Machines. Cc my in c m


phng da trn cc phng trnh c bn ca n v c chia thnh 2 dng:
myintronghnvtngivmyintronghnvSI.taxtqu
trnhmmybngintrmtngcinmtchiu.Smphng(lu
trongct7_4.mdl)nhsau:

7.GIITHIUVINTCNGSUT
Power System Blockset c thit k simulation cc thit b in t
cng sut. Chng ta kho st mt mch in c thyrsistor cung cp cho mt
mchRL.

Smphng(lutrongct7_5.mdl)nhtrn.

148

8.MHNHHOMCHIN3PHA
Ta m hnh ho mt mch in 3 pha c ngun i xng nhng ti
khngixng.Smphng(lutrongct7_6.mdl)nhsau:

inpccngunctrhiudngl231V.TiphathnhtlR=1,
L=1H,phathhaiR=15,L=2Hvphath3lR=10,L=1HvC=1F.

9.MHNHINKHNGHCM
Phn t in khng h cm thc hin mi lin h t gia 2 hay3dyqun.
KhiMutualInductancethchinlinhtgia3dyqunringbit.Tam
t in tr v in cm ca tng dy qun trn mc vo th nht ca hp
thoivintr,incmhcmtrnmcvocuicng.Mhnhinnh
sau(lutrongct7_8.mdl):

Numcvocadyqunth3bbtrng,nghalchchcmgia
2dyqun.CcuvocakhiMutualInductancelcngcctnhtimt
thiim.
149

Dosimulationnncn:

Rs>0,Rs>Rm,Lm0,LsLm
intrcadyqunphidngvlnhnintrhcm.incmh
cmphikhc0nhngintrhcmcthbng0.Dyquncththni,
nghalkhngnivitngtrhayphncnlicamch.

10.MHNHNHNHRLCNISONGSONG
Phn t ny thc hin nhnh RLC ni song song. Khi Parallel RLCBranch
thchinintr,incmvindungnisongsong.bmtphnt
R,LhayCtaphitccthngstngnglInf,Infv0.Tacthdng
gitrmchoccthngs.
cpngtncablctnsbc7660Hztadngmchnhtrongfile
ct7_9.mdl.

Tngtrcamch:
V(s) RLCs 2 + Ls + R
Z(s) =
=

I(s)
LCs 2 + RCs
cpngtncatngtrtaphixcnhmhnhkhnggiantrngthi
(matrnABCD)cahthng(lutrongct7_9m.m)
[A,B,C,D]=power2sys(ct7_9);
freq=logspace(1,4,500);
w=2*pi*freq;
[Z,phaseZ]=bode(A,B,C,D,1,w);
subplot(2,1,1)
loglog(freq,Z)
grid
title(Bolocsonghaibac11)
xlabel(Tanso,Hz)
150

ylabel(TongtroZ)
subplot(2,1,2)
semilogx(freq,phaseZ)
xlabel(Tanso,Hz)
ylabel(PhaZ)
grid

11.MHNHTIRLCNISONGSONG
Phn t ny thc hin ti RLC ni song song. Khi Parallel RLC Load
thchintituyntnhnhthpnisongsongcaccphntR,LvC.
xcnhthamstanhpinpnhmcvtnsnhmcvo2mc
u tin. Nhp cng sut tc dng, cng sut phn khng trn cun dy v
cngsutphnkhngtrntinvo3mccui.Cccngsutphnkhng
phidng.Titnsmt,tisctngtrhngvcngsuttlvi
bnh phng in p tvo.Tatmccgitrxclpcainpvdng
intitrongmchtrongfilect7_10.mdl.

12.MHNHNHNHRLCNINITIP
PhntnythchinnhnhRLCninitip. Khi SeriesRLCBranch
thchinintr,incmvindungninitip.loitrR,LhayC
tachochngbng0,0hayInf.Ccgitrnycthtlsm.Taxtmt
mhnhnhtrongfilect7_11.mdl.Tngtrcanhnhl:
V(s) LCs 2 + RCs + 1
Z(s) =
=

I(s)
Cs
151

nhn c p ng tn s ca tng tr ta phi xy dng m hnh


khnggiantrngthicahthng:
[A,B,C,D]=power2sys(ct7_11);
freq=logspace(1,4,500);
w=2*pi*freq;
[Y,phaseY]=bode(A,B,C,D,1,w);
Z=1./Y;
phaseZ=phaseY;
subplot(2,1,1)
loglog(freq,Z)
grid
title(Bolocsongbac5)
xlabel(Tanso,Hz)
ylabel(TongtroZ)
subplot(2,1,2)
semilogx(freq,phaseZ)
xlabel(Tanso,Hz)
ylabel(PhaZ)
grid

12.MHNHTIRLCNINITIP
4SeriePhntnythchintiRLCninitiptuyntnh.

KhiSeriesRLCLoadthchintiRLCninitiptuyntnh.Tanhp
gitrinpvtnsnhmcvo2ucahpthoi.Nhpcngsut
tcdng,cngsutphnkhngtrnincmvcngsuttcdngtrnin
dungvo3cui.Cccngsutphnkhngphictrsdng.Titns
m t, ti c tng tr xc nh hng v cng sut ca n t l vi bnh
152

phnginptvo.Tatmgitrxclpcainpvdngincati
trongfilect7_11.mdl.

153

CHNG8:PHNGTRNHVIPHN
OHMRING

1.MU
1. Khi nim chung: Partial Differential Equation (PDE) Toolbox cung cp
mtmitrngmnhvmmminghinvgiiccphngtrnhviphn
ohmringtrongmtphng.DngphngtrnhcbncaPDEToolbox
l:

.(cu)+au=ftrongmin
Ccphngtrnhcrirchobngphngphpphnthuhn(FEM).
CcitngtrongPDEcungcpcngc:
xcnhbitonPDE,nghalxcnhvng2D,cciukinbinv
cchsPDE.
gii bng phng php s cc bi ton, ngha l to ra li khng c
cutrc,rirchophngtrnhvtmnghimxpx.
hinthktqu

2.SdngGUI:

a.GUI:PDEToolboxcmtbgiaodinhongidng(graphical
userinterfaceGUI)baogmcckhicnhcaqutrnhtmnghimcaPDE.
kchhotntanhplnhpdetoolticaslnhcaMATLAB.

Trn ca s GUI c cc menu v cc icon. Ta dng cc menu hay icon


nythchinccnhimvnhtnh.

b.Ccmenu:CmtsmenusauytrncasGUI:

File:TmenunytacthOpenvSavemhnhdidngMfile.Ta
cthinthvthotkhiGUI.

Edit:Tmenunytacthct,dn,xo,copyccitngvchntt
cccitng.

Options:Menunychacctuchncngnhccthayitrntrcx.

Draw:Tmenunytacthchnccitngcbnv.

Boundary:Menunydngnhpcciukinbinchoccvng.

PDE:MenunycungcpcchpthoimtPDEvxutcchs
canvovnglmvic.

Mesh:Tadngmenunytoralivthayicctamgic.

Solve:TachnmenunygiiccphngtrnhPDE.

Plot:Tmenunytavnghim.
154


Window:Chncaslmvic

Help:Hinthcastrgip.

c.Thanhcngc:
Thanhcngccdngnhhnhv:

d.CcGUImode:QutrnhgiiPDEgmccbcsau:

xcnhvng2D

xcnhiukinbin

xcnhPDE

tolitamgic

giiPDE

vnghimvccthuctnhvtl
pdetoolGUIcthitktheocchtngt.Talmvictrong6kiukhc
nhau,mikiutngngvimtbctrongqutrnhgiiPDE.

TrongDrawmodetatovng2D.

TrongBoundarymodetacthmtiukinbin

TrongPDEmodetanhpcchscaphngtrnhviphn.

TrongMeshmodetakhitoli.

TrongSolvemodetagiiphngtrnh.

TrongPlotmodetavenghimvccthuctnhvtlkhc

e.MhnhCGSvSetFormular:PDEToolboxdngmumhnhCSG
mhnhho.Tacthvccitngchngnhau.C4loiitng:

Circle

Polygon

Rectangle

Ellipse
Mi i tng c mt tn duy nht trong GUI. Tn mc nh ca i tng
circlelC,itngagiclP,itnghnhchnhtlR,itnghnh
vung SQ v i tng ellip l E. Tn c hin th trn i tng. Trong
Drawmodetacththayitnvhnhdngitngbngcchnhpp
lnn.Khimthpthoicmravtathayithngs.Cctont+
,=,*cdngkthpccvng.Tont+cdngtothp,ton
tdngtovngcphnrngvtont*dngtoravngcgiaonhau
155


f.Toccgctrn:Mtvdvcchdngcccngthcltoramt
hnh ch nht c gc trn. Ta khi ng GUI v chn Grid v Snap to grid.
Sau thay i Grid Spacing trn trc x l [1.5:0.1:1.5] v trn trc y l [
1:0.1:1]. Chn Rectangle/square t menu Draw v hnh ch nht bt u
ti(1,0.5)rng2vcao1.togctrntathmcchnhtrnccgc.Mi
hnh trn c bn knh 0.2 v tm cch gc on 0.2. Tip n ta v 4 hnh
vungmihnhccnh0.24gc.Bygitasoncngthcchovng:

R1(SQ1+SQ2+SQ3+SQ4)+C1+C2+C3+C4

vghivophntrncaGUI.

3. S dng pdrtool: bt u ta s dng graphic user interface (GUI)


pdetoolgiitngbcPDE.TasgiiphngtrnhPoissonu=f.Min
2Dmtagiibitonsrtphctp.iukinbindngkiuNeumannv
Dirichlet.

Trc ht ta gi MATLAB. gi GUI ta nhp lnh pdetool t ca s


MATLAB.dvhnhtachnGridvSnaptmenuOption.

Bcutingiibitonlvvng2Dcngii.GUIcungcp4
loi i tng c bn: a gic, hnh ch nht, v hnh ellip. Cc i tng
c dng to ra m hnh Constructive Solid Geometry(CSG). Mi i
tngcgnchomtnhnvdngccnhnnytatoracmthnh
phctplthpcacchnhngintrn.

chn mt i tng, ta nhp chut ln icon ca n hay chn n t


menuDraw.Iconhnhcdu+dngvhnhttm.Nukhngcdu+
hnhcvtgc.Khimunvhnhtabmvoiconvtcontrchut
ln hnh ri ko v th. Mun to hnh vung hay trn ta dng chut phi.
u tin ta v mt hnh ch nht v t tn l R1. Mun di chuyn hnh ta
bmchutvohnhvkonvtrmongmunrith.Munthayikch
thchnhbmpchutvonkchhothpthoirinhpkchthc
mongmun.Thpthoitacththayitncanhn.Nutamunxo
hnh,chnnrinhnDelhaychnCleartmenuEdit.Khicchnbin
i tng c mu en. Mun chn nhiu i tng cng lc ta nhn thm
phm Shifft. Khi mun chn tt c ta dng Select All trong menu Edit(hay
dngCtrl+A).

Tiptheotavmthnhtrnbngnhpchutvoiconhnhellipcdu
+ ri ko v th(dng chut phi). CSG ta to l hnh ch nht R1 v E1 c
cbngcchdngcngthcR1+C1Setformulatrncas.
156


CuicngtathmhaiitnglhnhchnhtR2vhnhtrnE2.
tomhnhtanhpcngthc(R1+E1+R2)E2.TacthluCSGnhlM
filebngcchdngSaveastmenuFile.

Saukhivxonghnhtanhpiukinbinchoccbinngoicng.
nhp iu kin bin ta bm chut vo icon hay chn Boundary Mode t
menu Boundary. Ta c th b cc bin ca vng con v xc nh iu kin
bin.Cconccnhxmlbincavngconlccvngchngnhauca
cc i tng ban u. T menu Boundary chn Remove All Subdomain
Bordersbttcccbincon.Ccbincmuvmitn.Muphnnh
kiu iu kin bin v mi tn hng v cui ca on bin. Thng tin v
hng c dng khi khi iu kin bin c thng s ho dc theo bin.
iukinbincthlhmcax,yhaylhng.Mcnhtrnbinciu
kinbinDirichletu=0.iukinbinDirichletcthhinbngmu.
iu kin bin c th l Neumann tng qut(mu xanh) hay hn hp(mu
green). Ta chn iu kin bin mong mun bng cch nhp chut vo on
bin hay Shiftclick nu mun chn nhiu on bin hay vo menu Edit v
chn Select All v cc on bin c chn c mu en. Khi ny hp thoi
iukinbinhinravtanhpiukinbinmongmun.Trongvdny
u
= 5 , ngha l dc ca nghim theo
ta chn iu kin bin Neumann
n
phngphptuyncaonbinnyl5.Bmpchutvocconbin
vtrong BoundaryConditionchnNeumann.Saunhpgitr5vog
richnOK.Gitrvnmcnhl0.

SaukhimtiukinbintacnnhpcchscaPDE.Takchhot
hpthoiPDESpecificationbngcchnhppchutvoiconPDEhaychn
PDESpecificationtrongmenu PDE.Tacngcthbmpvotngvng
connhpcchsPDEchotngvngcon.Tronghpthoinytacn
phichnkiuphngtrnh(elliptic,parabolic,hyperbolichayeigenmode)v
xcnhkiungdngtheokiuPDE.Bitontaangxtlbitonelliptic
nntanhduvotngng.Tanhpccgitrc=1.9,a=0.0vf=10
chobitonny.

Tip theo ta to li tam gic bng cch bm chut vo icon hnh tam
gichaychnMesh|InitializeMesh.Numunktquchnhxchntatinh
chnh li bng cch nhp vo icon c 4 tam gic hay chn Mesh | Refine
Mesh.dng Mesh| JiggleMeshtacthtngchtlngcali.Tacth
huccthayivlibngcchchnMesh|Undo.

giiphngtrnhtabmvoicon=haychnSolve|SolvePDE.Kt
157

qucvra.Mcnh,hnhvdngmuvthanhmuchgitr.Nu
mun nghim c xut di dng vec t cho vng lm vic ca MATLAB.
Cnhiukiuvchophptaquanstnghim.MunvytavomenuPlotv
chnkiuhinthnghimthchhp.

4. Dng cc hm dng lnh: Mc d pdetool Gui cung cp mt mi trng


lm vic thun tin nhng vn c nhng trng hp ta phi dng cc hm
dnglnh.l:

hnh dng hnh hc ca vng c kho st khc ng thng, cung


trn,cungellip.

iukinbinkhngtiuchun

cchscaPDEvcaiukinbinphctp

ctrnhaibinphthuc

nghimkhngbhnch

nghimkhbiudin.

Qutrnhxclpbitonvgiincphnnhtrongthitkca
GUI.Mtscutrcdliuxcnhcckhacnhkhcnhaucabitonv
ccgiaionxlkhcnhautoracccutrcdliumi.

a. M hnh CSG: M hnh CSG c m t bng ma trn Geometry


Description, set formular v ma trn Name Space. Cc cu trc d liu ny
cmttronghmdecsg.

b. Phn nh cc hnh: Hnh c phn nh c m t bng ma trn


DecomposedGeometryhaybngmatrnGeometryMfile.Khinyhnhdng
cmtnhlmtbccvngcnhnhaucctiubaobicconbin.
Mt ma trn Decomposed Geometry c th c to t m hnh CSG bng
dng hm decsg. N cng c th xut t GUI bng cch chn Export
Decomposed Geometry trong menu Boundary. Mt Geometry Mfile tng
ngvimtmatrnDecomposedGeometrychocthctorabng
cch dng hm wgeom v xembnghm pdegplot.Cutrcdliucama
trn Decomposed Geometry v Mfile Geometry c m t trong hm
pdegeom

c. iu kin bin: iu kin bin c m t bng ma trn Boundary


ConditionhayMfileBoundary.Cciukinbincchonhlhmtrn
cc bin. Ma trn iu kin bin c th xut t GUI bng chn Export
DecomposedGeometry,BoundaryConds...trongmenuBoundary.MtMfile
chaiukinbintngngvimatrniukinbincthtoc
158

thm wbound.Cutrcdliucamatrniukinbinmttronghm
assembvpdebound.

d.Hscaphngtrnh:PDEcmtbngmatrnCoefficienthay
MfileCoffficientivimihsc,a,fvd.Cchslhmtrnccvng
con. Cc h s c th xut t GUI bng chn Export PDE Coefficients. . . t
menuPDE.Cutrcdliucancmttronghmassempde.

e. Li: Mt li tam gic c m t bng d liu li gm ma trn


Points,matrnTriangle.Trongli,vngnhnhtctamgichothnh
ccvngcon,cconbin.Sliulictothnhdnhhnhhcbng
hm initmesh v thay i bng hm refinemesh v jigglemesh. Hm
adaptmeshtosliuli.Licvbnghmpdemesh.

f. Nghim: Nghim ca bi ton PDE c biu din bng vec t. Mi


nghimlgitrtimtimlicamibinphthuc.Ccvctnghim
ctorabnghmassempde,pdenonlin,adaptmesh,parabolic,hyperbolic,
vpdeeig.

g. Qu trnh v biu din: Cho cp nghimli ta c cc cng c khc


nhauxemccnghim. pdeintrpv pdertnicthdngnisuygiacc
hm. tri2grid dng ni suy hm t li tam gic ti li hnh ch nht.
pdegrad v pdecgrad tnh gradient ca nghim. pdeplot v nghim v
pdecont,pdesurfthhinnghimdngcontourvmt.

1.MTSBITON
1.Ccvdvbitonelliptic:
a.PhngtrnhPoissontrnhnhtrnnv:
VdutinvbitonellipticlgiiphngtrnhPoissonxcnh
trnhngtrnnv.Bitoncmtbngphngtrnh:

u = 1 trong min , u = 0 trn . Trong l hnh trn n v.


Trongtrnghpnynghimchnhxcl:
1 x2 y2
u( x , y) =

4
Nhvytacthnhgicsaistheoccphngphpchiali
khcnhau.

Tathchingiibitontheoccbcsau:
nhp lnh pdetool t ca s lnh ca MATLAB v con tr chut tr
thnhdu+.
m menu Options, nh du mc Grid v Snap. V hnh trn n v
bng bm vo icon hnh ellip trn thanh cng c v ko ri th chut. Nu
159

hnhtrnchathamnyucuthbmpvonkchhothpthoi
vnhpliccthngsmtchnhxctmvbnknhcahnhtrn.
nhpkiubinbngcchbmvomenu Boundaryvchn Boundary
Mode hay bm p vo nt . Khi ny bin ca vng c v v bin
ngoi c gn iu kin bin mc nh(iu kin bin Dirichlet u = 0 trn
bin). Trong trng hp ny y l iu kin bin mong i. Nu iu kin
bin khc i ta bm p vo bin hin th hp thoi v sa li iu kin
binchophhpvhinthn.
xc nh phng trnh vi phn o hm ring nhpchutvont
PDE trn thanh cng c(c th chn menu PDE | PDE Speficification). Khi
nymthpthoicmravtacthxcnhcchsc,avf.Trong
trnghpnyc=1,f=1va=0.
nhpchutvontMesh(nthnhtamgic)haychnMesh|Initialize
Mesh.Khinymtlihnhtamgicckhignvhinth.
nhpnt Refine(nttamgiccnhiutamgiccon)haychn Mesh|
RefineMesh.Nhvylimnhnckhignvhinth.
gii phng trnh nhp nt = hay chn menu Solve | Solve PDE
(CtrlE).DnghpthoiPlotSelectiontrongmenuPlot|Parameterschn
cchinthnghimkhcnhau.
so snh nghim s v nghim chnh xc, chn menu Plot |
Parameters hin th hp thoi Plot Selection. Trong mc Property ca
Color chn user enrty. Sau nhp biu thc MATLAB u(1x.^2y.^)/4 vo
trngsonthouseretryvnhpntlnhPlot.Tanhnchnhvsais
tuyt i ca nghim. xut kt qu vo vng lm vic ca MATLAB ta
dng Mesh| ExportMeshv Solve | ExportSolution.tinhchnhktqu
nhpntRefinev=nhiuln.Ktqulutrongct8_2.m.
b.Bitonphnxsng:

Bi ton ny dng tnh phn x sng t mt vt th b ri sng ti.


Vibitonnytakhostmtmngnmngangrngvhnchuccdch
chuynnhtheochiuthngngu.Mngcnhbin.Tacoimitrng
ngnhtvtcsnglhngc.Khisngliuhotheottacthtnh
trngbngcchgiimtbitonxclpduynht.
Vi u( x , y , t ) = u( x , y)e it phngtrnhsngcdng:
2u
cu = 0
t 2
trthnh:
2 u cu = 0
160

hayphngtrnhHelmholz:
u k 2 u = 0
Trong k l s sng, lin quan n tn s gc , tn s f v di sng
bng:
2 f 2
k= =

=
c
c

By gi ta phi m t iu kin bin. Coi sng ti l mt sng phng theo


hng:
r
a = (cos(a), sin(a)) :
r r

v( x , y , t ) = e i( ka .x t ) = v( x , y)e it
r r

Trong: e ika .x = v( x , y)
ultngcavvsngphnxr:
u=v+r
iukinbinivibinitnglu=0,nghalr=v(x,y)(visngm,
vlnhiulonpsutdoiukinbinthchhpphilu/n=0).Sng
phn x i ra khi i tng. iu kin bin bn ngoi phi chn sao sng
khngbphnx.iukinnhvythnggilkhngphnxvtadng
iukinbcxSommerfeld.Khitnvcng,rthomnxpxphng
trnhsngmtchiu:
r
r
+ cr = 0
t
chophpsngchchuynngtheohngx(xlkhongcchbcxtvt
th).Vinghimiuhotheot,iunytrthnhiukinbinNeumann
tngqutho:
r
r = ikr
Vldonginho,coiphptuynbnngoicavngkhostxpx
hngbnngoi.

Bygitadng pdetoolgiibiton.Sdngmode GenericScalar


bngcchvomenuOption|ApplicationvnhduvoGenericScalar,bt
ubngcchvvng2Dcabiton.
itngbchiusnglmthnhvungR1vicnh0.1nvvtm
[0.80.5]vquay450(vo Draw|Rotate)vcoivngtnhlC1lhnhtrn
cbnknh0.45vtmcngmtchvihnhvung.MhnhCGSlC1R1.
Vibinngoi,tadngiukinbinNeumannviq=jk.Hssng
k=60tngngvibcsng0.1nv.Nhvytacnnhpgitrq=60j
vg=0bngcchvomenuBoundary|SpecifyBoundaryCondition...
ivibinhnhvungtadngiukinbinDirichlet:
161

r r

r = v( x , y) = e ika .x
Trong bi ton ny, sng ti phi i qua on x. Nh vy iu kin
bincdngnginl:
r = v( x , y) = e ikx
Vomenu Boundary| SpecifyBoundaryCondition...vnhpiukin
binDirichleth=1,r=exp(i*60*x).Vomenu PDE|PDESpecification...v
nhpcchscaphngtrnhlc=1,a=3600vf=0.Tiptheobmvo
ntcngcchialichialichobiton.Taluttcktquvofile
ct8_4.m.
Bygitacthgiibitonvcnghimphc.
thycslantruynsngphnx,saukhigiibitontachn
Draw|ExportGeometryDescription,SetFormular,Label...; Boundary|Export
Decomposed Gemetry, Boundary Conds...; PDE|Export Coeficients...;
Solve|Export Solution... v chy cc lnh MATLAB sau(lu trong file
ct8_5.m):
m=10;%sokhunghinh
h=newplot;
hf=get(h,Parent);
set(hf,Renderer,zbuffer)
axistight;
set(gca,DataAspectRatio,[111]);
axisoff;
M=moviein(m,hf);
maxu=max(abs(u));
forj=1:m
uu=real(exp(j*2*pi/m*sqrt(1))*u);
fprintf(%d,j);
pdeplot(p,e,t,xydata,uu,colorbar,off,mesh,off);
caxis([maxumaxu]);
axistight,set(gca,DataAspectRatio,[111]);
axisoff;
M(:,j)=getframe(hf);
ifj==m
fprintf(done\n);
end
end
movie(hf,M,50);
162

c.Bitonmtcctiu:Trongnhiubitonhsc,avfkhngch
phthucvoxvymcnvou.Takhostphngtrnh:

.
u = 0

2
1+ |u|

tronghnhtrnnv = {(x , y )|x 2 + y 2 1}viu=x2trn.ylbiton

phi tuyn tnh v khng th gii vi trnh gii solver. Do trnh pdenonlin
cdng.
Vngtmnghimlhnhtrnnv.Vhnhtrnnyvxcnhiu
kinbinbngcchvomenuBoundary|BoundaryMode.DngSelectAllca
menu Editchnttcccbin.Saunhppvobinmhpthoi
Boundary Condition. iu kin bin u = x^2 c nhp vo bng cch nh
x.^2 vo mc ca r. Tip theo m hp thoi PDE Specification xc nh
1
PDE.ylphngtrnhellipticvi c =
,a=0vf=0.Hscc
1+ |u|2
nhpvobngcchnhc=1./sqrt(1+ux.^2+uy.^2).Khignlivlmtinh
limtln.TrckhigiiphngtrnhchnParameters...tmenuSolvev
dngtuchn Usenonlinearvtsais0.001.Nhnnt=giiphng
trnh.DnghpthoiPlotSelectionvnghimdng3D.
d.Chiavng:PDEToolboxcthitklmvicvisphnvng
cp1.Nuvngphctp,thngnnphnnthnhccvngccutrc
n gin hn n gin. Cc cu trc nh vy thng c thc hin bi
pdetool.
Gislmttphpccvngcon1,2,...,n.Vytacthnhs
li cc nt ca li trn sao cho ch s ca cc nt cc vng con c
nhm li vi nhau trong khi tt c ch s ca cc nt chung ca 2haynhiu
vngconnhc.DomatrnKcccshngkhc0chcchngvccct
chccntcnhnhau,nnncphnthnh:
K 1 0 0 B1T

T
0 K 2 0 B2
K= M
M O M
M

0 L K n BTn
0

B1 B 2 L B n C
Trongkhivphil:

163

f1

f2
f = M

fn
f
c

ThngtrnhassempdecaPDEToolboxcthgpccmatrnKj,Bj,fj
vCmtcchringrnntacthkimsotcviclvxlccma
trnny.HnnacutrccahthngtuyntnhKu=Fcnginho
bngcchchiaKthnhtngmatrnringphnnhtrn.

BygitakhostmtmnghnhL.Tacthvmngnybnglnh:
pdegplot(lshapeg)

Chccbingiaccvngcon.C3vngconvminangxtcdngL.
Nhvycngthcmatrnvin=3ttrncthdng.Bygitatoli:
[p,e,t]=initmesh(lshapeg);
[p,e,t]=refinemesh(lshapeg,p,e,t);
[p,e,t]=refinemesh(lshapeg,p,e,t);
Vitrnghpnyvin=3tac:
K1 0
0 B1T u1 f1


T
0 K 2 0 B2 u 2 f2
=

0
0 K 3 BT3 u 3 f3


B B
c f
B
C
2
3
1
c
Vnghimxcnhbngcchloitrkhi:
(C B1K 11B1T B2 K 21BT2 B3K 31BT3 )u c = fc B1K 11f1 B2 K 21f2 B3K 31f3

u1 = K 11 (f1 B1T u c )
L
Khi gii bi ton, ta dng phng php phn tch Choleski. Cac lnh
MATLABnhsau(lutrongct8_7.m):
echoon
clc

%GiaptPoissons
%div(grad(u))=1
%trenmangLvoiu=0trenbien.
%Baitoanduocgiabangcachchiavung.
pause%Nhanphimbatkidetieptuc.
164

clc

%Dinhnghiabaitoan
g=lshapeg;%mangdangL
b=lshapeb;%0trenbien
c=1;
a=0;
f=1;
time=[];

[p,e,t]=initmesh(g);
[p,e,t]=refinemesh(g,p,e,t);
[p,e,t]=refinemesh(g,p,e,t);
pause%Nhanphimbatkidetieptuc.
clc

np=size(p,2);
%Truochettimcacdiemchung
cp=pdesdp(p,e,t);

%Dinhvikhonggian
nc=length(cp);
C=zeros(nc,nc);
FC=zeros(nc,1);
pause%Nhanphimbatkidetieptuc.

%Kethopvung1vacapnhat
[i1,c1]=pdesdp(p,e,t,1);
ic1=pdesubix(cp,c1);
[K,F]=assempde(b,p,e,t,c,a,f,time,1);
K1=K(i1,i1);
d=symmmd(K1);
i1=i1(d);
K1=chol(K1(d,d));
B1=K(c1,i1);
a1=B1/K1;
C(ic1,ic1)=C(ic1,ic1)+K(c1,c1)a1*a1;
165

f1=F(i1);
e1=K1\f1;
FC(ic1)=FC(ic1)+F(c1)a1*e1;
pause%Nhanphimbatkidetieptuc.

%Kethopvung2vacapnhat
[i2,c2]=pdesdp(p,e,t,2);
ic2=pdesubix(cp,c2);
[K,F]=assempde(b,p,e,t,c,a,f,time,2);
K2=K(i2,i2);
d=symmmd(K2);
i2=i2(d);
K2=chol(K2(d,d));
B2=K(c2,i2);
a2=B2/K2;
C(ic2,ic2)=C(ic2,ic2)+K(c2,c2)a2*a2;
f2=F(i2);
e2=K2\f2;
FC(ic2)=FC(ic2)+F(c2)a2*e2;
pause%Nhanphimbatkidetieptuc.

%Kethopvung3vacapnhat
[i3,c3]=pdesdp(p,e,t,3);
ic3=pdesubix(cp,c3);
[K,F]=assempde(b,p,e,t,c,a,f,time,3);
K3=K(i3,i3);
d=symmmd(K3);
i3=i3(d);
K3=chol(K3(d,d));
B3=K(c3,i3);
a3=B3/K3;
C(ic3,ic3)=C(ic3,ic3)+K(c3,c3)a3*a3;
f3=F(i3);
e3=K3\f3;
FC(ic3)=FC(ic3)+F(c3)a3*e3;
pause%Nhanphimbatkidetieptuc.

166

%Giai
u=zeros(np,1);
u(cp)=C\FC;%cacdiemchung
u(i1)=K1\(e1a1*u(c1));%cacdiemtrenvung1
u(i2)=K2\(e2a2*u(c2));%cacdiemtrenvung2
u(i3)=K3\(e3a3*u(c3));%cacdiemtrenvung3

%Ve
pdesurf(p,t,u)
pause%Nhanphimbatkidetieptuc.

echooff
CclnhgiibngGUIlutrongct8_8.m

2.Ccvdvbitonparabolic:
a. Phng trnh truyn nhit: khi kim loi b t nng: Bi ton
parabolicnichunglbitonvphngtrnhtruynnhitdng:
u
d
u = 0
t
Phngtrnhtruynnhitmtslantruynnhittrongccvtth.V
dutinmtaxemxtlmtthanhkimloicmtlhnhchnhtbt
nng.Tiubntricathanhnhitl1000C.Tiubnphinhitlan
truyntthanhvomitrngkhngkhchungquanhvitchng,vd
l10.Ccbinkhccchnhit.Dotaccciukinbinsau:
u=100bntri(iukinbinDirichlet)

= 10 bnphi(iukinbinNeumann)

n
u
= 0 trnccbinkhc(iukinbinNeumann)

n
Viphngtrnhtruynnhittacniukinu:nhitcathanh
kim loi ti t0. Trong bi ton ny nhit ban u ca thanh l 00C. Cui
cngtaxcnhthiimbtutruynnhitlt=0vtamuntnhton
qutrnhtruynnhittrongsut5s.

SaukhikhingpdetoolvchnGenericScalartavmhnhCSG
ddng.TavhnhchnhtR1:[0.50.811.6].Tavtiphnhchnhtkhc
(l)R2:[0.050.40.10.8].MhnhnylR1R2.

Bmvontxcnhbinmtbinviukinbin.Dng
167

menuconSelectAlltrongmenuEditvchniukinbinNeumannchott
cccbin.Sausaliiukinbinchohaiphacathanh.Phatrichn
iu kin bin Dirichlet vi r = 100. Pha bn phi chn iu kin bin
Neumann vi g = 10. Bc tip theo l m hp thoi PDE Specification v
nhpvocchscaPDE.PDEparabolictngqutmPDEToolboxxl
cdng:
u

d
.(u) + au = f
t
viiukinuu0=u(t0)vthigiantnhnghimmttrongmngtlist.
Nhvytrongtrnghpnytacd=1,c=1,a=0vf=0.Khigncc
livlmtinhli.iukinuu0=0vkhongthigiancnhpvo
l[0:0.5:5].TanhpchngvohpthoiSolveParameterstmenuSolve.By
gi ta c th gii bi ton. thy c qu trnh truyn nhit ta nh du
vo Animation trong hp thoi Plot selection. Nn chn mu l colormap
hot. Ch l nhit ca khi tng rt nhanh. Bi ton ny c lu trong
ct8_9.m.

b. Phn b nhit trong thanh phng x: Bi ton phn b nhit ny l


mtvdvbiton3DPDEparaboliccbinithnhbiton2Dnh
dng to tr. Ta kho st mt thanh phng x hnh tr. Ti cui bn tri
cathanhnhitcgiatnglintc.ucuibnphicnhitkhng
i.Tibinbnngoi,nhitctraoivimtrngbngtruynnhit.
Timtthiim,nhitctorakhngngutrongtonbthanh
doqutrnhphngx.Gisbanunhitbng0.iunyatibi
tonsau:
u
C
.( ku) = f

t
Tronglmt,Clnhitdungringcathanh,klhsdnnhitvf
lngunnhitphngx.Mtcakimloil7800kg/m3,nhitdungring
l500Ws/kg0C,dnnhitl40W/m0C.Ngunnhitl20000W/m3.Nhit
mt u thanh l 1000C. Nhit mi trng bn ngoi l 1000C v h s
truynnhitl50W/m20C.Dngnhitcuibntril5000W/m2.Nhngy
lbitonhnhtr,nhvytacnbiniphngtrnh,dngcctotr
r,zv.Dotnhixng,nghimkhngphthuc.Nhvyphngtrnh
binil:
u u u
rC

kr kr = fr
t r r z z
iukinbinl:
168

n.( ku ) =5000ucuibntricathanh(iukinbinNeumann).
r
DoiukinNeumanntngquthotrongPDEToolboxl n .(cu)+qu=gv
cphthucvortrongbitonny(c=kr),iukinbinnycbiudin
r
bngbiuthc n.(cu)=5000r.

u=100tiucuibnphicathanh(iukinbinDirichlet)
r

n.(ku)= 50(100u) ti bin bn ngoi(iu kin bin Neumann tng


qutho).TrongPDEToolboxncbiudinbng:
r

n.(cu)+50r.u=50r.100.

trccahnhtrr=0khngphilbintrongbitongcnhngkhi
r
binithnh2Dthlilbin.Taphichomtiukinbin n.(cu)=0ti
y.Gitrulu(t0)=0
Mhnhthanhlhnhchnhtdctheotrcxvtrcyhngr.Tav
hnhchnhtviccgc(1.5,0),(1.5,0),(1.5,0.2),(1.5,0.2),nghalcnnhp
ccs[1.50.030.2]voObjectDialogcaphntR1.Nhpiukinbin
Neumannchoucuibntriviq=0vg=5000*y.Nhpiukinbin
Dirichletchoucuibnphivih=1vr=100.ivibinngoidng
iukinbinNeumannviq=50*yvg=50*y*100.Trntrctadngiu
kinbinNeumannviq=0vg=0.Cchscaphngtrnhc=40*y,a=
0,d=7800*500*yvf=20000*y.

3.Ccvdvbitonhyperbolic:
a.Phngtrnhsng:Takhostsngtoratdaongcamtmng
hnh vung c cc gc (1,1),(1,1),(1,1) v (1,1). Phng trnh dao ng c
dng:
2u
u = 0
t 2
u
= 0
Mngccnh(u=0)ticnhphivcnhtrivtdo
n

u( t 0 )
cnh trn v cnh di. Ngoi ra, ta cn gi tr u u(t0) v
. Gi tr
t
u phi khp vi iu kin bin. Nu ta bt u ti t =

sin y
u(0)

2
lccgitruthomn
0,th u(0) = arctan cos x v
= 3 sin( x)e
2
t

iukinbin.

Ta dng PDE Toolbox vi mode Generic Scalar. V hnh ch nht vi


ccgcnhtrn,nghaltaphiinvo ObjectDialogccs:[1122].
Sau ta xc nh iu kin bin v khi gn li. M hp thoi PDE
169

Specificationnhpccgitrcahscaphngtrnh.Dophngtrnh
tngqutcdng:
2u
d 2 .(cu) + au = f

t
nnviphngtrnhsngtacc=1,a=0,f=0vd=1.

Trc khi gii phng trnh chn Parameters... t menu Solve m


hp thoi Solve Parametes. Trong mc times nhp linspace(0, 5, 31), gi tr
u ca u ta nhp atan(cos(pi/2*x)), v o hm ca u bng:
3*sin(pi*x).*exp(sin(pi/2*y)). Cui cng nhn nt = gii phng trnh. Bi
tonnyclutrongct8_11.m.

4.Ccvdvccbitongitrring:

a.CcgitrringvhmringcamngdngL:Bitontmccgitr
ringvcchmringtngngcamtmngdngLhpdnngidng
MATLAB,vvhmringutinllogocaMathWorks.Thct,cthso
snhccgitrringvhmringtnhbngPDEToolboxvccgitrring
vhmringtobihmmembranecaMATLAB.

Bi ton c gii vi tt c cc mode ring v c cc gi tr ring nh


hn100ivibitonPDEeigenmode:

u=u
trnhnhdngcamngL,u=0trnbin(iukinbinDirichlet).

Kchhotpdetoolvkimtraxemta GenericScalarcha.Sau
vhnhLcccgc(0,0),(1,0),(1,1),(1,1),(1,1),v(0,1)bngcchdngnt
polygon.Khngcnxcnhiukinbinivibitonnyviukin
binmcnhu=0trnbinlphhp.Dotacththchinbctip
theoltoli.Sautatinhchnhlilihailn.Xcnhbitongitr
ringPDEcngd.Tamhpthoi PDESpecificationvchnEigenmodes.
Ccgitrmcnhcacchscaphngtrnhc=1,d=1va=0khp
vibiton.NhvytacththotkhihpthoiPDESpecificationbng
cch nhn nt OK. Ta m hp thoi Solve Parameters v xc nhn phm vi
[0,100] l ng.Cui cng gii bi ton bng nhn nt =. Gi tr ring u
tin(nhnht)chinth.Tatmslnggitrringtrnngthngtin
cuiGUI.Tacthmhpthoi PlotSelectionvchngitrringcnv
bngcchchnmenucgitrringtngng.Bitonnyclutrong
ct8_12.m.

b.Ccgitrringvmoderingcamnghnhvung:Tanghincu
ccgitrringvmoderingcamthnhvung.Ccgccahnhvungl
170

(1,1),(1,1),(1,1),and(1,1).iukinbinnhsau:

trnbinbntri,iukinbinDirichletu=0

u
= 0
n

trnbintrnvdi,iukinbinNeumann

trnbinbnphi,iukinbinNeumanntngqutho

u 3
u = 0 .
n 4

BitonPDEgitrringl:

u=u
Chngtaquantmnccgitrringnhhn10vmoderingtngng
sao cho phm vi nghin cu l [ Inf 10]. Du ca iu kin bin Neumann
tngquthosaochotacgitrringm.

Ta dng pdetool GUI theo kiu Generic Scalar. V hnh vung dng
menuDraw.Sautaxcnhiukinbintrnbinbnphilg=0vq=
3/4(iukinbinNeumann);iukinbinbntrilu=0(iukinbin
Dirichlet); iu kin bin trn v di l g = 0 v q = 0(iu kin bin
Neumann). Khi gn li v tinh chnh li mt ln. Cc h s ca phng
trnhl:c=1,a=0vd=1.KhonggiibitontrongSolveParametersl[
Inf10].Cuicngnhn=giibiton.Bitonclutrongct8_13.m.

5.Ccdngngdng:

a.CckiungdngvGUI:PDEToolboxcthpdngchomtsrt
lnbitonkhoahcvkthut.Cckiungdngcthccanl:

Genericscalar(kiumcnh)

Genericsystem

StructuralMechanicsPlaneStress

StructuralMechanicsPlaneStrain

Electrostatics

Magnetostatics

ACPowerElectromagnetics

ConductiveMediaDC

HeatTransfer

Diffusion
ChlnudngGUI,bitonbgiihnhm2bin.Sdngcchm
dng lnh s khng gp gii hn ny. La chn mode c thc hin trn
menuvkhicchsviukinbinmcnhsctngthayi
chophhp.
b.Chcktcungsutbmt:Trongchcktcu,ccphng
171

trnhquanhgiangsutvlckophtsinhtscnbnglctrongvt
th.ngsutbmtlmtiukinphbintrongmtaphngtrongmt
phngxychutichtrongmtphngkhnglinquannhngz.Quanh
lcngsutcthcvittrongiukinnghngvngnhit:
1
x
0 x

1
0

y =
y
2
1 0 0 1
xy

xy

2
Trongxvylngsuttheohngxvy;xylngsutct.Tnhcht
cavtliucbiudinnhlkthpcaEmunnhihaymun
YoungvtsPoisson.Sbindngcavtliucmtbngsdch
chuyntheohngxvhngyluvvvcxcnhnhsau:
u v
v
u
+

x =
; y =

; xy =
y x
x
y
Phngtrnhcnbnglcl:
xy
= Kx
x
y
x

y xy
= Ky

x
y
TrongKxvKyllckhi.
Kthpccquanhtrn,chngtacphngtrnhdchchuyn:

.( c u) = k
Trong c lhngcatenxbc4mtacthvitnh4matrn2*2:
2G + 0

c11 =
0
G

c12 =
G
0

0 G

c 21 =
0
0
G

c 22 =
0 2G +
TrongGlmounct,xcnhbng:
E
G=

2(1 + )
vcxcnhbng:
172

= 2G

v
Kx
k =
Ky
llckhi.

ylphngtrnhPDEellipticcamth(ul2chiu)nhngtach
cnlachnkiungdng StructuralMechanics, PlanStressvnhpcc
thngsphthucvtliuEvvlckhivohpthoiPDESpecification.
Trongkiunychngtacnggiibitongitrringcmtbng:

.( c u) = d u
0

d =
0

vilmtvcngcnhpbnghpthoiPDESpecification.Trong
hpthoiPlotSelection,dchchuyntheotrcxvtrcyluvvvgitr
tuyticavectdchchuyn(u,v)cthnhnthybngcchdngmu,
ng ng mc hay cao z v trng vec t dch chuyn (u,v) c th v
bngcchdngmitnhaylibini.Hnna,tacthchnt15biu
thctenxvhng:
u

ux=

x
u

uy=
y
v

vx=

x
v

vy=

exx,lccngtheohngx(x)
eyy,lccngtheohngy(y)
exy,lcct(xy)
sxx,ngsuttheohngx(x)
syy,ngsuttheohngy(y)
sxy,ngsutct(xy)
e1,lcchnhthnht(1)
e2,lcchnhth2(2)
s1,ngsutchnhthnht(1)
s2,ngsutcbnth2(2)

173

ngsuthiudngtheoMises( 12 + 22 12 )

Ta kho st mt tm thp b nn bi mt lc vung gc vi cnh bn


divkooncttrnbntrn.Cccnhkhctdo.Tmthpcccc
tnh sau: kch thc 1m*1m; dy 1mm; ghp 1/31/3m; vt ct trn t (2/3,1)
n(1,2/3).MounYoungl196.103MN/m2;tsPoisson0.31.Bincongchu
mtlckorangoivitrs500N/m.Tacnmtlckotrnbmtnnta
chiachochiudy1mmvnhvyclc0.MN/m2.Tacntnhlcvng
suttheohngxvhngy.
Vi bi ton ny ta chn mode Structural Mechanics, Plane Stress. M
hnhCSGcththchinbngcchvagiccccgcvix=[02/3111/3
1/30]vy=[112/3001/31/3]vhnhtrnctmtix=2/3,y=2/3vbn
knh1/3.MhnhlP1+E1.Tipchn BoundaryModemtiukin
bin. Trc ht b ht cc bin ca vng con bng cch chn Remove All
SubdomainBorderstmenuBoundary.Haibingcdiphibnn,ngha
liukinbinDirichletvi0bb.GccttrnciukinbinNeumann
vi q = 0 v g1 = 0.5*nx v g2 = 0.5*ny. Cc bin cn li c iu kin bin
Neumannviq=0vg=0.BctiptheolmhpthoiPDESelectionv
nhpccthngscaPDE.DokhngclcnnKxvKybng0vkhng
dngtrongmodeny.VtliungnhtnnEvpdngchotonmin.

Khignlivtinhchnhlin.Giibitonbngcchnhnnt=.
Bittonclutrongct8_14.m.
c.Chcktculccngbmt:Trngthibindngtrongkhng
cdchchuyntheohngzvdchchuyntheohngxvylhmcax
vymkhngphicazcgillccngbmt.Tacthgiibiton
v lc cng b mt vi PDE Toolbox bng chn kiu ng dng Structural
Mechanics, PlaneStrain.Quanhlcngsutchkhctsovitrnghp
ngsutphngvccchnlanhtrncdng.Giaodinngdngl
ngnhtvi2kiungdngchcktcu.Sbindngtrongbitonlc
cngbmtkhcviphngtrnhngsutphngch:

thngsmtrongtenx c cxcnhl:

= 2G

1 2
ngsuthiudngMisesctnhbng:

2
1

+ 22 )( 2 + 1) 1 2 (2 2 2 1)

Bitontngtnhtrnclutrongct8_15.m.

174

c. in trng tnh: Cc ng dng lin quan n in trng tnh bao


gm cc thit b in cao p, cc dng c in t v cc t in. Chtnh
baohmlsthayicaccilngtheotrtchmvbcsngrt
lnsovikchthccavngangxt.Trongccbitontnhin,inth
vhngVquanhvicngintrngEquabiuthc:
r

E = U
DngphngtrnhMaxwell:
r

D =
r
r
vquanh D = E tacphngtrnhPoisson:

.(U) =
Tronglhsinmivlmtintchkhnggian.

SdngccngdngPDEToolboxkiuElectrostatics,tacthgiicc
bitontnhincmhnhhobngphngtrnhtrn.HpthoiPDE
Specificationchamcvochov.iukinbiniviccbitontnh
in c th l iu kin bin Dirichlet hay Neumann. Vi iu kin bin
Dirichlet,inthtnhUcmttrnbin.ViiukinbinNeumann,
r
intchbmt n(U) cmttrnbin.xemccnghimcabiton
intnhphnvbaogminthU,cngintrngE,vvectdch
chuyninD.

Takhostbitonxcnhinthtnhtrongmtkhunghnhvung
chaykhngkhvibintrongccnhdi0.2vbinngoiccnh0.5.
Tibintronginthl1000V.Tibinngoiinthl0V.Khngcin
tchtrongvngkhost.NhvytacphngtrnhLaplace:

U=0
viiukinbinDirichletU=1000bintrongvU=0tibinngoi.

SaukhichnkiungdnglElectrostaticstavvngxcnhcabi
tonl2hnhvungccnh0.5gilR1v0.2gilR2(filect8_16.m).Vng
2DtaxtlR2R1.Tiptaxcnhiukinbin.Chnttcbintrong
bngcchdngShiftclickvtiukinbinDirichlet1000.iukinbin
bnngoil0.MhpthoiPDESpecificationvtrho=0.Hsinmi
cthtbng1vnlhngnnkhngnhhngnktqu.Khign
li ri nhn nt = gii phng trnh. xem cc ng ng th, chn
ContourplotthpthoiPlotSelection.

d. T trng tnh: Nam chm, ng c in v my bin bin p l


nhnglnhvccttrngtnh.PhngtrnhMaxwellivitrngtnh
l:
175

r r
B = J

r
.B = 0r
r
vquanh B = H
r
Do .B = 0 nntntitthvectAsaochoB=Av:
r r
1

A = J

Do.B=0nntntitthvectAsaocho:

B=A
r r
1
V: A = J

Trongtrnghpbiton2Dtacoidnginchytheohngzvnhvy
vectAchcthnhphntheotrcz:

A=(0,0,A),J=(0,0,J),
Vphngtrnhtrncnginhothnhphngtrnhellipptic:
1

. A = J

Trong:J=J(x,y).
Vibiton2DtatnhtcmBtheo:
r A A
B =
,
,0

vHctnhtheo:
r 1r
H = B

iukinbintrnmtphncchhaimitrngkhcnhaul Hnphilin
1 A
lintc.iunykhngihisxlcbitvtadng
tc,nghal
n
cngthcbinphncabitonPDE.

Trongvtliustt,thngphthucvo Bvdotaphidng
phngphpgiiphituyn.iukinbinDirichletmtgitrcatthA
trnbin.iukinbinNeumannmtgitrcathnhphnphptuyn
r 1

n A .iunytngngvivicmtgitrtiptuynca Htrn

bin.Takhostttrngtnhtobicundystatorcamtngcin
mtchiuhaicc.Tacoingcrtdinncthbquahiungbinv
mhnhtnh2Dl.Tatnhtrngtrong4vng:
176


haivngsttlstatorvrotor

khehkhngkhgiastatorvrotor

cundyphnngcinmtchiu.
tthm=1trongcundyvtrongkhehkhngkh.Trongstatorv
max
rotortac: =
2 + min
1 + c ( A)
max=5000,min=200vc=0.05lccgitrthngdngivithplmli
myin.MtdnginJ=0timinitrcundy.Trongcundyn
ctrsl1.Hnhdnghnhhccavngxtchothyvect Aixngso
vitrcyvixngidusovitrcx.Dotachcntnhtrngtrong
r 1

vngx0,y0viiukinbinNeumann n A trntrcxviukin

binDirichletA=0trntrcy.Trngbnngoingccthbquann
trnbinbnngoitadngiulinbinDirichletA=0.
Hnhdngngcrtphctp,gm5cungtrnvhaihnhchnht.
TadngpdetoolGUI,ttrcxcgiihnt[1.51.5]vtrcycgiihn[
1 1]. t kiu ng dng l Magnetostatics v dng grid spacing l 0.1. M
hnh l t hp ca hnh trn v hnh ch nht. Ta khi ng pdetool v m
hnhbngcclnhsau(lutrongfilect8_17.m):
pdecirc(0,0,1,C1)
pdecirc(0,0,0.8,C2)
pdecirc(0,0,0.6,C3)
pdecirc(0,0,0.5,C4)
pdecirc(0,0,0.4,C5)
pderect([0.20.20.20.9],R1)
pderect([0.10.10.20.9],R2)
pderect([0101],SQ1)
Nhplnhsau(C1+C2+C3+C4+C5+R1+R2)*SQ1ribmicona
mhnhvgcphntthnht.Tacnbmtsbincavngcon.Dng
shiftclick, chn bin v b n bng cch dng Remove Subdomain Border
trongmenuBoundarychonkhimhnhc4vng:stator,rotor,khehv
cundy.TrckhichuynsangPDEmode,chnbindctheotrcxvt
iukinbinNeumannvig=0vq=0.

Trong PDE mode chn Show Subdomain Labels. Nhp p ln tng


vngxcnhccthngscaPDE.

trongcundycvJubng1,nhvykhngcnthayigitr
177

mcnh.

trongstatorvrotorlphituynvxcnhbngphngtrnhtrn.
Nhptrca:5000./(1+0.05*(ux.^2+uy.^2))+200vJ=0.

trongkhngkh=1vJ=0
TakhignlivtiptcbngcchmhpthoiSolveParametersv
chncchgiiphituyn.GiibitonvvBbngmitnvngng
thbngcontour.Bitonlutrongct8_18.m.

e. Trng in t ca ngun ac: Bi ton v trng in t ca ngun


xoaychiuxuthinkhitanghincutrngcaccngc,m.b.a,vtdn
cdnginxoaychiu.Chngtaskhosttrngtrongmitrngin
mi ng nht c cc h s & v khng c in tch trong ton
min.TrngthomnhphngtrnhMaxwell:
r
r
H
E =
t

r
r
E r
H =
+J
t
Khikhngcdngin,htrngthomnphngtrnhsngvivn
tctruynsngl :
r
r
2H
E 2 = 0
t

r
r
2E
H 2 = 0
t
Chngtanghincumtinmingnhtkhngcintch,ccc
hsinmil,tthmlvdninl.Mtdnginl:
r
r
J = E vccsngbttdndointr.PhngtrnhiviEl:
r
r
r
E
2E
E 2 = 0
t
t
PhngtrnhiviHcngcdngtngt.
Trnghptrngbinthiniuhotadngdngphc,thayEbng Ec e jt .
TrnghpbitonphngtacEc=(0,0,Ec)vJ=(0,0,Jejt)vttrngl:
r
r
1

H = (H x , H y ,0) =
Ec
j
PhngtrnhvhngiviEctrthnh:
1

Ec + ( j 2 )Ec = 0

178


PhngtrnhnycdngtrongPDEToolboxvidngngdngAC
Power Electromagnetics. N l phng trnh Helmholz phc m t s lan
truyn ca mt sng in t phng trong mi trng in mi khng hon
ho v dn in tt( >> ). H s in mi phc c nh nh ngha l:
c = j .iukinbinbmtphncchhaimitrngliukint
nhinivicngthcbinphnnntakhngcnch.CcthngsPDE
cn nhp vo hp thoi PDE Specification l tn s gc , t thm ,
dnin vhsinmi .iukinbinkthpvimodenyliu
kin bin Dirichlet m t gi tr ca Ec trn binviukinbinNeumann
mtohmcaEctheohngphptuyn.iunytngngvivic
chothnhphntiptuyncavectcngttrngH:
j 1

H t = n E c

Ccilngcthtnhtnghiml:
r j
r

B = E

v
J=E.

CcilngE,J,B,HvnhitlngQ=Ec*Ec/cthvra.Vect
B,Hvcnhdngmitn.
Taxcnhhiungmtngoikhidnginxoaychiuchytrongvt
dnbngngctitdintrn.dnincangl =57.106vt
thml1,nghal =4.107.Titnsf=50Hz, 2 0vcthbqua.Do
hintngcmngnnmtdnginbntrongthanhdnnhhnmt
ngoilnicJS=1viukinbincatrnglEc=1/.Trongtrnghp
nycthtmnghimgiitchdng:
J ( kr )
J = JS 0

J 0 ( kR )
Trong k = j , v R l bn knh ca dy, r l khong cch n tm v

J0(x)lhmBesselloi1bczero.
Khing pdetoolGUIvdngmode ACPowerElectromagnetics.V
hnh trn bn knh 0.5 biu din mt ct ngang ca dy dn (file
ct8_19.m)vxcnhiukinbin.Dngtuchn SelectAllchnttc
binvnhp1/57E6vchortronghpthoiBoundaryConditionxcnh
iukinbinDirichlet(E=J/).Mhpthoi PDESpecificationvnhpcc
thngs.Tnsgc=2*pi*50.nhdu Adaptivemode.tstamgic
179

lInfv maximumnumbersofrefinementsl1.Khignlivgiiphng
trnh.Vmtdnginl3D.Bitonlutrongct8_19.m.
f.Mitrngdndc:Khivitnhtonqutrnhinphnvintr

nittagpmtmitrngdncdnvmtdnginnnh.Mt
dnginJlinquanvicngintrngEbngphngtrnhJ=E.
Kt hp tnh lin tc ca phng trnh J = Q (Q l ngun dng) vi nh
nghainthUchotaphngtrnhPoisson:

(U) = 0
Tachc2thngsPDEldnvngundnginQ.iukinbin
DirichletgnccgitrcainthUvobin,thnglvtdnbngkim
loi.iukinbinNeumannihigitrphptuyncamtdngin
(n((U)))cho.CngcthmtiukinbinNeumanntngqutho
cxcnhbng n((U))+qU=g,trongqcthcoilmtlpmng
dnin.inthU,cngintrngEvmtdnginJcthv
ra.Tamunthyccngdngin(trngvectca J)vccngth
caU.Ccngthtrcgiaovingdnginkhinghng.
Taxthaithanhdnkimloihnhtrncttrongmtmtphng,
dninmngnhtgiythmthmmncbin.Mhnhvtlcabi
tongmphngtrnhLaplaceiviinthU:
(U) = 0
vcciukinbin:
U=1trnthanhdntrnbntri

U=1trnthanhdntrnbnphi
iukinbinNeumanntnhintrnbinngoiU/n=0

dn=1.
Trong pdetool GUI dng Conductive Media mode. V t giy thm l
hnhchnhtR1cccgc(1.2,0.6),(1.2,0.6),(1.2,0.6)v(1.2,0.6).Vthm
2hnhtrnC1vC2cbnknh0.2vtmti(0.6,0)v(0.6,0).Biton2D
(filect8_20.m)cbiudintrongminR1(C1+C2).

ChntonbbinngoivtiukinbinNeumannvohpthoi
Boundary Condition. i vi thanh dn trn bn tri ta nhp iu kin bin
DirichletU=1.ThanhdntrnbnphiciukinbinDirichletu=1.

Tip theo m hp thoi PDE Specification v nhp q = 0. Gi tr mc


nhca=1khngcnthayi.

Khi gn li v tinh chnh 2 ln. Gii phng trnh bng nhn nt =.


Xem J bng cch v gi tr tuyt i v dng contour plot v trng vec t
bngcchdngmitn.
180

g.Truynnhit:Phngtrnhtruynnhitcdng:
T
C
( kT) = Q + h(Text T)

t
ylphngtrnhparaboliccccthngs:

mt
nhitdungC

hsdnnhitk

ngunnhitQ

hstruynnhitbngiluh
nhitbnngoiText

Cc iu kin bin c th l iu kin bin Dirichlet(cho nhit trn bin)


hay iu kin bin Neumann(cho dng nhit n.(k(T)). iu kin bin
Neumanntngqutn.(k(T)+qt=g(qlhstruynnhit)cngcthc
dng.Tacthxemnhit,gradientnhitvdngnhitk(T).
Taxtbitontruynnhitviccvtliukhcnhau.Biton2Dgm
mthnhvungquay450(hnhthoi).Vnghnhvungkhcbngvtliuc
h s dnnhit10vmt2.Vnghnhthoicngunnhitphnbu
vitrs4,chsdnnhit2vmt1.C2vngcnhitdung0.1.
Khingpdetoolkiu HeatTransfert.tgiihncatrcxvyl
[0.53.5]vchnAxisEqualtmenuOption(filect8_21.m).

Vhnhvungcccgc(0,0),(3,0),(0,3)v(3,3)vhnhthoiccc
gc(1.50.5),(2.51.5),(1.52.5)v(0.51.5).

Nhitbng0trnttccccbinngoivnhvytakhngcnthay
iiukinbinmcnh.

Nhp p vo tng vng nhp cc thng s PDE. Ta mun gii


phngtrnhtruynnhitparabolicvvycnchncchgiiparabolic.

Trongvnghnhvungnhpmt1,nhitdung0.1,hsdnnhit
10.Dokhngcngunnhitnnnhp0.

Trongvnghnhthoinhpmt1,nhitdung0.1,hsdnnhit2,
ngunnhit4.Shng(TextT)khngdngnnnhph=0.

Do ta gii phng trnh PDE ng nn cn cho iu kin u v thi


gian tnh nghim. V vy m hp thoi Solve Parameter. Bi ton xy ra rt
nhanh, t gi tr xc lp trong 0.1 n v thi gian. bt c phn quan
trngcactnhng,nhptime[0:0.01:0.1]nhlvectthigiangii
phngtrnhnhit.tgitrucanhitl0.Giibiton.Mcnh,
nhitcuiqutrnhcv.Cchttnhtnhnctnhnglhot
181

hnh ho nghim. Khi hot hnh ho, nh du Height v chn Plot in xy


grid.

182

You might also like