Professional Documents
Culture Documents
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
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:
ngncchccphntcamatrnbngdu,haydutrng
dngdu;ktthcmthng
baoccphntcamatrnbngcpdungocvung[]
Vd:Tanhpmtmatrn
A=[163213;510118;96712;415141]
Bygitanhlnh:
2
sum(A)
ans=
34343434
nghalnlytngccctvMATLABcvitlvicviccct.Khi
takhngchbinchaktquthMATLABdngbinmcnhlans,vit
ttcaanswer.
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
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:
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))
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=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
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
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)
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
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);
set(text_c2,String,c);
onmtrnnhngitrdolnhuicontroleditcvodidngchui
(string)vsau:
binitdngstringsangdngs
tnhquyitnhitfahrenheitsangnhitcelcius
binitssangstring
xutktqudidngstringraGUInhtext_c2
3.NHPSLIUTTHANHTRT
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.
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.
Attributesformatstring:Thngsnysmtthngsnochin
thdiiconcakhi.
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
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.
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.
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.
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)
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:
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
inhthnghinhnhvcchthngdintrongphnlpmhnh
inhthnghinhnhvcchthngtrnntrongphnlpmhnh
inttccchthngtrongmhnh
inmimhnhmtkhungoverlay
13.DUYTQUAMHNH
CasModelBrowserchophpta:
duytquamhnhcphnlp
mcchthngtrongccmhnh
xcnhnidungcckhitrongmtmhnh
84
14.KTTHCSIMULINK
TaktthcchulmvicviSimulinkbngcchngcasSimulink.
KtthcchulmvicviMATLABbngcchngcasMATLAB.
85
CHNG5:SYMBOLICMATHTOOLBOXES
1.KHINIMCHUNG
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
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.
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
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:
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
+
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)
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
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.
[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
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:
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
Fourierngctatmchmgc.Cphp:
f=ifourier(F)
f=ifourier(F,u)
f=ifourier(F,v,u)
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
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:
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
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)
=
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
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
+ 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
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
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
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]
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
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 = 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)
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
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
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.
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
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
R=10
L
E
L=0.1H
C=100F
mphngmchinnytadngcckhi:
C
ngun,intr,inkhng,indungvdng
co.oinptadngkhiVmet.Nchotrstcthicainp.
thycgitrhiudngtadngkhiRMS.Ccbcthchinnhsau:
TmenuFilecacaspowerlibchnNewrichnModelscha
143
mchinutincatavgilct7_1
Mhpthoi ACVoltageSourceBlockbngcchnhpplnn
nhpvobin,phasevtnstheoccgitrchotrongs.Chl
binlgitrmaxcainp.
ThchintngtviphntLvC.
LykhioinptronghthngconMeasurement
xeminp,dngkhi ScopecaSimulinkchun.MSimulinkv
copykhiScopevomhnhct7_1.NukhiScopecnitrctipviu
racathitboinpnshinthinptheoV.
honthnhmchin,tacnniccphntvinhau
Smphng(lutrongct7_1.mdl)nhsau:
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
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
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.
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.
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.
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.
iukinbinkhngtiuchun
cchscaPDEvcaiukinbinphctp
ctrnhaibinphthuc
nghimkhngbhnch
nghimkhbiudin.
Qutrnhxclpbitonvgiincphnnhtrongthitkca
GUI.Mtscutrcdliuxcnhcckhacnhkhcnhaucabitonv
ccgiaionxlkhcnhautoracccutrcdliumi.
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.
1.MTSBITON
1.Ccvdvbitonelliptic:
a.PhngtrnhPoissontrnhnhtrnnv:
VdutinvbitonellipticlgiiphngtrnhPoissonxcnh
trnhngtrnnv.Bitoncmtbngphngtrnh:
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:
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
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.
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|
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.
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.(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.
Specificationnhpccgitrcahscaphngtrnh.Dophngtrnh
tngqutcdng:
2u
d 2 .(cu) + au = f
t
nnviphngtrnhsngtacc=1,a=0,f=0vd=1.
4.Ccvdvccbitongitrring:
a.CcgitrringvhmringcamngdngL:Bitontmccgitr
ringvcchmringtngngcamtmngdngLhpdnngidng
MATLAB,vvhmringutinllogocaMathWorks.Thct,cthso
snhccgitrringvhmringtnhbngPDEToolboxvccgitrring
vhmringtobihmmembranecaMATLAB.
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 )
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
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.
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.
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.
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.
g.Truynnhit:Phngtrnhtruynnhitcdng:
T
C
( kT) = Q + h(Text T)
t
ylphngtrnhparaboliccccthngs:
mt
nhitdungC
hsdnnhitk
ngunnhitQ
hstruynnhitbngiluh
nhitbnngoiText
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.
Trongvnghnhvungnhpmt1,nhitdung0.1,hsdnnhit
10.Dokhngcngunnhitnnnhp0.
Trongvnghnhthoinhpmt1,nhitdung0.1,hsdnnhit2,
ngunnhit4.Shng(TextT)khngdngnnnhph=0.
182