CHƯƠNG2:ĐẠISỐTUYẾNTÍNH
§1.CÁCPHƯƠNGTRÌNHĐẠISỐTUYẾNTÍNH
1.Hệphươngtrìnhđầyđủ:TaxéthệphươngtrìnhAx=B.Đểtìmnghiệmcủa
hệtadùnglệnhMATLAB:
x=inv(A)*B
hay:
x=A\B
2.Hệphươngtrìnhcóít
phươngtrìnhhơnsốẩn(underdetermined):Khigiải
hệtrêntađãdùngnghịchđảomatrận.Nhưvậy tachỉnhậnđượckếtquảkhi
matrậnAvuông(sốphương trìnhbằngsốẩnsốvàđịnhthứcc
ủaAphảikhác
không).HệcósốphươngtrìnhíthơnsốẩnhayđịnhthứccủamatrậnAcủa
hệđầyđủbằng0gọilàhệunderdetermined.Mộthệnhưvậycóthểcóvôs ố
nghiệmvớimộthaynhiềubiếnphụthuộcvàocácbiếncònlại.Vớimộthệnhư
vậyphươngphápCramerhayphươngphápmatrậnnghịchđảokhôngdùng
được.Khisốphương
trìnhnhiềuhơnsốẩnphươngphápchiatráicũngcho
nghiệm với một vàiẩn số đượcchobằng0.Mộtvídụđơngiản là phương
trìnhx+3y=6.Phươngtrìnhnàycór
ấtnhiềunghiệm trongđócómộtnghiệm
làx=6vày=0:
a=[13];
b=6;
x=a\b
x=
6
0
Sốnghiệmvôhạncóthểtồn tại
cóhệ:
2x‐4y+5z=‐4
‐4x‐2y+3z=4
2x+6y‐8z
=0
Tronghệnàyphươngtrìnhthứ3làtổngcủahaiphương trìnhtrênnênhệthật
sựchỉcó2phươngtrình.
Tómlạimộthệmuốncónghiệmduynhấtphảicócácph
ươngtrìnhđộc
lập.Việcxácđịnhcácphươngtrìnhtronghệcóđộclậphaykhôngkhákhó,
nhấtlàđối vớihệcónhiềuphươngtrình.Tađưaramộtphươngphápcho
phépxácđịnhhệphươ
ngtrìnhcónghiệmvàliệunghiệmđócóduynhấthay
không.Phươngphápnàyđòihỏisựhiểubiếtvềhạngcủamatrận.
Taxemxétđịnhthứccủamatrậnsau:
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
−
−
379
a=[3‐41;6102;9‐73];
rank(a)
ans=
2
HệphươngtrìnhAx=Bcómphươngtrìnhvànẩncónghiệmnếuvàchỉnếu
rank(A)=rank([AB]).GọihạngcủaAlàr,nếur=nthìnghiệmlàduynhất.
Nế
ur<nthìhệcóvôsốnghiệmvàrẩncóth ểbiểudiễnnhưlàtổhợptuyến
tínhcủan‐rẩncònlạimàgiátrịcóthểchọnbấtkì.
Vídụ:Giảihệphươngtrình
3x‐2y+8z=48
‐6x+5y+z=‐12
9x+4y+2z=24
Taviết:
a=[3‐28;‐651;942];
b=[48;‐12;24];
rank(a)
ans=
3
rank([ab])
ans=
3
Vậyhệcónghiệmduynhất:
x=a\b
x=
2
‐1
sốhệchonghiệmđúngxácđịnhbằngphépchiatrái.Đốivới
các hệ khác không có nghiệm chính xác. Khi r = rank(a)=rank([ab])hệcó
nghiệmvànếur=nnghiệmlàduynhất.Khirank(a)
≠rank([ab])hệkhôngcó
nghiệm.
Vídụ:Giảimạchđiệngồm3nhánhnốisongsong:nhánh1cótổngtrởZ1=
5+2jvànguồne=100sin(314t+30
0
),nhánh2cótổngtrởZ2=3+4jvànhánh3
cótổngtrở5+6j.Taviếtphương trìnhcủamạchđiệntheodòngnhánh.Sauđó
rútramatrậnAvàB.CáclệnhMATLAB:
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.63482777750950‐11.44276084484129i
‐9.62086494480636‐7.82848079514474i
32
§2.NỘISUY
1.Nộisuyhàmmộtbiến
:MATLABdùng2kiểunộisuy:nộisuyđathứcvà
nộisuytrêncơsởbiếnđổiFourriernhanh,
a.Nộisuyđathức:MATLABdùnghàminterp1(x,y,xi,<phươngpháp>)
vớix,làgiátrịcủahàmtạinhữngđiểmđãchovàxilàgiátrịmàtạiđótacần
y=interpft(x,n)
Vídụ: y=interpft(x,4)
y=
1.00002.62363.00005.3764
33
2.Nộisuy hàmhaibiến:Hàm interp2thựchiệnnộisuyhàm2 biến.Dạng
hàmtổngquát:
ZI=interp2(X,Y,Z,XI,YI,<phươngpháp>)
Z–matrậnchữnhậtchứagiátrịcủahàm2biến
X,Y–mảngcócùng
kíchthước,chứagiátrịx,yđãcho
XI,YI‐mảngchứagiátrịcầnnộisuy
Các<phươngpháp>gồm:‘nearest’,’linear’,’cubic’
3.Nộisuyvàmảngnhiềuchiều:
interp3 nộisuyhàm3biến
interpn nộisuyhàmnhiềubiến
§3.TÍCHPHÂNVÀPHƯƠNGTRÌNHVIPHÂN
1.Tíchphân
:Đểtínhtíchphântadùnghàmquad(tínhtíchphântheophương
phápSimpson)vàhàmquadl(tínhtíchphânbằngphươngphápLobatto).
Vídụ(lưutrongct2_1.m):
f=inline(ʹ1./((x‐0.3).^2+0.01)+1./((x‐0.9).^2+0.04)‐6ʹ);
q=quad(f,0,1)
q=
29.8583
diff(a)
ans=
3‐232‐34
3.Phươngtrìnhviphân
:Phươngtrìnhviphâncấpcaoy
(n)
=f(t,y,y’,..,y
(n‐1)
)
cóthểđưavềhệphươngtrìnhviphâncấp1bằngcáchđặty
1=y;y2=y’,..,
yn=y
(n‐1)
.Nhưvậy:
)y.,,.y,y,t(fy
yy
yy
n21n
32
21
=
′
=
′
=
′
solver là cách giải, thường dùng phương pháp Runge‐Kutta bậc
2/3(ode23)hay4/5(ode45)
35
[t,y]=ode45(‘f’,[01],[0;1;‐1])
Mỗihàngtrongvectơnghiệmtươngứngvớimộtthờiđiểmtrongvectơcộtt.
Như vậy trong ví dụ trên, y(:,1) là nghiệm, y(:,1) làđạo hàm bậc nhất của
nghiệmvày(:,2)là
đạohàmbậchaicủanghiệm.
Vídụ:TìmdòngquađộkhiđóngmạchRCnốitiếpvàonguồnmộtchiềubiết
tíchsốRC=0.1,điệnápnguồnlà10Vvàđiệnápbanđầutrêntụlà2V.
Phươngtrìnhcủamạ
chlà:
e(t)=RC
C
C
u
dt
du
+
Thaysốvàotacó:
0.1u′+u=10
u′=‐10u+100
TacócáclệnhMATLABđểtạohàm:
functionuc=rc(t,u)
uc=‐10*u+100;
vàgiảibàitoán:
[t,u]=ode45(ʹrcʹ,[04],2);
làmatrậntamgiáctrên.
Vídụ(lưutrongct2_5.m):
A=[
123
456
789
101112]
[Q,R]=qr(A)
4.Luỹthừa:NếucómatrậnAvuôngvàsốp>0thìA^plàtíchplầncủaA:
Y=A^2
5.Giátrịriêngvàvectơriêng:eig(A)
[d,r]=eig(A)
6.Quaymatrận
:b=rot90(a)
a=[210;‐25‐1;346]
a=
210
‐25‐1
346
b=rot90(a)
b=
0‐16
154
2‐23
7.Đảomatrận:fliplr(a)đảomatrậntừtráisangphải
k>0‐chọnđườngchéothứktrênđườngchéochính
k<0‐chọnđườngchéothứkdướiđườngchéochính
a=
123
567
891
v=diag(a,1)
v=
2
7
a=diag(v)n ếuvlàvectơthìalàmatrậnvuôngvớivlàđườngchéo
chính
b=triu(a)tạora matrậnbcùngcỡvớimatrậna,chứacácphầntửcủa
ma trận a nằm trênđường chéo chính và phía trênđường chéo chính. Các
phầntửkhácbằng0.
a=[123;456;789]
38
a=
123
456
789
b=triu(a)
b=
123
056
009
2.Bi ểudiễnđathức:MATLABbiểudiễnđathứcnhưlàmộtvectơhàngchứa
cáchệsốcủađathứctheothứtựsốmũgiảmdần
Vídụ: P(x)=x
3
–2x–5
39
ĐểnhậpđathứcnàyvàoMATLABtaviết:
p=[10–2–5]
3
.Nghiệmcủađathức:Đểtìmnghiệmcủađathứctadùnghàmroots
Vídụ: roots(p)
ans=
2.0946
‐1.0473+1.1359i
‐1.0473‐1.1359i
4.Đathứcđặctính:ChomatrậnA,hàmpolyxácđịnhđathứcđặctínhcủa
matrậnA
Vídụ: a=[123;345;456]
a=
123
345
456
poly(a)
ans=
1.0000‐11.0000‐9.0000‐0.0000
2
+5x+6.
Đểtínhtích2đathứctaviết:
a=[123];b=[456];
c=conv(a,b)
c=
413282718
Đểtínhthươnghaiđathứctaviết
[q,r]=deconv(c,a)
q=
456
r=
00000
Trongđóqlàthươngnguyêncònrlàphầndư.
7.Đạohàmđathức:Tínhđạohàmđathứcbằnghàmpolyder
q=polyder(p)
q=
30‐2
Đểtínhđạohàmcủatíchhaiđathứcavàbtaviết
c=polyder(a,b)
c=
16395627