CHNG2:ĐISTUYNTÍNH
§1.CÁCPHNGTRÌNHĐISTUYNTÍNH
1.Hphngtrìnhđyđ:TaxéthphngtrìnhAx=B.Đtìmnghimca
htadùnglnhMATLAB:
x=inv(A)*B
hay:
x=A\B
2.Hphngtrìnhcóít
phngtrìnhhnsn(underdetermined):Khigii
htrêntađãdùngnghchđomatrn.Nhvytachnhnđcktqukhi
matrnAvuông(sphngtrìnhbngsnsvàđnhthcc
aAphikhác
không).HcósphngtrìnhíthnsnhayđnhthccamatrnAca
hđyđbng0gilàhunderdetermined.Mthnhvycóthcóvôs
nghimvimthaynhiubinphthucvàocácbincònli.Vimthnh
vyphngphápCramerhayphngphápmatrnnghchđokhôngdùng
đc.Khisphng
trìnhnhiuhnsnphngphápchiatráicũngcho
nghim vi mt vàin s đc cho bng 0. Mt ví dđn gin là phng
trìnhx+3y=6.Phngtrìnhnàycór
tnhiunghimtrongđócómtnghim
làx=6vày=0:
a=[13];
b=6;
x=a\b
x=
6
0
Snghimvôhncóthtnti
ngayckhisphngtrìnhbngsn.Điu
này xy ra khi det(A) = 0. Vi h này ta không dùngđc phng pháp
Cramer và phng pháp ma trn nghchđo và phng pháp chia trái cho
thông
báolà matrnAsuy bin.Trongtrnghp nhvytacóthdùng
phng pháp gi nghchđođtìmđc mt nghimgilànghimchun
minimum.
Víd:Chohphngtrình
x+2y+z=8
0x+y+0z=2
x+y+z=6
29
Khidùngphépchiatráitanhnđc:
y=a\b
Warning:Matrixissingulartoworkingprecision.
y=
Inf
Inf
Inf
Nutadùngphngphápginghchđothìcó:
a=[121;010;111]
b=[8;2;6]
x=pinv(a)*b
x=
2.00000000000000
2.00000000000000
2.00000000000000
Mthcũngcóthcóvôsnghimkhicóđsphngtrình.Vídta
cóh:
2x4y+5z=4
4x2y+3z=4
2x+6y8z
=0
Tronghnàyphngtrìnhth3làtngcahaiphngtrìnhtrênnênhtht
schcó2phngtrình.
Tómlimthmuncónghimduynhtphicócácph
ngtrìnhđc
lp.Vicxácđnhcácphngtrìnhtronghcóđclphaykhôngkhákhó,
nht làđi vi h có nhiu phng trình. Tađa ra mt phng pháp cho
phépxácđnhhph
ngtrìnhcónghimvàliunghimđócóduynhthay
không.Phngphápnàyđòihishiubitvhngcamatrn.
Taxemxétđnhthccamatrnsau:
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
−
−
379
2106
143
Nutaloitrmthàngvàmtctcamatrnchúngtacònlimatrn2×2.
Tutheohàngvàctbloitacó9matrncon.Đnhthccacácmatrnnày
gilàđnhthccon.Vídnutabhàng1vàct1tacó:
44
37
210
=
−
30
Cácđnh thcconcóthdùngđxácđnhhngcamatrn.Hngcama
trnđcđnhnghĩanhsau:
MtmatrnAm
×
ncóhngr
≥
1nuvàchnu
đnhthccaAchamtđnhthcr
×
rvàmiđnhthcconvuôngcór+1hàng
hayhnbng0.
Đxácđnhhngcamatrntacólnhrank
Víd:
a=[341;6102;973];
rank(a)
ans=
2
HphngtrìnhAx=Bcómphngtrìnhvànncónghimnuvàchnu
rank(A)=rank([AB]).GihngcaAlàr,nur=nthìnghimlàduynht.
N
ur<nthìhcóvôsnghimvàrncóthbiudinnhlàthptuyn
tínhcanrncònlimàgiátrcóthchnbtkì.
Víd:Giihphngtrình
3x2y+8z=48
6x+5y+z=12
9x+4y+2z=24
Tavit:
a=[328;651;942];
b=[48;12;24];
rank(a)
ans=
3
rank([ab])
ans=
3
Vyhcónghimduynht:
x=a\b
x=
2
1
5
Víd:Giih
2x4y+5z=4
6x2y+3z=4
2x+6y8z=0
31
Tavit:
a=[245;623;268];
b=[4;4;0];
rank(a)
ans=
2
rank([ab])
ans=
2
Vyhcóvôsnghim.Mttrongcácnghimlà:
x=pinv(a)*b
x=
1.21481481481481
0.20740740740741
0.14814814814815
3. Hphng trìnhoverdetermined: H phng trình trongđó s phng
trìnhđc lp nhiu hn s n gi là h overdetermined.Đi vi h này
phngphápCramervàphngphápnghchđomatrnkhôngdùngđc.
Tuynhiênmtshchonghimđúngxácđnhbngphépchiatrái.Đivi
các h khác không có nghim chính xác. Khi r = rank(a) = rank([a b]) h có
nghimvànur=nnghimlàduynht.Khirank(a)
≠rank([ab])hkhôngcó
nghim.
Víd:Giimchđingm3nhánhnisongsong:nhánh1cótngtrZ1=
5+2jvàngune=100sin(314t+30
0
),nhánh2cótngtrZ2=3+4jvànhánh3
cótngtr5+6j.Tavitphngtrìnhcamchđintheodòngnhánh.Sauđó
rútramatrnAvàB.CáclnhMATLAB:
a=[111;5+2*i3+4*i0;0(3+4*i)5+6*i]
e=100*exp(i*(30*pi/180))
b=[0;e;0];
i=a\b
i=
25.25569272231586+19.27124163998603i
15.6348277775095011.44276084484129i
9.620864944806367.82848079514474i
32
§2.NISUY
1.Nisuyhàmmtbin:MATLABdùng2kiunisuy:nisuyđathcvà
nisuytrêncsbinđiFourriernhanh,
a.Nisuyđathc:MATLABdùnghàminterp1(x,y,xi,<phngpháp>)
vix,làgiátrcahàmtinhngđimđãchovàxilàgiátrmàtiđótacn
nisuyragiátryi.<phngpháp>cóthlà
mttrongcácgiátrsau:
‘nearest’ phng pháp nàyđt giá tr ni suy vào giá tr đã cho gn
nht,Phngphápnàynhanhnhngktqukémchínhxácnht
Víd: x=[12345];
y=[5.543.1128290.7498.4];
yi=interp1(x,y,1.6,nearest)
yi=
43.1000
‘linear’ phng pháp này coiđng congđi qua 2đim cho trc là
đngthng.
Víd: yi=interp1(x,y,1.6,linear)
yi=
28.0600
‘spline”dùngphngphápnisuyspline
Víd: yi=interp1(x,y,1.6,spline)
yi=
24.9782
‘cubic’phngphápnàycoiđngcongqua2đimlàđngcongbc
3
Víd: yi=interp1(x,y,1.6,cubic)
yi=
22.3840
b.NisuyFTT:Hàminterpftthchinnisuyhàmmtbinsdng
phngphápFFT(FastFourrierTransform).Phngphápnàytínhtoánbin
điFourriermtvectchacácgiátrcamthàmchukì.
Nhvyphng
phápnàytínhbinđiFourrierngcsdngnhiuđim.Dnghàmlà:
y=interpft(x,n)
Víd: y=interpft(x,4)
y=
1.00002.62363.00005.3764
33