You are on page 1of 204

Lun vn Thc s Ton hc Hng dn khoa hc: PGS.

TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 5
MC LC

LI CM N
Trang
M U ................................................................................................................ 1
NI DUNG ............................................................................................................ 5
CHNG 1. GII THIU S LC V MATLAB ........................................ 5
1.1. TNG QUAN ............................................................................................. 5
1.1.1 Chng trnh....................................................................................... 7
1.1.2 Dng lnh ........................................................................................... 7
1.1.3 Hm s ............................................................................................... 8
1.1.4 Bin s ................................................................................................ 9
1.2. MT S LNH C BN .......................................................................... 9
1.2.1 Lnh gn ........................................................................................... 10
1.2.2 Cc lnh trn ma trn v vect .......................................................... 10
1.2.3 Cc lnh cu trc .............................................................................. 10
1.2.4 V hnh ............................................................................................. 12
1.2.5 Mt s lnh khc ............................................................................... 13
1.2.6 Cc dng thc (format) biu din s.................................................. 14
1.3. CC BI TON ...................................................................................... 14
Bi 1.3.1 ..................................................................................................... 14
Bi 1.3.2 ..................................................................................................... 16
Bi 1.3.3 ..................................................................................................... 18
CHNG 2. A THC TAYLOR .................................................................... 22
2.1. A THC TAYLOR ................................................................................ 22
V d 2.1.1 .................................................................................................. 23
V d 2.1.2 .................................................................................................. 24
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 6
V d 2.1.3 .................................................................................................. 25
V d 2.1.4 .................................................................................................. 25
V d 2.1.5 .................................................................................................. 26
CHNG TRNH MATLAB ....................................................................... 27
Chng trnh 2.1 ........................................................................................ 28
Chng trnh 2.2 ........................................................................................ 30
2.2. SAI S TRONG A THC TAYLOR .................................................... 31
nh l 2.2.1 ............................................................................................... 31
V d 2.2.2 .................................................................................................. 31
V d 2.2.3 .................................................................................................. 32
V d 2.2.4 .................................................................................................. 33
nh l 2.2.5 ............................................................................................... 35
Ghi ch 2.2.6 .............................................................................................. 36
2.2.1 Chui s v hn ................................................................................. 36
nh l 2.2.7 ............................................................................................... 38
nh l 2.2.8 .............................................................................................. 38
CHNG TRNH MATLAB ....................................................................... 39
Chng trnh 2.3 ........................................................................................ 39
Chng trnh 2.4 ........................................................................................ 41
2.3. TNH GI TR S CA A THC ........................................................ 43
V d 2.3.1 .................................................................................................. 45
2.3.1 Mt chng trnh mu ....................................................................... 46
CHNG TRNH MATLAB ....................................................................... 47
Chng trnh 2.5 ........................................................................................ 48
CHNG 3. TM NGHIM ............................................................................. 51
nh l 3.1.................................................................................................. 51
nh l 3.2.................................................................................................. 51
nh l 3.3.................................................................................................. 51
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 7
3.1. PHNG PHP CHIA I .................................................................... 52
3.1.1 M t phng php ........................................................................... 52
V d 3.3.1 .................................................................................................. 52
3.1.2 nh gi sai s .................................................................................. 53
CHNG TRNH MATLAB ....................................................................... 53
Chng trnh 3.1 ........................................................................................ 54
3.2. PHNG PHP NEWTON ..................................................................... 56
3.1.1 M t phng php ........................................................................... 56
V d 3.2.1 .................................................................................................. 57
3.1.2 nh gi sai s .................................................................................. 58
CHNG TRNH MATLAB ....................................................................... 59
Chng trnh 3.2 ........................................................................................ 60
3.3. PHNG PHP CT TUYN ................................................................ 62
3.3.1 M t phng php ........................................................................... 62
V d 3.3.1 .................................................................................................. 63
3.3.2 nh gi sai s .................................................................................. 64
CHNG TRNH MATLAB ....................................................................... 65
Chng trnh 3.3 ........................................................................................ 65
3.3.3 Hm s Matlab fzero ......................................................................... 67
CHNG 4. PHP NI SUY V PHP TNH XP X ................................ 68
4.1. PHP NI SUY A THC .................................................................... 68
4.1.1 a thc ni suy ................................................................................. 68
4.1.2 S tn ti v duy nht ca a thc ni suy ........................................ 68
nh l 4.1.1 ............................................................................................... 68
4.1.3 Sai s ni suy v chn nt ni suy .................................................... 69
nh l 4.1.2 ............................................................................................... 69
4.1.4 a thc ni suy Lagrange ................................................................. 70
4.1.5 Cc t sai phn .................................................................................. 70
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 8
nh l 4.1.3 ............................................................................................... 71
CHNG TRNH MATLAB ....................................................................... 71
Chng trnh 4.1 ........................................................................................ 72
4.1.6 Cng thc ni suy t sai phn Newton .............................................. 73
CHNG TRNH MATLAB ....................................................................... 74
Chng trnh 4.2 ........................................................................................ 74
4.2. A THC CHEBYSHEV ........................................................................ 75
CHNG TRNH MATLAB ....................................................................... 77
Chng trnh 4.3 ........................................................................................ 77
4.3. PHP NI SUY DNG HM GHP TRN (HM SPLINE) ................ 80
4.3.1 Php ni suy spline ........................................................................... 81
4.3.2 Xy dng hm spline bc 3 ni suy ................................................... 81
V d 4.3.1 .................................................................................................. 82
4.3.3 Chng trnh MATLAB spline ......................................................... 83
4.4. BI TON XP X HM THC NGHIM ........................................... 84
4.4.1 Trng hp f(x)=Ax+B .................................................................... 84
V d 4.4.1 .................................................................................................. 85
4.4.2 Trng hp f(x)=Ax
2
+Bx+C ........................................................... 85
V d 4.4.2 .................................................................................................. 86
CHNG TRNH MATLAB ....................................................................... 86
Chng trnh 4.4 ........................................................................................ 86
CHNG 5. TCH PHN S V VI PHN ................................................... 88
5.1. CNG THC HNH THANG ................................................................. 88
5.1.1 Thit lp cng thc ........................................................................... 88
V d 5.1.1 .................................................................................................. 88
V d 5.1.2 .................................................................................................. 88
5.1.2 nh gi sai s .................................................................................. 90
V d 5.1.3 .................................................................................................. 90
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 9
5.1.3 Nhn xt chung ................................................................................. 90
V d 5.1.4 .................................................................................................. 91
CHNG TRNH MATLAB ....................................................................... 92
Chng trnh 5.1 ........................................................................................ 92
5.2. CNG THC SIMPSON ........................................................................ 94
5.1.1 Thit lp cng thc ........................................................................... 94
5.1.2 nh gi sai s .................................................................................. 94
5.1.3 Nhn xt chung ................................................................................. 95
CHNG TRNH MATLAB ....................................................................... 96
Chng trnh 5.2 ........................................................................................ 96
5.3. CNG THC TCH PHN GAUSS ........................................................ 98
5.1.1 Thit lp cng thc ........................................................................... 98
5.1.2 Cng thc sai s................................................................................ 99
CHNG TRNH MATLAB ....................................................................... 99
Chng trnh 5.3 ........................................................................................ 99
Ch thch .................................................................................................. 100
Chng trnh 5.3a ..................................................................................... 102
5.4. VI PHN S ......................................................................................... 102
5.4.1 Vi phn s dng php ni suy ......................................................... 103
CHNG TRNH MATLAB ..................................................................... 105
Chng trnh 5.4 ...................................................................................... 106
Chng trnh 5.4a ..................................................................................... 107
Chng trnh 5.4b..................................................................................... 108
Chng trnh 5.4c ..................................................................................... 110
CHNG 6. GII H PHNG TRNH TUYN TNH ............................ 112
6.1. PHNG PHP GAUSS ....................................................................... 112
V d 6.1.1 ................................................................................................ 114
CHNG TRNH MATLAB ..................................................................... 116
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 10
Chng trnh 6.1 ...................................................................................... 116
6.2. PHNG PHP NHN T LU ............................................................ 118
nh l 6.2.1 ............................................................................................. 118
V d 6.2.2 ................................................................................................ 119
CHNG TRNH MATLAB ..................................................................... 119
Chng trnh 6.2 ...................................................................................... 119
V d 6.2.3 ................................................................................................ 122
Chng trnh 6.2a ..................................................................................... 123
6.3. PHNG PHP LP ........................................................................... 123
nh ngha 6.3.1 ....................................................................................... 124
V d 6.3.2 ................................................................................................ 124
nh l 6.3.3 ............................................................................................. 124
nh ngha 6.3.4 ....................................................................................... 125
nh l 6.3.5 ............................................................................................. 125
V d 6.3.6 ................................................................................................ 125
nh l 6.3.7 ............................................................................................. 126
nh ngha 6.3.8 ....................................................................................... 127
V d 6.3.9 ................................................................................................ 128
CHNG TRNH MATLAB ..................................................................... 131
Chng trnh 6.3 ...................................................................................... 132
Chng trnh 6.3a ..................................................................................... 133
CHNG 7. GII S PHNG TRNH VI PHN THNG .................. 135
7.1. PHNG PHP EULER ....................................................................... 136
CHNG TRNH MATLAB ..................................................................... 138
Chng trnh 7.1 ...................................................................................... 139
Chng trnh 7.1a ..................................................................................... 141
7.2. PHNG PHP RUNGE KUTTA ..................................................... 142
CHNG TRNH MATLAB ..................................................................... 145
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 11
Chng trnh 7.2 ...................................................................................... 145
7.3. PHNG PHP A BC (MULTISTEP METHODS) ..................... 147
CHNG TRNH MATLAB ..................................................................... 149
Chng trnh 7.3 ...................................................................................... 149
7.4. BI TON BIN TUYN TNH CP HAI ........................................... 152
CHNG TRNH MATLAB ..................................................................... 153
Chng trnh 7.4 ...................................................................................... 153
CHNG 8. GII S PHNG TRNH O HM RING ..................... 156
8.1. BI TON LAPLACE 1 CHIU ........................................................... 156
8.1.1 Bi ton .......................................................................................... 156
8.1.2 Phn r bi ton .............................................................................. 156
CHNG TRNH MATLAB ..................................................................... 157
Chng trnh 8.1 ...................................................................................... 158
8.2. BI TON PARABOLIC 1 CHIU ....................................................... 159
8.2.1 Bi ton .......................................................................................... 159
8.2.2 Phn r bi ton .............................................................................. 160
CHNG TRNH MATLAB ..................................................................... 161
Chng trnh 8.2 ...................................................................................... 161
8.3. BC HI T V IU KIN BIN NEUMANN CA BI TON
MT CHIU ............................................................................................... 165
8.3.1 Bc hi t ....................................................................................... 165
8.3.2 iu kin bin Neumann ................................................................. 167
CHNG TRNH MATLAB ..................................................................... 168
Chng trnh 8.3 ...................................................................................... 169
8.4. BI TON LAPLACE 2 CHIU ........................................................... 172
8.4.1 Bi ton .......................................................................................... 172
8.4.2 Phn r bi ton .............................................................................. 172
CHNG TRNH MATLAB ..................................................................... 174
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 12
Chng trnh 8.4 ...................................................................................... 174
8.5. BI TON PARABOLIC 2 CHIU ....................................................... 179
8.5.1 Bi ton .......................................................................................... 179
8.5.2 Phn r bi ton .............................................................................. 179
CHNG TRNH MATLAB ..................................................................... 180
Chng trnh 8.5 ...................................................................................... 180
8.6. BC HI T V IU KIN BIN NEUMANN CA BI TON HAI
CHIU ........................................................................................................ 186
CHNG TRNH MATLAB ..................................................................... 187
Chng trnh 8.6 ...................................................................................... 187
KT LUN ....................................................................................................... 191
1. NHN NH CHUNG .............................................................................. 191
2. MT S HNG NGHIN CU TIP THEO ....................................... 192
TI LIU THAM KHO
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 13
DANH MC CC BNG

Trang
Bng 2.1. Xp x Taylor ca e
x
quanh im x = 0 ....................................................... 25
Bng 3.1. Phng php chia i i vi v d 3.1.1 .................................................... 52
Bng 3.2. Phng php Newton gii x
6
x 1 = 0 ..................................................... 58
Bng 3.3. Phng php ct tuyn gii x
6
x 1 = 0 ................................................... 64
Bng 4.1. Cc gi tr v cc t sai phn ca cos(x) ...................................................... 73
Bng 4.2. Ni suy cos(x) ............................................................................................. 74
Bng 4.3. Gi tr
( )
s s

-1 1
max
x
n
x
e c x ............................................................................... 80
Bng 5.1. Cc v d v quy tc hnh thang .................................................................. 92
Bng 5.2. Cc v d v quy tc Simpson ..................................................................... 95
Bng 6.1. Vi kt qu gii v d 6.3.9 bng phng php Jacobi ............................... 130
Bng 6.2. Vi kt qu gii v d 6.3.9 bng phng php Gauss - Seidel .................. 131
Bng 7.1. Kt qu gii s bng phng php Euler hin vi n = 0, 1, ...,10 .............. 140
Bng 7.2. Kt qu gii s bng phng php Euler n vi n = 0, 1, ...,10 ................. 142
Bng 7.3. Kt qu gii s bng cng thc (7.12) vi n = 0, 1, ...,10 .......................... 146
Bng 7.4. Kt qu gii s bng phng php AB2 vi n = 0, 1, ...,10 ....................... 151
Bng 7.5. Kt qu gii s bi ton bin tuyn tnh cp 2 vi n = 0, 1, ...,10 .............. 155
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 14
DANH MC CC HNH

Trang
Hnh 1.1. th hm s f(x)=x
2
+ sin(x) ..................................................................... 15
Hnh 1.2. th ca y=s(x) (xanh) v y=sin(x) ().................................................... 17
Hnh 1.3. .................................................................................................................... 19
Hnh 1.3a. .................................................................................................................. 20
Hnh 1.3b. .................................................................................................................. 21
Hnh 2.1. th xp x Taylor bc nht ca e
x
quanh im x = 0 ................................ 23
Hnh 2.2. th xp x Taylor bc nht v bc hai ca e
x
quanh im x = 0 ............... 24
Hnh 2.3. th xp x Taylor ca log(x)=ln(x) quanh im x = 1 .............................. 27
Hnh 2.4. th sai s trong xp x Taylor ca e
x
quanh im x = 0 ........................... 32
Hnh 2.5. th xp x Taylor ca e
x
quanh im x = 0 .............................................. 41
Hnh 2.6. th sai s trong xp x Taylor ca log(x)=ln(x) quanh im x=1 ............ 43
Hnh 2.7. Cc xp x Taylor ca Sint(x) ..................................................................... 50
Hnh 3.1. Dng biu ca phng php Newton ...................................................... 57
Hnh 3.2. Biu ca phng php ct tuyn:
1 0
x x o < < .......................................... 62
Hnh 3.3. Biu ca phng php ct tuyn:
1 0
x x o < < .......................................... 63
Hnh 4.1. th th hin hm ni suy ......................................................................... 79
Hnh 4.2. th dng iu ca sai s trong php ni suy ............................................ 80
Hnh 4.3. th ca a thc thc nghim f (mu xanh) v cc im d kin (mu
) .............................................................................................................................. 87
Hnh 5.1. th ca f, f, f v f ............................................................................ 107
Hnh 5.2. th th hin cc im (x) f3=0 .......................................................... 108
Hnh 5.3. th biu th im cc tiu ca hm f ..................................................... 110
Hnh 5.4. th biu hin lch ca f v k ............................................................. 111
Hnh 7.1. Gii s (mu xanh), gii chnh xc (mu ).............................................. 141
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 15
Hnh 7.2. Gii s (mu xanh), gii chnh xc (mu ).............................................. 142
Hnh 7.3. Gii s (mu xanh), gii chnh xc (mu ).............................................. 147
Hnh 7.4. Gii s (mu xanh), gii chnh xc (mu ).............................................. 151
Hnh 7.5. Gii s (mu xanh), gii chnh xc (mu ).............................................. 155
Hnh 8.1. Gii s (mu xanh), gii chnh xc (mu ).............................................. 159
Hnh 8.2a. Gii s (mu xanh), gii chnh xc (mu ) ............................................ 163
Hnh 8.2b. Gii s (mu xanh), gii chnh xc (mu ) ............................................ 164
Hnh 8.3a. y l th ca ln(error(h)) VS ln(h) ................................................. 166
Hnh 8.3b. Gii s vi N=10 (mu xanh), gii chnh xc (mu ) ............................ 170
Hnh 8.4a. y l php gii s .................................................................................. 177
Hnh 8.4b. y l php gii chnh xc ....................................................................... 177
Hnh 8.4c. y l th ca php gii s .................................................................. 178
Hnh 8.4d. y l th ca php gii chnh xc ...................................................... 178
Hnh 8.5a. y l th ca php gii s .................................................................. 183
Hnh 8.5b. y l th ca php gii chnh xc ...................................................... 184
Hnh 8.5c. y l th ca php gii s .................................................................. 185
Hnh 8.5d. y l th ca php gii chnh xc ...................................................... 185
Hnh 8.6a. y l th ca li gii s th nht ........................................................ 189
Hnh 8.6b. y l th ca li gii s th hai.......................................................... 189
Hnh 8.6c. y l th ca li gii chnh xc .......................................................... 190

Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 16
M U

Gii tch s hin ang pht trin mnh v cng mnh hn vi s pht trin
cc k nhanh ca tin hc. Cng ngh tin hc v gii tch s c vai tr rt quan
trng trong cc lnh vc, ngay c trong th trng chng khon ang mi ni
Vit Nam v din bin rt gay gt hin nay trong nn kinh t th trng, cng phi
nghin cu nhiu bi ton phng trnh vi tch phn ngu nhin m khng th
khng s dng kin thc v gii tch s v tin hc ng dng. y chng ti
khng i vo nghin cu bi ton v th trng chng khon m ch mun ni r
vai tr ca gii tch s v tin hc.
Thc t hin nay: Gii tch s, cc phng php tnh trnh by n thun
bng kin thc ton th ti liu v sch hin nay c rt nhiu v ph bin. Ti liu
v sch v gii s cc bi ton bng cc chng trnh my tnh hin cng c
nhng bng MATLAB th khng nhiu v chng trnh MATLAB c a vo
cn ri rc v cha hng dn cho ngi c cch thc hin mt chng trnh c
th nh th no.
Trong khi , MATLAB l phn mm ni ting ca cng ty MathWorks,
l mt ngn ng hiu nng cao cho tnh ton k thut. N tch hp tnh ton, hin
th v lp trnh trong mt mi trng d s dng. Cc ng dng tiu biu ca
MATLAB bao gm: h tr ton hc v tnh ton; pht trin thut ton; m hnh,
m phng; phn tch, kho st v hin th s liu; ha khoa hc v k thut;
pht trin ng dng vi giao din ha.
Ngoi MATLAB c bn vi cc kh nng rt phong ph, phn mm
MATLAB cn c trang b thm cc ToolBox cc gi chng trnh (th vin)
cho cc lnh vc ng dng rt a dng nh x l tn hiu, nhn dng h thng, x
l nh, mng n ron, logic m, ti chnh, ti u ha, phng trnh o hm ring,
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 17
sinh tin hc,... y l cc tp hp m ngun vit bng chnh MATLAB da theo
cc thut ton mi, hu hiu m ngi dng c th chnh sa hoc b sung thm
cc hm mi. MATLAB c thit k gii cc bi ton bng s ch khng
nhm mc ch chnh l tnh ton k hiu nh MATHEMATICA v MAPLE. Tuy
nhin, trong MATLAB cng c th tnh ton k hiu c nh cc hm trong
Symbolic Math ToolBox.
Trn th gii, MATLAB c cng ng hn lm trn th gii chp nhn
rng ri nh mt cng c phc v cho ging dy, nghin cu ton hc v pht
trin cc ng dng k thut. Hn 3500 trng i hc nht l cc trng i hc
k thut a MATLAB vo ging dy v nghin cu. Hin nay c trn 700
u sch v MATLAB dnh cho gio vin, sinh vin v cc nh chuyn mn.
Vit nam, theo chng ti c bit, MATLAB c a vo ging dy cho
sinh vin, hc vin cao hc hoc gii thiu ti mt s khoa, trng i hc v cng
xut bn mt s u sch v MATLAB dnh cho sinh vin cc khi khoa hc
v k thut. Tuy nhin mc ph bin ca MATLAB cha phi l cao. Nht l
ng bng sng Cu Long.
Vi u th v tnh ton s tr MATLAB rt thch hp cho vic ging dy
mn hc gii tch s, cc phng php s - mn hc khng th thiu c i vi
sinh vin ton, l, cng ngh thng tin v cc ngnh k thut. Vic s dng
MATLAB lp trnh cc thut ton ca mn hc ny c ci li l n gin, d
dng v cc th hin th kt qu v kim tra kt qu cc chng trnh t vit
so vi kt qu ca cc hm ci t sn v MATLAB c bn cha ng rt nhiu
cc hm tnh ton ton hc. T , gp phn nng cao nng lc dy v hc ton
trong cc trng i hc, c bit l mn hc gii tch s v phng php tnh.
Chnh v th, PGS.TS NG C TRNG khuyn ti nn chn ti
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 18
GII S BNG MATLAB.
Trong lun vn ny, chng ti s trnh by s lc (khng i su) v l
thuyt gii s m ch trng vo cc chng trnh MATLAB gii quyt bi ton
s.
thc hin lun vn ny, chng ti tham kho ti liu c lin quan
trong v ngoi nc, phn tch, chn lc v h thng ho thnh c s l lun phc
v cho ti. Ngoi ra, chng ti cn s dng cng ngh thng tin, internet.
Khi nhn c li khuyn t PGS.TS NG C TRNG v ti ny,
ti bt u tm hiu s lc v ti, chn ti. Sau , nghin cu nhng ti
liu c lin quan ri phn tch, tng hp, chn lc nhng ni dung c bn phc v
cho ti. Lp cng d kin, tm hiu v chy th mt s chng trnh
MATLAB. Tin hnh sp xp li cc vn , iu chnh, b sung cc on chng
trnh v vit hon chnh thnh ni dung ca lun vn.
Ni dung ca lun vn c chia thnh 8 chng. Chng 1, gii thiu s
lc v MATLAB, mt s c tnh v mt s lnh c s dng trong cc chng
trnh MATLAB trong lun vn ny. Chng 2, trnh by a thc Taylor, cch thit
lp, cch xc nh gi tr v sai s ca a thc Taylor, v cch c lng a thc.
Chng 3, trnh by mt s phng php tm nghim thc ca phng trnh phi
tuyn, phng php chia i, phng php Newton v phng php ct tuyn.
Chng 4, php ni suy v php tnh xp x, trong phn ny chng ti trnh by
php ni suy a thc, a thc Chebyshev, php ni suy dng hm ghp trn v bi
ton xp x hm thc nghim. Chng 5, tch phn s v vi phn, chng ti trnh
by mt s cng thc tnh tch phn, cng thc hnh thang, cng thc Simpson v
cng thc tch phn Gauss, v s lc v vi phn s. Chng 6, mt s phng
php gii h phng trnh tuyn tnh nh l phng php Gauss, phng php
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 19
nhn t LU v phng php lp. Chng 7, mt s phng php gii s phng
trnh vi phn thng nh l phng php Euler, phng php Runge Kutta v
phng php a bc i vi phng trnh vi phn tuyn tnh cp mt, v gii bi
ton bin tuyn tnh cp hai. Chng 8, gii s phng trnh o hm ring da
trn c s phn r cc bi ton, bi ton Laplace v bi ton Parabolic mt chiu
v hai chiu cng vi vic nh gi bc hi t v iu kin Neumann ca n.
Nhn chung ni dung lun vn trnh by tng i y cc ni dung
chng trnh ca mn hc gii tch s cng nh mn hc phng php tnh ca
sinh vin chuyn ngnh ton, sinh vin bch khoa v sinh vin ngnh k thut.
Cng vi cc chng trnh MATLAB tng mc s to nn mt phong cch ti
mi hn, tch cc hn, hiu qu v hin i hn trong vic dy v hc mn gii
tch s cng nh mn phng php tnh. Gp phn nng cao nng lc dy v hc
ton trong cc trng i hc. y cng l mc tiu hng ti ca chng ti khi
thc hin lun vn ny.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 20
NI DUNG
CHNG 1
GII THIU S LC V MATLAB

1.1. TNG QUAN
Nh bit, MATLAB c thit k gii cc bi ton bng s ch
khng nhm mc ch chnh l tnh ton k hiu nh MATHEMATICA v
MAPLE. Tuy nhin, trong MATLAB cng c th tnh ton k hiu c nh cc
hm trong Symbolic Math ToolBox (chng ti khng trnh by c th l thuyt
phn ny m ch ch trng phn lp trnh).
Tn ca phn mm MATLAB l vit tt ca thut ng MATrix
LABoratory, c Cleve Moler pht minh vo cui thp nin 1970, v sau l
ch nhim khoa my tnh ti i hc New Mexico. u tin n c vit bng
FORTRAN cung cp truy nhp d dng ti phn mm ma trn c pht trin
bi cc d n LINPACK v EISPACK. Sau n c vit bng ngn ng C trn
c s cc th vin v pht trin thm nhiu lnh vc ca tnh ton khoa hc v cc
ng dng k thut.
Steve Bangert l ngi vit trnh thng dch cho MATLAB. Cng vic
ny ko di gn 1 nm. Sau ny, Jack Little kt hp vi Moler v Steve Bangert
quyt nh a MATLAB thnh d n thng mi - cng ty The MathWorks ra
i thi gian ny nm 1984.
Nm 2004 MATLAB 7 pht hnh, c kh nng chnh xc n v kiu
nguyn, h tr hm lng nhau, cng c v im, v c mi trng phn tch s
liu tng tc. n thng 12 nm 2008, phin bn 7.7 c pht hnh vi SP3 ci
thin Simulink cng vi hn 75 sn phm khc.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 21
Mt s c trng chnh ca MATLAB:
MATLAB l ngn ng thng dch. V th n c th lm vic hai ch :
tng tc v lp trnh. Trong ch tng tc MATLAB thc hin tng lnh c
g trong ca s lnh sau du nhc lnh v kt qu tnh ton c hin ngay trong
ca s ny, cn th c hin trong mt ca s khc. Lnh tng tc c th l
n gin, th d tnh sin(1.5) hoc v fplot('sin(1 ./ x)', [0.01 0.1]), c th l cu
trc iu kin, th d if x<=0; y=0; else; y=1; end hoc cc cu trc lp xc nh
v khng xc nh. Trong ch lp trnh mt tp lnh c son tho v ghi
thnh mt tp ui .m (m-file). Cc hm cng c t chc thnh cc m-file. Mt
chng trnh c th gm nhiu m-file. chy chng trnh ch cn g tn m-file
chnh trong ca s lnh ri Enter.
Cc hm trong MATLAB c bn (khng k cc th vin chuyn dng c
gi l cc ToolBox) c chia lm 2 loi: hm trong v hm ngoi. Cc hm trong
l cc hm c ci t sn (built-ins) tc l tn ti di dng m nh phn nn ta
khng th xem c m ngun ca chng, th d cc hm sin, sqrt, log, clear,
clc,.... y l cc hm hay c s dng hoc cc hm i hi nhiu thi gian x
l. Cc hm ngoi l cc hm tn ti di dng m ngun m ngi dng c th
tham kho hoc chnh sa, b sung khi cn thit, th d log10, ode23, fzero,...
Phn t d liu chnh ca MATLAB l cc ma trn (mng) m kch thc
ca chng khng cn khai bo trc nh trong cc ngn ng lp trnh khc. Tuy
nhin, tng tc x l cn bo trc cho MATLAB bit kch thc ti a ca
mng phn b b nh bng mt lnh gn, chng hn A(20,30)=0.
Cc kh nng chnh ca MATLAB c bn:
Thc hin cc tnh ton ton hc bao gm: ma trn v i s tuyn tnh, a
thc v ni suy, phn tch s liu v thng k, tm cc tr ca hm mt bin hoc
nhiu bin, tm nghim ca phng trnh, tnh gn ng tch phn, gii phng
trnh vi phn
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 22
ha 2 chiu v 3 chiu: MATLAB cung cp rt nhiu cc hm ha,
nh ta c th nhanh chng v c th ca hm bt k 1 bin hoc 2 bin, v
c cc kiu mt, cc contour, trng vn tc,...Ngoi ra MATLAB cn v rt
tt cc i tng 3 chiu phc tp nh hnh tr, hnh cu, hnh xuyn,..v cung cp
kh nng x l nh v hot hnh.
Xy dng giao din ngi dng: vi MATLAB 7 ngi dng c th d
dng xy dng giao din gm cc thc n, nt lnh, hp thoi, hp chn,...m
khng cn phi vit m nh cc phin bn trc y.
1.1.1 Chng trnh
- Mt chng trnh MATLAB thng c son trong cc M-file (cc file
c ui .m).
- chy cc dng lnh trong file xyz.m no , ta vo ca s lm vic v
g xyz ri Enter. Lu : lc ny ng dn ti th mc cha file xyz.m (v cc
file lin quan) phi c khai bo trong Current Directory ca MATLAB. Khi
mi khi ng, th mc ny mc nh l Work trong ch ci t Matlab (thng
l C:\MATLAB7\work).
1.1.2 Dng lnh

- Cc dng lnh trong MATLAB c thc hin tip ni nhau. Mi dng
lnh thng thng c th c du ; cui hoc khng. Nu dng lnh khng c
du ; cui th kt qu s c xut ra. Trong trng hp khng mun nhn
cc kt qu trung gian m ch mun xem kt qu cui cng, ta s dng du ;
cho cc dng lnh m ta khng mun xem kt qu.
V d: dng lnh x=1+2 s xut ra x=3. Tuy nhin dng lnh x=1+2; s khng
xut ra g ht (mc d gi tr ca bin x by gi l 3).
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 23
- Nu mun loi b mt dng lnh khi chy chng trnh, ta c th du %
u dng lnh. Thng thng du % c s dng ghi cc ch thch (ch
dng cho ngi c, my khng thc thi).
1.1.3 Hm s
- Ta c quyn vit sin(2) v hm sin l mt hm c sn trong th vin
MATLAB. Ngoi ra ta c quyn nh ngha thm cc hm mi, v sau khi nh
ngha th ta c quyn s dng cc hm mi ny y ht nh cc hm c bn nh hm
sin.
- Hm s xyz c vit trn file xyz.m, c c php kiu nh:
function a=xyz(b,c) % day la ham xyz
Trong b, c l cc d liu nhp vo, a l gi tr tr v (trong chng trnh s
c t nht mt lnh gn, chng hn a = b + c;), dng ch day la ham xyz l ch
thch v cng dng ca hm xyz.
V d: ta thnh lp mt hm i sang radian
function rad=change(do) % day la ham doi do sang radian.
rad=do*pi/180; % doi do sang radian.
t tn file l change.m. Nu ta i 45 sang radian, ch cn g:
>> rad=change(45)
Ri nhn Enter s cho ta kt qu
rad =
0.7854

By gi ta th to hm gii phng trnh bc hai
2
0 ax bx c + + = , vi tn
file l bachai.m. Trong a, b, c c a vo khi gi chng trnh.
function [x1,x2]=bachai(a,b,c)
delta=b^2-4*a*c;
x1=(-b-sqrt(delta))/(2*a); x2=(-b+sqrt(delta))/(2*a);
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 24
Khi chy chng trnh t Command Windo, ta g
>>[x1,x2]=bachai(4,6,-7)
MATLAB s chy chng trnh gii phng trnh bc hai vi a=4, b=6,
c=-7, v cho kt qu l
x1=
-2.2707
x2=
0.7707
Ta cng c th lp hm gii phng trnh bc hai vi cc h s thay i
c nhp t bn phm theo yu cu ca tng phng trnh.
- xem cng dng ca mt hm s xyz (l hm c sn trong th vin hoc
do ta t nh ngha), ta vo ca s lm vic v g help xyz ri Enter. Ta s c
xem cc ch thch trong file xyz.m.
1.1.4 Bin s
- Cc bin c k hiu bng mt k t hoc 1 chui k t. MATLAB phn
bit ch thng v ch hoa.
- Cc bin thng thng c nh ngha trong 1 file c gi l bin a
phng (local variable). MATLAB cng cho php s dng mt s bin ton cc
(global variable). Bin ton cc xx phi c khai bo l global xx, trong tt c
cc file m xx xut hin, c mt file nh ngha xx, chng hn gn xx=3.
- Bin i v j c mc nh l s o n v (i^2=-1). Tuy nhin, nu ta dng
lnh gn i=3 th bin i s mang gi tr 3.
1.2. MT S LNH C BN
Th vin c sn ca MATLAB rt phong ph v c th t hc cc lnh
trong MATLAB mt cch d dng bng cch vo phn Help (hoc bm F1) ca
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 25
chng trnh. Trong cc chng trnh phn sau ta ch cn mt s rt t cc lnh
di y.
1.2.1 Lnh gn
C dng x=y. Ch rng thc hin lnh gn th x khng cn phi khai
bo trc, m cng khng cn c cng kiu d liu vi y. Lnh ny n gin lm
cho x tr thnh mt copy ca y.
1.2.2 Cc lnh trn ma trn v vector
- Lnh A(m,n) tr v phn t dng m, ct n ca matrn A.
- Lnh A s chuyn A thnh A
t
.
- Lnh A=zeros(m,n) s cho A l ma trn 0 c m dng v n ct. Tng t
cho lnh ones(m,n).
- Lnh size(A) s cho s dng v s ct ca A.
- Lnh B=f(A) s cho ma trn B cng c vi ma trn A v
B(m,n)=f(A(m,n)).
- Lnh A+B, A*B cho php cng v nhn ma trn.
- Lnh A^(-1) cho nghch o ma trn A.
V vector cng l ma trn nn ta c th dng li cc lnh ca ma trn, v
- Lnh X=[a1,a2,a3] s cho vector X c X(n)=an, ch s n nh t 1.
- Lnh X=[a:b] s cho vector X=[a,a+1,,b]; a, b l cc s nguyn.
- Lnh A\b tng ng vi A^(-1)*b.
- Lnh norm(X,p) cho chun ca X theo l
p
; norm(X) tng ng
norm(X,2) l chun Euclide, v norm(X,inf) l chun sup.
1.2.3 Cc lnh cu trc
- Lnh if c dng
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 26
if (biu thc logic)
(Cc dng lnh)
else
(Cc dng lnh)
end

Lu l else c th b i c dng thu gn if end. Trong cc biu
thc logic, ta c th dng cc ton t so snh nh == (equal), ~= (not equal), >=,
<=, >,<, v cc ton t logic nh & (and), | (or)
- Lnh for c dng
for i=a:b
(Cc dng lnh)
end

y ban u i=a, sau mi bc lp i s c tng ln 1, v i=b ti vng
lp cui cng.
- Lnh while c dng
while (biu thc logic)
(Cc dng lnh)
end
Vng lp s dng khi biu thc logic tr v gi tr 0 (sai).
- Cc lnh break, return v error:
Lnh break: kt thc s thc thi vng lp for hoc while.
Lnh return: thng c s dng trong cc hm ca MATLAB, n cho php
quay tr li thc thi nhng lnh nm trong tc dng ca lnh ny.
Lnh error(dng nhn): kt thc vic thc thi lnh v hin th dng nhn
trn mn hnh.
Xt v d, chn mt s nguyn dng bt k, nu s chn th chia cho 2, s l
th nhn n vi 3 ri cng 1. Lp li qu trnh ny cho n khi c kt qu l 1.
Chng trnh c trong file dk.m. Khi chy chng trnh s thy tc dng ca lnh
break (dng chng trnh khi nhp s m hoc s 0).
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 27
Chng trnh:
while 1
n=input('Nhap vao mot so:');
if n<=0
break
end
while n>1
if rem(n,2)==0 % phan du cua n chia 2.
n=n/2
else
n=n*3+1
end
end
end

1.2.4 V hnh

MATLAB cung cp rt nhiu cng c v hnh, tuy nhin ta c th dng mt
s lnh n gin cho php v hnh t d liu ri rc. Trc tin ta c mt s lnh
v hnh trong 2 chiu:
- Lnh plot(X,Y) trong X,Y l hai vector c cng c, s v bng cch ni
cc im c ta (X(n),Y(n)).
- Mt s option (c hoc khng, sau lnh plot): Ta c th dng xlabel(x),
ylabel(f(x)) ghi ch cho trc honh v trc tung. Ta c th dng title(Tua de
cua hinh ve) thm ta cho mt hnh. Ta cng c th nh trc min hin
th, chng hn lnh axis([0 1 2 3]) s ch hin th phn hnh v trn hnh vung
[0,1]x[2,3]. Nu mun th c mu chng hn, ta dng plot(X,Y, r).
- Trong trng hp mun v nhiu hnh, ta phi gi cc lnh
figure(1)
plot(X1,Y1,r)
figure(2)
plot(X2,Y2,b)

Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 28
Khi ta s c hai hnh v phn bit. Nu ta khng c cc lnh figure,
MATLAB s mc nh ta ang v trn figure(1) v do , nu ta v nhiu hnh th
cng ch c hnh cui cng c lu li.
- Cc lnh hold on v hold off cho MATLAB bit ta mun gi nguyn hin
trng ang c ca mt hnh v thc hin cc lnh ln, chng hn
figure(2)
plot(X1,Y1,r)
hold on
plot(X2,Y2,b)
hold off

S v th ca (X1,Y1) bng mu , v th ng vi (X2,Y2) bng mu
xanh trn cng mt hnh v. Nu khng c cc lnh hold on, hold off, th ch c
th th hai c v li.
- Ta cng c th dng lnh plot(X1,Y1,r,X2,Y2,b) v th ng vi
(X1,Y1) bng mu , v th ng vi (X2,Y2) bng mu xanh trn cng mt
hnh v. Cch v ny thng dng so snh hai (hoc nhiu) hm s vi nhau.
v hnh trong 3 chiu, ta c th cc lnh cho trng hp 2 chiu v
- Lnh surf(X,Y,Z) s v bng cch ni suy tuyn tnh cc im
(X(m),Y(n),Z(n,m)), trong X,Y l hai vector v Z l ma trn vi c tng
thch. Lnh surfc(X,Y,Z) c chc nng tng t, nhng thm ci bng xung
y th.
1.2.5 Mt s lnh khc
- Lnh clear all dng xa tt c cc lu tr tm ca MATLAB. N
thng c dng bt u file .m cha chng trnh chnh ca chng ta (
mi ln chy th khng b nh hng bi cc ln chy trc ).
- Lnh disp('thong bao') dng xut cc thng bo.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 29
1.2.6 Cc dng thc (format) biu din s
Format short: S du phy c nh, vi 5 ch s c ngha sau du phy
Format long: S du phy c nh, vi 15 ch s c ngha sau du phy
Format short e: S du phy ng, vi 5 ch s c ngha sau du phy
Format long e: S du phy ng, vi 15 ch s c ngha sau du phy
Format short g: La chn tt nht phy c nh hay ng vi 5 ch s c ngha
sau du phy.
Format long g: La chn tt nht phy c nh hay ng vi 15 ch s c
ngha sau du phy.
Format rat: Biu th s thc v s hu t gn nht.
disp: Hin th ni dung ca bin.
Fprintf: Hm cho php hin th theo cc khun dng ch nh.
Sprintf: Hm tr v xu k t in theo cc khun dng ch nh.

1.3. CC BI TON
MATLAB l mt ngn ng lp trnh rt d s dng, c bit nu ta bit
dng C hoc Pascal. N cho php lm c kh nhiu vic trong ton da trn
mt s rt t cc lnh.
Bi 1.3.1 V th hm s f(x)=x^2+sin(x) trn on [0,1] bng cch ly 11
im ( 1) / 10, 1, 10
i
x i i = = . Yu cu:
- nh ngha hm s f(x)=x^2+sin(x) ring trong file f.m. Sau v th
hm s trong file bai1.m.
- Trn th ghi ch trc honh l x, trc tung l x^2+sin(x), t ta
l th hm s f(x)=x^2+sin(x).
Chng trnh:
% file f.m
function a=f(x);
a=x^2+sin(x);

% file bai1.m
clear all
N=10;
X=[0:N]*1/N;
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 30
Y=zeros(1,N+1);
for i=1:(N+1)
Y(i)=f(X(i));
end
plot(X,Y);
xlabel('x');
ylabel('x^2+sin(x)');
title('Hinh 1.1. Do thi ham so f(x)=x^2+sin(x).');

Chy file bai1.m, cc file ny c sn trong th mc bai1.3.1. Kt qu:

chy chng trnh, ta lm tng bc sau:
- M ca s lm vic ca MATLAB.
- Vo c ch Current Directory, ghi ng dn ch ti th mc, chng hn
D\CAOHOC\ddtrong\luanvan-ct\ch1\cacbaitoan\bai1.3.1\bai1. Ta cng c th
kch vo du ... MATLAB hin cy th mc ri chn th mc
D\CAOHOC\ddtrong\luanvan-ct\ch1\cacbaitoan\bai1.3.1\bai1; ti dng >> trn
ca s lm vic, g bai1, ri Enter. Ta s thu c hnh v nh mong mun.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 31
- lu hnh v ny vo my tnh, ta m hnh v , vo File\Save As, ri
t tn v chn nh dng thch hp (chng hn .bmp hoc .ps). Hnh v ny s
c lu vo th mc hin hnh l D\CAOHOC\ddtrong\luanvan-
ct\ch1\cacbaitoan\bai1.3.1, vi tn l hinh1.1.bmp.
Bi 1.3.2 Ta bit rng
1
2( 1)
sin( ), 0 1,
n
n
x n x x
n
t
t

= < <

theo ngha trong


2
(0,1) L .
Yu cu:
- Vit file s.m nh ngha hm s(x) nh sau
1
2( 1)
( ) sin( )
n M
n
s x n x
n
t
t
=

, trong M l bin ton cc (global).


- Vit file bai2.m, trong nh ngha M=20. Trn on [0,1] ly N+1 im
( 1) / 10, 1,
i
x i i N = = vi N=100. V cc th s(x) v y=x trn cng mt hnh
v.
- Tnh xp x cc sai s
2
(0,1)
( )
L
s x x v
(0,1)
( )
L
s x x

da trn cc d liu ri
rc ti cc im
i
x . Nu nhn xt. tnh sai s, ta dng cc xp x
2
1
1
2 2
1
0
[0,1] 1 1
1
( ) ( ) ( ) ,
1
( ) sup ( ) sup ( ) .
N
i i
L
i
i i
L
x i N
s x x s x x dx s x x
N
s x x s x x s x x

+
=
e s s +
= ~
+
= ~

}

Chng trnh: (cc file c trong th mc bai1.3.2)
% file s.m
function a=s(x);
global M
a=0;
for n=1:M
a=a+2*(-1)^(n+1)/n/pi*sin(n*pi*x);
end

% file bai2.m
clear all
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 32
global M
M=20; N=100;
X=[0:N]*1/N; Y=zeros(1,N+1);
for i=1:(N+1)
Y(i)=s(X(i));
end
plot(X,X,'r',X,Y,'b');
xlabel('x');
title('Hinh 1.2. Do thi cua y =s(x) (xanh) va y=x (do). ');
disp('error in L^2');
err2=norm(X-Y)/sqrt(N+1)
disp('error in L^infinity');
errsup=norm(X-Y,inf)

Kt qu: (chy file bai2.m; tt c cc file c trong th mc bai1.3.2)

Sai s: err2 = 0.1242, errsup =1.
Nhn xt: s xp x trong
2
L kh tt nhng xp x trong L

th khng tt, nguyn


nhn l ti im x=1 th s(1)=0.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 33
Ta cng c th v th bng cu trc lnh n gin hn nh chng trnh
v th ca bi 1.3.3. Cng t bi 1.3.3 ny chng ti s lm r mt vi vn
v MATLAB.
Bi 1.3.3 V th hm s

( )
( )
sin 2
2
x
y x
x
= , vi 10 10 x s s .
Chng trnh: (cc file c trong th mc bai1.3.3).
% file bai3.m
x=-10:0.2:10; % Chia [-10,10]thanh 101 diem, buoc nhay 0.2.
y=1/2*sin(2*x)./x;
% y la vecto co cung chieu dai cua vecto x, mang gia tri cua ham.
plot(x,y,'r.-') % Ve do thi voi mau do, duong .-.
grid % Ve cac duong dong tren do thi.
title('Hinh 1.3.') % Dua tieu de len tren do thi.
xlabel('x') % Dua nhan tren truc x.
ylabel('sin(2x)/2x') % Dua nhan tren truc y.

Chy file bai3.m ta c Hnh 1.3.
Khi v th, hm s cho c lng gi thnh cng ng vi mi phn
t trong ma trn x, ma trn
( )
1 101 ; ngoi tr
( )
51 0 x = , ni m c php chia
cho s 0 xy ra. iu ny c ngha g khng? Bng cch vit mt m rng chui
Taylor (s c trnh by chi tit trong chng 2) cho
( )
sin 2x v chia ton b
cho 2x , ta d dng chng t rng
( ) ( )
0 sin 0 / 0 1 y = = . MATLAB khng dng li
im ny, hm plot() x l phn t
( )
51 y di dng d liu b thiu (xem Hnh
1.3)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 34

Mt cch khc phc vn ti
( )
51 0 x = , l t cc phn t zero
trong ma trn x vi eps, c ngha l,
x=-10:0.2:10;
x=x+(x==0)*eps;

Trong lnh MATLAB th hai, mt thnh phn ca ma trn x s c tng
bi eps lc biu thc logic (x==0) lng gi sang true. Ngc li th cc thnh
phn ca x vn gi khng thay i. By gi ma trn y c to ra khng c li v
( )
sin 0 / 0 lng gi sang 1.
Ta c file bai3a.m, ch cn thm dng lnh x=x+(x==0)*eps; t file bai3.m.
Chy file bai3a.m, ta c Hnh 1.3a, v chng ta gii quyt c vn ti
( )
51 0 x = .
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 35

By gi ta ni thm v cc trc ca th. Trong Hnh 1.3 v Hnh 1.3a,
MATLAB n nh t ng dy cc gi tr x v y cho th c v lp y
khong trng c sn (tc l xmin=min(x), xmax=max(x)). thc hin iu ,
hng mc d liu thiu ti y=0 phi c che giu bi cc ng bin ca hnh
Hnh 1.3 v Hnh 1.3a. C l iu ny s hin nhin hn khi dy cc gi tr ca y
trong Hnh 1.3 v Hnh 1.3a c nh li t l chim trn on [-0.4, 1.2].
Nh phn trn nu, MATLAB cung cp hm axis kim sot t l v
din mo ca cc trc trong th. Trong phn ny chng ta dng php gi hm
axis([xmin,xmax,ymin,ymax]) ci t dy cc gi tr x v y trong biu hin
ti sang [xmin, xmax] v [ymin,ymax] tng ng.
Ngoi ra, lnh axis (equal) thay i kch thc ca hp trc hin ti
cho cc gia s ca du kim trn cc trc x v y u bng nhau. Tng t nh vy,
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 36
lnh axis(off) s tt tt c cc nhn trn trc v cc du kim. Cc nhn trn trc
v cc du kim c a tr v mt ln na vi axis(on).
Vi file bai3b.m, ch cn thm dng lnh axis([-10 10 -0.4 1.2]) t file
bai3a.m, s to ra Hnh 1.3b ng nht vi Hnh 1.3 v Hnh 1.3a, trong trng
hp ny vi cc dy gi tr ca x v y bao gm cc on
[-10,10] v [-0.4,1.2] tng ng v vic lng gi ng
( )
sin 2 / 2 x x ti 0 x = .
Chy file bai3b.m ta c Hnh 1.3b.

Ghi ch: Trn y l phn gii thiu rt s lc v MATLAB, cc thng tin
chuyn su hn c th tm thy http://www.mathworks.com;
http://www.math.mtu.edu; http://www.math.ufl.edu/help/matlab-tutorial.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 37
CHNG 2
A THC TAYLOR

2.1. A THC TAYLOR
Hu ht cc hm s ( ) f x trong ton hc khng th c nh gi mt cch
chnh xc. V d, hy xem xt gi tr ca hm s
( ) cos = f x x,
x
e , hoc x m khng cn s dng my tnh hoc my vi tnh.
xc nh gi tr cc biu thc nh th, chng ta s dng hm ( ) f x gn bng vi
( )
f x v d xc nh gi tr hn. Loi ph bin nht ca hm xp x ( ) f x l cc
a thc. Chng d thc hin v chng l phng thc hu hiu tnh gn ng
( )
f x . Trong s cc a thc, a thc Taylor c s dng rng ri nht. a thc
Taylor tng i d xy dng, v n thng l bc u tin t c cc php
tnh xp x hiu qu hn. a thc Taylor cng quan trng trong nhiu lnh vc
khc ca ton hc.
Trong chng ny, chng ti s trnh by tm tt l thuyt v chui Taylor
v trnh by cch s dng MATLAB nh l mt cng c thc nghim nhm to
cho sinh vin mt trc gic v s xp x a phng ca cc hm s.
Vi ( ) f x l mt hm s cho trc, a thc Taylor c xy dng
phng theo s bin thin ca ( ) f x ti mt im x = a no . Kt qu, n s gn
bng ( ) f x ti cc im x gn vi a. C th hn, ta tm mt a thc bc nht
1
( ) p x


1
1
( ) ( ),
' ( ) '( ).
p a f a
p a f a
=
=
(2.1)
Ta d dng xc nh duy nht a thc c cho bi
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 38

1
( ) ( ) ( ). '( ) p x f a x a f a = + . (2.2)
V nh vy,
1
( ) y p x = l tip tuyn ca th ( ) y f x = ti x a = .
V d 2.1.1 Cho ( )
x
f x e = v 0 a = , th
1
( ) 1 p x x = + . th ca f v
1
p c
th hin trong Hnh 2.1. Ch rng
1
( ) p x th xp x vi
x
e khi x gn 0.

Tip tc cch lm trn, tm a thc bc hai
2
( ) p x l hm xp x f(x) gn
x a = . V c 3 h s trong cng thc ca a thc bc 2, nn ta c

2
2 0 1 2
( ) p x b b x b x = + + .
m phng tt hn s bin thin ca ( ) f x ti x = a, chng ta cn

2
2
2
( ) ( ),
' ( ) '( ),
" ( ) "( ).
p a f a
p a f a
p a f a
=
=
=
(2.3)

Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 39
Ta c,
2
2
1
( ) ( ) ( ) '( ) ( ) "( )
2
p x f a x a f a x a f a = + + . (2.4)
V d 2.1.2 Tip tc v d trc ( )
x
f x e = v a = 0, chng ta c

2
2
1
( ) 1
2
p x x x = + + .
Xem Hnh 2.2 so snh ( )
x
f x e = v
1
( ) 1 p x x = + ,
2
2
1
( ) 1 .
2
p x x x = + +

Tip tc cch thc trn, cho ( )
n
p x l a thc bc n, v n cn tho

( ) ( )
( ) ( )
j j
n
p a f a = , vi 1, j n = . (2.5)
Vi
( )
( )
j
f x l o hm bc j ca ( ) f x v quy c
(0)
( ) ( ) f a f a = . Th

2
( )
( )
0
( ) ( )
( ) ( ) ( ) '( ) "( ) ... ( )
2! !
( )
( ).
!
n
n
n
j n
j
j
x a x a
p x f a x a f a f a f a
n
x a
f a
j
=

= + + + +

(2.6)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 40
Nu trong (2.6) chng ta cn ghi ch mt cch r rng s ph thuc ca
khai trin vo im a, chng ta vit ( ; )
n
p x a . a thc ( )
n
p x trong (2.6) c gi
l a thc Taylor bc n i vi hm s ( ) f x v im xp x a. [ Tuy nhin, ch
rng a thc ( )
n
p x c bc tht s nh hn n nu
( )
( ) 0
n
f a = ]
V d 2.1.3 Li cho ( )
x
f x e = v a = 0 , th
( )
( )
j x
f x e = ,
( )
(0) 1, 0
j
f j = >

2
0
1 1
( ) 1 ...
2! ! !
j n
n
n
j
x
p x x x x
n j
=
= + + + + =

. (2.7)
Bng 2.1 cha cc gi tr ca
1
( ) p x ,
2
( ) p x ,
3
( ) p x v
x
e ti nhng gi tr
khc nhau ca x trong on [-1, 1]. Vi a c nh x, chnh xc tng khi bc n
tng. V vi bc ca a thc c nh, chnh xc gim khi x di chuyn ra xa a =
0.
Bng 2.1. Xp x Taylor ca e
x
quanh im x = 0.
x
1
( ) p x
2
( ) p x
3
( ) p x
x
e
-1.0 0 0.500 0.33333 0.36788
-0.5 0.5 0.625 0.60417 0.60653
-0.1 0.9 0.905 0.90483 0.90484
0 1.0 1.000 1.00000 1.00000
0.1 1.1 1.105 1.10517 1.10517
0.5 1.5 1.625 1.64583 1.64872
1.0 2.0 2.500 2.66667 2.71828

V d 2.1.4 Cho ( )
x
f x e = v im a bt k, khng nht thit l 0, th
( )
( )
j x
f x e = ,
( )
(0) 1, 0
j
f j = > . Chng ta c cng thc

2
0
1 1 ( )
( ; ) [1 ( ) ( ) ... ( )
2! ! !
j n
a n a
n
j
x a
p x a e x a x a x a e
n j
=

= + + + + =

.
V nh vy,
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 41

1
0
( 1)
( ;1)
!
j n
n
j
x
p x e
j
=

=

. (2.8)
a thc ( ;1)
n
p x xp x tt nht khi x gn bng 1, v a thc ( ;0)
n
p x [c
cho trong (2.7)] th xp x tt nht khi x gn bng 0.
y, khi thc hin tnh ton s, chng ti thay th cch xc nh gi tr
mt hm s, chng hn nh
x
e vi cch xc nh gi tr mt a thc.
V d 2.1.5 Cho ( ) log( ) f x x = , tc l ( ) ln( ) f x x = , v a =1, th (1) 0 f = . Bng
phng php quy np, vi 1 j > , ta c

( ) 1
1
( ) ( 1) ( 1)!
j j
j
f x j
x

= . Suy ra,
( ) 1
(1) ( 1) ( 1)!
j j
f j

= .
Nu iu ny c p dng vo (2.6), th a thc Taylor c cho bi

( )
( )
1
2 3
1
0
1 1 1
( ) ( 1) ( 1) ( 1) ... 1 ( 1)
2 3
1
( 1) .
n
n
n
j
n
j
j
p x x x x x
n
x
j

=
= + +

(2.9)
th ca log(x) v cc a thc Taylor
1
( ) p x ,
2
( ) p x v
3
( ) p x c th
hin trn Hnh 2.3.
Trong bi vit ny, chng ti dng 2 k hiu c ngha l gn bng. K
hiu ~ th thng c dng ch s gn ng ca cc biu thc i s, v d
5 x ~ , ngha l x gn bng 5; v 1 , 0
x
e x x ~ + ~ , ngha l
x
e gn bng 1 x + khi x
gn bng 0. K hiu thng c dng vi s, nh
t 2 6.2832; 168 12.961. K hiu thng c dng vi sai s tnh ton
thc s.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 42
Trong MATLAB, log(x) l logarit t nhin ln(x) v log10(x) l logarit thp
phn lg(x).
Xuyn sut bi vit ny, chng ti s pht biu mt vi nhn xt chung
hoc cc qui tc s dng khi xem xt gii s ca cc bi ton.

(2.10)

CHNG TRNH MATLAB: Sau y l chng trnh MATLAB, chng
trnh ny s tnh ton mt vi xp x a thc Taylor ca
x
e nm trong on [-b, b],
vi gi tr ca b c a vo khi chy chng trnh. Chng trnh s xc nh gi
tr cc a thc Taylor bc 1, 2, 3 v 4 ti cc im x c chn trong on [-b, b],
NHN XT CHUNG: Khi xem xt cch gii mt bi ton, nu khng
bit phng php gii trc tip bi ton th hy thay th bng mt
bi ton xp x m c th gii bng my tnh.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 43
in gi tr x, gi tr ng ca
x
e v cc sai s ca chng theo dng biu bng. Kt
qu s c xut ra trn c mn hnh ang s dng khi chy file
exp_taylor_simple.m trong cng th mc vi file polyeval.m.
Chng trnh 2.1: Xc nh gi tr a thc Taylor.
%TIEU DE: Uoc luong da thuc Taylor cua exp(x) xung quanh x = 0.
% Vai uoc luong cua da thuc Taylor va sai so cua no voi bac tang dan. Xap xi %
cua ham exp(x) tren doan [-b,b].
% Initialize: Khoi chay
b = input('Nhap so b vao de tao doan [-b,b], b= ');
h = b/10; % Khoang cach giua hai so
x = -b:h:b; % x di tu -b den b voi buoc nhay la h
max_deg = 4; % bac cao nhat bang 4

% Tao ra cac he so cua ham exp(x) khi mo rong quanh diem a = 0.
% Nhung he so nay duoc luu tru trong mang c, voi do dai la max_deg+1.
c=ones(max_deg+1,1); % c la ma tran don vi, max_deg+1 dong, mot cot
fact = 1; % Gan cho bien fact gia tri bang 1
for i = 1:max_deg %Thuc hien vong lap for voi gia tri i di tu 1 den max_deg
fact = i*fact; % Lan luot thay the gia tri cua bien fact bang i nhan voi fact;
c(i+1) = 1/fact; % Gan gia tri cho cac phan tu c(i+1) bang 1/fact;
end % Ket thuc vong lap
% Tinh gia tri cua da thuc Taylor bac1, bac2, bac3, bac4 bang cach goi ham %
polyeval la mot file trong cung thu muc.
p1 = polyeval(x,0,c,1); p2 = polyeval(x,0,c,2);
p3 = polyeval(x,0,c,3); p4 = polyeval(x,0,c,4);
% Tinh gia tri dung cua e^x va cac sai so trong khai trien da thuc Taylor
% tuong ung tung bac o tren
true = exp(x); err1 = true-p1; err2 = true-p2; err3 = true-p3; err4 = true-p4;

% Ghi ket qua ra mang hinh. Ket qua ghi thanh mot ma tran, voi cac cot %tuong
ung voi gia tri x, gia tri chinh xac, sai so bac1, sai so bac2, sai so
% bac3, sai so bac 4. Ung voi moi gia tri x chay tren doan [-b,b] thi cho ra 1 %
bang ket qua tuong ung.
diary exp_taylor % Ghi nho cac ket qua theo dinh dang ben duoi.
disp(' x exp(x) err1 err2 err3 err4')
[x',true',err1',err2',err3',err4']
diary off % Ket thuc viec ghi nho.
Kt qu chy file exp_taylor_simple.m, vi b = 1.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 44
Nhap so b vao de tao doan [-b,b], b = 1
x exp(x) err1 err2 err3 err4
ans =
-1.0000 0.3679 0.3679 -0.1321 0.0345 -0.0071
-0.9000 0.4066 0.3066 -0.0984 0.0231 -0.0043
-0.8000 0.4493 0.2493 -0.0707 0.0147 -0.0024
-0.7000 0.4966 0.1966 -0.0484 0.0088 -0.0013
-0.6000 0.5488 0.1488 -0.0312 0.0048 -0.0006
-0.5000 0.6065 0.1065 -0.0185 0.0024 -0.0002
-0.4000 0.6703 0.0703 -0.0097 0.0010 -0.0001
-0.3000 0.7408 0.0408 -0.0042 0.0003 -0.0000
-0.2000 0.8187 0.0187 -0.0013 0.0001 -0.0000
-0.1000 0.9048 0.0048 -0.0002 0.0000 -0.0000
0 1.0000 0 0 0 0
0.1000 1.1052 0.0052 0.0002 0.0000 0.0000
0.2000 1.2214 0.0214 0.0014 0.0001 0.0000
0.3000 1.3499 0.0499 0.0049 0.0004 0.0000
0.4000 1.4918 0.0918 0.0118 0.0012 0.0001
0.5000 1.6487 0.1487 0.0237 0.0029 0.0003
0.6000 1.8221 0.2221 0.0421 0.0061 0.0007
0.7000 2.0138 0.3138 0.0688 0.0116 0.0016
0.8000 2.2255 0.4255 0.1055 0.0202 0.0031
0.9000 2.4596 0.5596 0.1546 0.0331 0.0058
1.0000 2.7183 0.7183 0.2183 0.0516 0.0099

Ta c th nh dng li s xut ra mn hnh v v tr tng ng ca cc s
bng cch thay on chng trnh cui bi
diary exp_taylor
disp(' x exp(x) err1 err2 err3 err4')
for i=1:length(x)
fprintf('%7.3f%10.3f%14.3e%14.3e%14.3e%14.3e\n',...
x(i),true(i),err1(i),err2(i),err3(i),err4(i))
end
diary off

Ri lu li vi tn exp_taylor.m.
Th ta c bng kt qu sau: (chy file exp_taylor.m )
Nhap so b vao de tao doan [-b,b], b= 1.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 45
x exp(x) err1 err2 err3 err4
-1.000 0.368 3.679e-001 -1.321e-001 3.455e-002 -7.121e-003
-0.900 0.407 3.066e-001 -9.843e-002 2.307e-002 -4.268e-003
-0.800 0.449 2.493e-001 -7.067e-002 1.466e-002 -2.404e-003
-0.700 0.497 1.966e-001 -4.841e-002 8.752e-003 -1.252e-003
-0.600 0.549 1.488e-001 -3.119e-002 4.812e-003 -5.884e-004
-0.500 0.607 1.065e-001 -1.847e-002 2.364e-003 -2.402e-004
-0.400 0.670 7.032e-002 -9.680e-003 9.867e-004 -7.995e-005
-0.300 0.741 4.082e-002 -4.182e-003 3.182e-004 -1.928e-005
-0.200 0.819 1.873e-002 -1.269e-003 6.409e-005 -2.580e-006
-0.100 0.905 4.837e-003 -1.626e-004 4.085e-006 -8.196e-008
0.000 1.000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
0.100 1.105 5.171e-003 1.709e-004 4.251e-006 8.474e-008
0.200 1.221 2.140e-002 1.403e-003 6.942e-005 2.758e-006
0.300 1.350 4.986e-002 4.859e-003 3.588e-004 2.131e-005
0.400 1.492 9.182e-002 1.182e-002 1.158e-003 9.136e-005
0.500 1.649 1.487e-001 2.372e-002 2.888e-003 2.838e-004
0.600 1.822 2.221e-001 4.212e-002 6.119e-003 7.188e-004
0.700 2.014 3.138e-001 6.875e-002 1.159e-002 1.582e-003
0.800 2.226 4.255e-001 1.055e-001 2.021e-002 3.141e-003
0.900 2.460 5.596e-001 1.546e-001 3.310e-002 5.766e-003
1.000 2.718 7.183e-001 2.183e-001 5.162e-002 9.948e-003
chy c chng trnh trn ta cn to hm polyeval ri lu vo cng
th mc vi file chng trnh trn, c t tn l polyeval.m, xc nh gi tr
cc a thc. V n cng c dng chung cho cc chng trnh MATLAB ca
chng ny.
Chng trnh 2.2:
% Chuong trinh tao file polyeval.m
function value=polyeval(x,alpha,coeff,n);
% Ham tinh gia tri da thuc gom 4 bien duoc dua vao. Tinh toan cac gia tri da %
thuc Taylor tai cac diem duoc cho boi x, cach tinh theo ly thuyet trinh bay %trong
muc 2.3, voi alpha la diem tham chieu mo rong cua da thuc Taylor %(alpha tung
ung a trong ly thuyet), va n la bac toi da cua da thuc. Cac he %so duoc dua vao
thong qua bien coeff; va no bao gom n+1 phan tu coeff voi %coeff(1) la mot hang
so (gioi han) trong da thuc.
value=coeff(n+1)*ones(size(x));
z=x-alpha;
for i=n:-1:1
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 46
value = coeff(i) + z.*value;
end
2.2. SAI S TRONG A THC TAYLOR
Thc hnh s dng php tnh xp x a thc Taylor i vi ( ) f x , chng ta
cn bit tnh chnh xc ca n. nh l sau y cho chng ta cng c chnh
nh gi tnh chnh xc ny. Chng ti trnh by chng m khng chng minh v
n c ghi trong hu ht cc gio trnh ton.
nh l 2.2.1 (nh l s d Taylor) Tha nhn rng ( ) f x c o hm lin tc
trong on x o | s s , v cho im a thuc on . i vi a thc Taylor
( )
n
p x (2.6), cho ( ) ( ) ( )
n n
R x f x p x biu th s d trong php tnh xp x ( ) f x
bi ( )
n
p x . Th

( )
1
( 1)
( )
( ) ( ), .
1 !
o |
+
+

= s s
+
n
n
n x
x a
R x f c x
n
(2.11)
Vi
x
c l mt s nm gia a v x.
V d 2.2.2 Cho ( )
x
f x e = v a = 0, a thc Taylor c cho trong (2.7). T
nh l trn, sai s xp x c cho bi

( )
1
( ) . , 0.
1 !
+
= >
+
n
x c
n
x
e p x e n
n
(2.12)
Vi c nm gia 0 v x. T cng thc ny, chng ta c th chng minh rng
i vi mi im x c nh, sai s tin v 0 khi n ; cng r rng hn khi
x 1 s . Cng t cng thc, cho thy rng i vi mi gi tr c nh ca n, sai s
tr nn ln hn khi x di chuyn ra xa 0. Minh ha iu ny bng th, v ta v
th sai s ( )
x
n
e p x s tt hn v th n gin ca hm s
x
e v a thc ( )
n
p x
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 47
(phn 2.1), quan st s xp x ca chng. iu ny c minh ha trong Hnh
2.4 cho cc sai s bc n=1, 2, 3, 4 nm trong on [-1,1].

R rng, bc cng cao th sai s cng nh.

V d 2.2.3 Trng hp c bit ca (2.12), cho x=1. Th t (2.7)

n
1 1 1
e (1) 1 1 ... .
2! 3! !
p
n
~ = + + + + +
V t (2.12)

( )
(1) (1) .
1 !
= =
+
c
n n
e
e p R
n

V e<3, chng ta c th gii hn (1)
n
R nh sau

( ) ( ) ( )
1 3
(1) .
1 ! 1 ! 1 !
s s <
+ + +
n
e
R
n n n

Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 48
iu ny s dng bt ng thc
0 1
s s
c
e e e . Nh mt v d s thc, gi
nh rng chng ta mun tnh xp x e bi (1)
n
p vi
9
(1) 10 .

s
n
R Do , c th
t c sai s mong, gii hn trn cn tha

9
3
10 .
(n+1)!

s
iu ny ng khi 12 > n ; v vy,
12
(1) p l mt php tnh xp x c
chnh xc cao i vi e.
Cng thc (2.6) v (2.11) c th c dng hnh thnh php tnh xp x
v cng thc s d cho hu ht cc hm s chun m hay gp trong cc bi ton
ca sinh vin i hc.
tham kho sau ny, chng ti nu mt vi cng thc thng gp

2 1
1 ... .
2! ! ( 1)!
+
= + + + + +
+
n n
x c
x x x
e x e
n n
(2.13)

3 5 2 1 2 1
1
sin( ) ... ( 1) ( 1) cos(c).
3! 5! (2 1)! (2 1)!
+

= + + +
+
n n
n n
x x x x
x x
n n
(2.14)

2 4 2 2 2
1
os( ) 1 ... ( 1) ( 1) cos(c).
2! 4! (2 )! (2 2)!
+
+
= + + +
+
n n
n n
x x x x
c x
n n
(2.15)

1
2
1
1 ... , 1.
1 1
+
= + + + + + =

n
n
x
x x x x
x x
(2.16)

1 2 2 1 1 1
(1 ) 1 ... (1 ) .
o o
o o o o
+ +
+ = + + + + + +
n n n n n
x C x C x C x C x c (2.17)
Trong tt c cc cng thc, ngoi tr (2.16), im c nm gia 0 v x.
V d 2.2.4 Tnh xp x cos(x) vi / 4 x t s , vi sai s khng ln hn 10
-5
. V
im c nm trong s d ca (2.15) l khng xc nh, v sai s mong mun l
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 49

2 2
5
2 1
( ) 10
(2 2)!
n
n
x
R x
n
+

+
s s
+
, vi / 4 x t s .
bt ng thc ny ng, chng ta cn c
( )
2 2
5
/ 4
10
(2 2)!
n
n
t
+

s
+
, n tha mn
khi 3 n > . Php tnh xp x mong mun l

2 4 6
cos( ) 1
2! 4! 6!
x x x
x ~ + .
Nhiu a thc Taylor v s hng d khng c to ra mt cch trc tip t
(2.6) v (2.11). Thay vo , cc cng thc Taylor chun trn c kho lo thc
hin t c xp x Taylor cho cc hm s khc. V d, xem xt vic xy dng
mt php tnh xp x a thc Taylor i vi
2
( )
x
f x e

= quanh im x = 0. Hy bt
u bng vic thay th x bng t trong (2.13), ta c

2 1
1 ... .
2! ! ( 1)!
+
= + + + + +
+
n n
t c
t t t
e t e
n n

Vi c l mt s nm gia 0 v t. iu ny ng vi mi s thc t. By gi
thay t bng
2
x , cho ra

2
4 6 2 1 2 2
2
( 1) ( 1)
1 ... .
2! 3! ! ( 1)!
+ +


= + + +
+
n n n n
x c
x x x x
e x e
n n
(2.18)
Vi c l mt s tha
2
0 s s x c . iu ny cho php tnh xp x a thc
Taylor i vi
2
x
e

ti bc 2n (v bc 2n+1). Nu chng ta c gng xy dng php


tnh xp x Taylor trc tip, nh dng ca phn 2.1, th o hm ca
2
x
e

nhanh
chng tr nn khng th kim sot c. Nh mt v d hi phc tp hn mt
cht ca vic xy dng trc tip php tnh xp x a thc Taylor, chng ta xut
pht t php tnh xp x i vi log(1-t).
Bt u bng vic ly tch phn (2.16) t 0 n t
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 50

1
2
0 0 0
1
(1 ... ) .
1 1
+
= + + + + +

} } }
t t t n
n
x
dx x x x dx dx
x x


1
2 3 1
0
1 1 1
log(1 ) ... .
2 3 1 1
+
+
= + + + + +
+
}
t n
n
x
t t t t t dx
n x


1
2 3 1
0
1 1 1
log(1 ) ( ... ) .
2 3 1 1
+
+
= + + + +
+
}
t n
n
x
t t t t t dx
n x
(2.19)
iu ny ng khi 0 t 1 s s . S hng d c th c lm n gin bng
vic p dng nh l gi tr trung bnh tch phn, t c

1 2
1
0 0
1 1
,
1 1 1 2
t t n n
n
x t
dx x dx
x c c n
+ +
+
| |
= =
|
+
\ .
} }

vi c nm gia 0 v t, v cng c gi tr ng khi 1 0 t s < .
Tm tt trng hp quan trng ny, chng ta c
2
2 3 1
1 1 1 1
log(1 ) ( ... )
2 3 1 1 2
n
n
t
t
t t t t t
n c n
+
+
| |
= + + + +
|
+ +
\ .
, (2.20)
vi
t
c nm gia 0 v t; v iu ny ng khi -1 t<1. s
nh l 2.2.5 (nh l gi tr trung bnh tch phn)
Cho w(x) l hm kh tch khng m trn on [a, b], v f(x) lin tc trn
on [a,b]. Th c t nht mt im c trong [a, b] sao cho
( ). ( ) ( ) ( ) .
b b
a a
f x w x dx f c w x dx =
} }

c bit, nu w(x)=1 th ( ) ( )( ).
b
a
f x dx f c b a =
}

Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 51
Ghi ch 2.2.6 Khi chng ta ni v gii hn sai s trong mt lng no , th hy
ni gii hn sai s ( ) ( )
n
f x p x , ngha l chng ta tm mt s
1
M sao cho

1
( ) ( ) . s
n
f x p x M
Khi chng ta ni n gii hn sai s trong on x o | s s , ngha l chng
ta mun tm mt s
2
M sao cho

2
max ( ) ( ) .
n
x
f x p x M
o | s s
s
Hu ht cc v d th khng p nh v d 2.2.3 , v ni chung chng ta
phi s dng cc gi tr tuyt i gii cc bi ton sai s.
2.2.1 Chui s v hn
Bng vic sp xp li cc s hng trong (2.16), chng ta c c tng mt
cp s nhn

1
2
1
1 ... , 1.
1
+

+ + + + = =

n
n
x
x x x x
x
(2.21)
Cho n trong (2.16) khi 1 x < , chng ta c c mt cp s nhn li
v hn

2
0
1
1 ... , 1.
1

=
= + + + = <


j
j
x x x x
x
(2.22)
y cng chnh l mt chui s v hn.
Mt cch tng qut, chng ta nhc li rng mt chui v hn
0
j
j
c

, th hi
t nu tng tng phn
0
n
n j
j
S c
=
=

, 0 n > , l mt dy hi t. iu ny c ngha l
lim
n
n
S S

= , tn ti v khi ta c th vit
0
.

=
=
j
j
S c (2.23)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 52
i vi cp s v hn trong (2.22) vi x 1 = , tng tng phn c cho bi
(2.21) l

1
1
.
1
+

n
n
x
S
x

Khi 1 < x , r rng dy { }
n
S c gi tr gii hn
( ) 1 1 / x v v th chng ta
c th ni chui s v hn hi t vi gi tr ny. Khi 1 x > , dy { }
n
S r rng
khng hi t vi bt c gi tr gii hn no; chng ta ni chui s v hn phn k
trong trng hp ny.
Gi nh ( ) f x c o hm bc bt k ti x = a. Khi ,
Chui s v hn
( )
0
( )
( )
!
j
j
j
x a
f a
j

, c gi l s khai trin chui Taylor


ca hm s ( ) f x quanh im x = a.
V tng tng phn
( )
0
( )
( )
!
j n
j
j
x a
f a
j
=

, l a thc Taylor ( )
n
p x .
Dy { } ( )
n
p x c gii hn ( ) f x nu sai s dn v 0 khi n . Tc l,
lim[ ( ) ( )] 0.

=
n
n
f x p x
Trong trng hp ny, chng ta c th vit

( )
0
( )
( ) ( ).
!

j
j
j
x a
f x f a
j
(2.24)
Nh cc v d, chng ta c th ch ra rng cc s hng sai s trong (2.13)
n (2.17) v (2.20) dn v 0 khi n khi gi tr x ph hp. iu ny dn n
s khai trin Taylor sau

0
!
j
x
j
x
e
j

=
=

, x < < . (2.25)


Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 53

2 1
0
( 1)
sin
(2 1)!
j j
j
x
x
j
+
=

=
+

, x < < . (2.26)



2
0
( 1)
cos
(2 )!
j j
j
x
x
j

, x < < . (2.27)



0
(1 )
j j
j
x C x

=
+ =

o
o
, 1 1 x < < . (2.28)

0
log(1 )
j
j
t
t
j

=
=

, 1 1 x s < . (2.29)
Chui s v hn c dng
0
( )

j
j
j
a x a (2.30)
c gi l chui s ly tha. Cng thc Taylor l mt cch t c nhng
chui s nh th, nhng chng cng c th c to ra bng cch khc. S hi t
ca chng c th c xem xt mt cch trc tip m khng cn nh vo cng
thc sai s ca Taylor. Chng ti nhc li 2 nh l quan trng c dng xem
xt s hi t.
nh l 2.2.7 Gi nh rng chui s (2.30) hi t vi gi tr
0
x no . Th
chui s (2.30) cng hi t vi tt c cc gi tr x tha
0
x a x x < .
nh l 2.2.8 Cho chui s (2.30), gi nh rng gii hn
1 n
n
n
a
R lim
a
+

= , tn ti.
Th khi x tha
1
x a
R
< , chui s (2.30) hi t v mt gii hn S(x). Khi R = 0,
chui s (2.30) hi t vi bt k s thc x no.
V d, chng ta hy xem xt s hi t ca chui s ly tha trong cng thc
(2.27). Cho t = x
2
, chng ta c c chui s

( )
( )
0
1
.
2 !

j
j
j
t
j
(2.31)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 54
p dng nh l 2.2.8 vi
( )
( )
1
2 !
j
j
a
j

= , chng ta thy R = 0.
V th chui s (2.31) hi t vi bt k gi tr no ca t, v khi chui s
trong cng thc (2.27) hi t vi bt c gi tr no ca x.
CHNG TRNH MATLAB: Chng trnh MATLAB sau, v ln lt th
cc a thc Taylor bc 1, 2, 3 v cc sai s bc 1, 2, 3, 4 ca e^x quanh im x = 0
trn on [-b, b], vi b l gi tr c a vo khi chy chng trnh. Trng hp
b = 1 s v ra cc Hnh 2.1, Hnh 2.2, Hnh 2.4, Hnh 2.5; v c lu vi file
plot_exp.m.
Chng trnh 2.3:
% TIEU DE: Do thi cac da thuc Taylor cua exp(x) quanh diem x = 0.
% Day la do thi cua vai da thuc Taylor va sai so cua chung voi bac tang dan % cua
ham exp(x) tren doan [-b,b].
% Truoc het, neu nhap b = 1 ta duoc cac hinh da trinh bay trong ly thuyet.
disp('Hay nhap b = 1 de duoc cac Hinh trong ly thuyet; Nhap xong nhan
Enter de tiep tuc.')
b = input('Nhap gia tri cua b de tao [-b,b], b = ');
h = b/100;
x = -b:h:b;
max_deg = 4;
% Tao ra cac he so cua ham exp(x) khi mo rong quanh diem a = 0.
% Nhung he so nay duoc luu tru trong mang c, voi do dai la max_deg+1.
c = ones(max_deg+1,1);
fact = 1;
for i = 1:max_deg
fact = i*fact;
c(i+1) = 1/fact;
end
% Tinh gia tri khai trien da thuc Taylor bac1, bac2, bac3, bac4 bang cach goi %
ham polyeval la mot file trong cung thu muc.
p1 = polyeval(x,0,c,1); p2 = polyeval(x,0,c,2);
p3 = polyeval(x,0,c,3); p4 = polyeval(x,0,c,4);
% Tinh gia tri cua exp(x) va gia tri cac sai so cua cac da thuc Taylor.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 55
true = exp(x); err1 = true-p1; err2 = true-p2; err3 = true-p3; err4 = true-p4;
% Ve lan luot do thi cac da thuc Taylor.
% Bac 1(Hinh 2.1)
plot(x,true,x,p1,':',0,1,'m*');
title('Hinh 2.1. Do thi xap xi Taylor bac nhat cua e^x quanh diem x = 0.')
axis('equal')
legend('f','p1',-1)
disp('Ta da duoc Hinh 2.1. Vui long nhan Enter de ve tiep Hinh 2.2.')
pause
% Bac 1, 2 (Hinh 2.2)
hold off
plot(x,true,x,p1,':',x,p2,'--',0,1,'m*')
title('Hinh 2.2. Do thi xap xi Taylor bac nhat va bac 2 cua e^x quanh diem x = 0.')
axis('equal')
legend('f','p1','p2',-1)
disp('Vui long nhan Enter de ve tiep Hinh 2.5.')
pause
% Bac 1, 2, 3 (Hinh 2.5)
hold off
plot(x,true,x,p1,':',x,p2,'--',x,p3,'-.',0,1,'m*');
titel('Hinh 2.5. Do thi xap xi Taylor cua e^x quanh diem x = 0.')
axis('equal')
legend('f','p1','p2','p3',-1)
disp('Vui long nhan Enter de ve tiep Hinh 2.4.')
pause
% Ve do thi cac sai so (Hinh 2.4)
plot(x,err1,x,err2,':',x,err3,'--',x,err4,'-.');
title('Hinh 2.4. Do thi sai so trong xap xi Taylor cua e^x quanh diem x = 0.')
legend('bac 1','bac 2','bac 3','bac 4',0)
disp('Nhan Enter de ket thuc.')
hold off
pause
disp('Hay chay chuong trinh voi nhung gia tri b khac nhau de thay ro van de
hon nhe. Chuc cac ban thanh cong. Bye!')

Kt qu chy file plot_exp.m vi b = 1, ta c cc hnh v Hnh 2.1, Hnh
2.2, Hnh 2.4 v Hnh 2.5.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 56

Chng trnh 2.4: Chng trnh MATLAB sau, v th cc a thc Taylor bc
1, 2, 3 v cc sai s bc 1, 2, 3, 4 ca log(x) quanh im x = 1 trn [a,b], 0<a<1 v
b>1. V c lu vi file plot_log.m.
% TIEU DE: Ve do thi cua nhung da thuc Taylor cua log(x) quanh x = 1.
% Day la nhung do thi cua nhung da thuc Taylor rieng biet va nhung sai so % cua
no doi voi bac tang dan. Do la ham dac biet xap xi voi log(x) va duoc %khai trien
quanh diem x = 1. Khoang xap xi la [a, b] voi 0 < a < 1 va b > 1. % Truoc het,
chung ta ve do thi cua nhung da thuc Taylor va tam dung va
% roi chung ta ve do thi cua nhung sai so cua chung khi nhan phim Enter. %
Neu chon a = 1/2, b = 2 thi ta duoc Hinh 2.3, Hinh 2.6.
% Khoi chay.
disp('Hay nhap a=1/2 va b=2 de duoc Hinh 2.3 va Hinh 2.6 trong ly thuyet.')
a = input('Khoi tao khoang [a,b], Nhap gia tri a voi 0 < a < 1, a = ');
b = input('Nhap gia tri b > 1, b = ');
h = (b-a)/200; x = a:h:b; max_deg = 4;
c = zeros(max_deg+1,1);
sign = 1;
for i = 1:max_deg
c(i+1) = sign/i; sign = -sign;end
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 57
% Tinh gia tri khai trien da thuc Taylor bac1, bac2, bac3, bac4 bang cach goi %
ham polyeval la mot file trong cung thu muc.
p1 = polyeval(x,1,c,1); p2 = polyeval(x,1,c,2);
p3 = polyeval(x,1,c,3); p4 = polyeval(x,1,c,4);
% Tinh gia tri dung cua ln(x) va cac sai so trong khai trien da thuc Taylor %tuong
ung tung bac o tren.
true = log(x); err1 = true-p1; err2 = true-p2; err3 = true-p3; err4 = true-p4;
% Khoi tao de ve cac do thi cua cac da thuc Taylor.
% Xoa bo he truc toa do da co, xay dung he truc toa do moi va giua lai de ve %
do thi tren he truc toa do moi nay.
hold off
clf
m = 1.1*min([min(p1),min(p2),min(p3),min(p4)]);
M = 1.1*max([max(p1),max(p2),max(p3),max(p4)]);
axis([a,b,m,M])
hold on
% Ve do thi cua nhung da thuc Taylor.
plot(x,true,x,p1,':',x,p2,'--',x,p3,'-.');%,'linewidth',1.5,'markersize',3);
plot([0 b],[0 0])
plot([0 0],[m/1.1 M/1.1])
plot([1 1],[m/1.1 0],':')
hold on
plot(1,0,'*')
title('Hinh 2.3. Do thi xap xi Taylor cua log(x)=ln(x) quanh diem x = 1.')
text(b+3*h,0,'x')
text(0,M,'y')
axis('equal')
legend('log(x)','p1','p2','p3',-1) % Dua ghi chu len goc phai ngoai hinh ve.
disp('Nhan Enter de tiep tuc.')
pause
% Khoi tao de ve do thi cac sai so. Xoa bo hinh da co, xay dung he truc toa %do
moi va giua lai de ve do thi %cac sai so tren he truc toa do moi nay.
hold off
clf
m = 1.1*min([min(err1),min(err2),min(err3),min(err4)]);
M = 1.1*max([max(err1),max(err2),max(err3),max(err4)]);
axis([0,b,m,M])
hold on
% Ve do thi cac sai so
plot(x,err1,x,err2,':',x,err3,'--',x,err4,'-.');
plot([0 b],[0 0])
plot([0 0],[m/1.2 M/1.2])
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 58
title('Hinh 2.6. Do thi sai so trong xap xi Taylor cua log(x) quanh diem x= 1.')
text(b+3*h,0,'x')
text(0,M+.05*max(M,abs(m)),'y')
legend('bac 1','bac 2','bac 3','bac 4',0) % Dua ghi chu vao hinh ve.

Kt qu chy file plot_log.m ta c Hnh 2.3, Hnh 2.6 vi a = 1/2, b = 2.

2.3. TNH GI TR S CA A THC
Tnh gi tr s ca mt a thc c v nh mt cng vic d lm v minh
ha c th, chng ta xem xt s c lng ca

2 3 4 5
( ) 3 4 5 6 7 8 p x x x x x x = + .
i vi mt ngi lp trnh, phng php n gin nht tnh ton gi tr
s l c tnh tng s hng c lp ca cc s hng cn li. Chnh xc hn, s
hng cx
k
c tnh trong mt chng trnh bi c*x^k hoc c*x**k.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 59
Ph thuc vo ngn ng my tnh ang c dng. iu ny i hi php
nhn k vi hu ht cc trnh bin dch, mc d cc trnh bin dch thng minh hn
c th to ra mt m hu hiu hn. Vi php tnh gn ng ny, s c
1+2+3+4+5=15 php nhn trong tnh ton gi tr ca
( )
p x .
Phng php th 2 ca tnh gi tr s, hu hiu hn. Chng ta c tnh mi
ly tha ca x bng cch nhn x vi ly tha trc ca x,

3 2
( ) x x x = ,
4 3
( ) x x x = ,
5 4
( ) x x x = . (2.32)
V th, mi s hng cx
k
thc hin 2 php nhn khi k>1. Kt qu tnh gi tr
ca p(x) dng 1+2+2+2+2=9 php nhn; tit kim ng k hn phng php th
nht, c bit vi cc a thc bc cao hn.
Phng php th 3 l php nhn xp lng vo nhau (phng php t chim).
Vi phng php ny, chng ta c th vit v tnh gi tr s ca p(x) theo dng
( ) 3 ( 4 (5 ( 6 (7 8 )))). = + + + + p x x x x x x
S ca cc php nhn ch l 5, tit kim hn phng php 2. Phng php
php nhn xp lng vo nhau l tin trnh tnh gi tr s c a thch hn, v s
tin li ca n tng ln khi bc ca a thc ln hn.
Hy xem xt a thc tng qut bc n sau

2
0 1 2
( ) ...
n
n
p x a a x a x a x = + + + + , 0. =
n
a (2.33)
Nu chng ta s dng phng php th 2, vi ly tha ca x c tnh nh
trong (2.32), th s php nhn trong tnh gi tr s ca ( ) p x bng 2n-1. i vi
phng php php nhn xp lng vo nhau, vit v c lng ( ) p x theo dng

0 1 2 1
( ) ( ( ... ( )...).

= + + + + +
n n
p x a x a x a x a a x (2.34)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 60
iu ny ch s dng n php nhn, tit kim khong 50% so vi phng
php 2. Do , chng ti s dng phng php php nhn xp lng vo nhau
thc thi trong chng trnh MATLAB c cho cui phn 2.1.
V d 2.3.1 Tnh s a thc Taylor
5
( ) p x , i vi log(x) gn im a=1. Cng thc
tng qut c cho trong (2.19), vi t c thay bng
( ) 1 x . T ,

2 3 4 5
5
1 1 1 1
( ) ( 1) ( 1) ( 1) ( 1) ( 1) .
2 3 4 5
= + + p x x x x x x
Cho 1 w x = , v vit
5
1 1 1 1
( ) (1 (- ( (- )))).
2 3 4 5
p x w w w w w = + + + +
Trong chng trnh my tnh, bn nn lu tr cc h s di dng s thp
phn, cho ph hp vi dng s trong my.
Chng ti cung cp thm mt s thut ton chnh thc cho (2.34) bi v n
lin quan ti cc ch khc. Gi s chng ti mun c tnh ( ) p x ti mt s z
no . Xc nh dy h s
i
b nh sau

1 1
2 2 1
0 0 1
,
,
,
...
.


=
= +
= +
= +
n n
n n n
n n n
b a
b a zb
b a zb
b a zb
(2.35)
Th
0
( ) . = p z b (2.36)
Cc h s
j
b l cc php tnh ko di trong mt cp thch hp trong du
ngoc (2.34). Trong
1 n
b

l php tnh tn cng, v
0
b l php tnh cui cng.
Khi nhn theo cch ny, phng php php nhn xp lng vo nhau c gi l
phng php Horner; n quan h gn vi php chia tng hp, php chia ny c
trnh by trong cc bi vit v i s s cp.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 61
Dng cc h s trong (2.35), xc nh a thc

2 1
1 2 3
( ) ... .

= + + + +
n
n
p x b b x b x b x (2.37)
th
0
( ) ( ) ( ). = + p x b x z q x (2.38)
Trong , ( ) q x l mt thng s t php chia ( ) p x bi x z v
0
b l s
d. Kt qu ny c dng lin kt vi cc phng php khai cn a thc
gim bc ca mt a thc khi cn z c tm thy, t
0
0 b = v
( ) ( ). ( ) p x x z q x = .
2.3.1 Mt chng trnh mu
Chng ti kt thc phn ny bng vic trnh mt chng trnh MATLAB
tnh xp x a thc Taylor i vi hm s

0
1 sin( )
in
x
t
S t x dt
x t
=
}
, 0. = x (2.39)
Vi Sint(0)=1. Hm s ny c gi l sine tch phn. Chng ta bt u bng
cch ly xp x a thc Taylor trong on [-1, 1] i vi Sintx, i hi rng sai s
ln nht trong on [-1, 1] c gii hn bi 5.10
-9
. Bt u bng vic s dng
(2.14) i vi sin(t), vi x c thay th bng t. u tin xem xt trng hp x>0.
Chia cho t v tch hp trn [0, x], chng ta c

2 4 2 2
1
2 2
0
2 4 2 2
1
2 2
2
2 2 t
0
1
in [1 ... ( 1) ] ( )
3! 5! (2 1)!
1 ... ( 1) ( ),
3!3 5!5 (2 1)!(2 1)
1
( ) ( 1) os(c ) .
(2 1)!

= + + +

= + + +

=
+
}
}
x n
n
n
n
n
n
x n
n
n
t t t
S t x dt R x
x n
x x x
R x
n n
t
R x c dt
x n
(2.40)
im c
t
nm gia 0 v t. V cos( ) 1
t
c s , ta c
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 62

2 2
2 2
0
1
( ) ( 1) .
(2 1)! (2 1)!(2 1)

s =
+ + +
}
x n n
n
n
t x
R x dt
x n n n
(2.41)
Tht d dng thy rng gii hn ny cng ng khi 0 x < . Ta cn, chn bc
n

9
2 2
( ) 5.10 .

s
n
R x (2.42)
T (2.41), ta c
2 2
1
1
max ( ) .
(2 1)!(2 1)
n
x
R x
n n

s
s
+ +

Chng ta chn n chn trn ny nh hn hoc bng 5.10
-9
. iu ny ng
nu 2 1 11 n + > . V d, 5 n > th (2.42) c tha. a thc chng ta dng l

2 4 6 8
( ) 1
3!3 5!5 7!7 9!9
x x x x
p x = + + , 1 1 x s s . (2.43)
V khi xp x i vi in t S x trong [-1, 1], th sai s ca n tha (2.42).
a thc ( ) p x trn l mt hm s chn, ngha l ( ) ( ) p x p x = , x , ta gi
l a thc chn; v cc a thc chn ch cha ly tha chn ca x. V th chng ta
c th c lng ( ) p x hu hiu hn bng cch c lng a thc bc 4, ( ) g u
bng cch thay
2
u x = trong ( ) p x

2 3 4
( ) 1 .
18 600 35280 3265920
= + +
u u u u
g u (2.44)
CHNG TRNH MATLAB: Cc a thc Taylor i vi Sintx.
Cc a thc Taylor ( )
n
p x gn 0 ca Sintx l cc a thc chn. Tin hnh
tng t vi vic rt gn (2.43) n (2.44), chng ta c th rt gn bng xp x
1/2 s php nhn cn thit c lng n. y chng ti cho mt chng trnh
MATLAB plot_sint c lng cc xp x Taylor ca Sintx. Cc a thc Taylor
c 4 bc n khc nhau ( y cho bc 2, 4, 6 v 8) v tnh c lng trong on s
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 63
dng c th [0,b](v tnh i xng ca hm chn). Vi b l gi tr nguyn c
nhp vo khi chy chng trnh.
Chng trnh 2.5:
% Tao file plot_sint.m
function ans = plot_sint_total
% TIEU DE:Khai trien da thuc Taylor cho ham "Sine tich phan" quanh x = 0
% Day la cac do thi cua vai khai trien da thuc Taylor va sai so cho cac bac
% tang dan. Da thuc Taylor trong truong hop nay chi gom cac khai trien co
% bac chan, duoc goi la cac "even polynomials: Cac da thuc chan", nen do thi %
duoc ve doi xung khi x gan 0 va duoc trinh bay khi xap xi x=0. Vi vay,ta
% chi ve cac ham cu the xap xi cua Sint(x) tren doan [0,b], voi x = 0 cung cac
% diem mo rong cho viec tao cac da thuc Taylor. Chung ta ve do thi chi vai
% bac cua khai trien Taylor, co the duoc thay doi boi nguoi dung.
% De thay ro van de: Chay chuong trinh voi nhieu gia tri cua "b". Cung co %the
thay doi so bac cuc dai trong bien "max_degree", nham thu nghiem ket %qua voi
nhieu bac khai trien xap xi Taylor khac nhau.
% Bat dau chuong trinh.
b = input('Nhap 1 gia tri nguyen cho b de tao doan [0,b], nhap xong nhan enter;b=
');
h = b/200; x = 0:h:b; max_degree = 20;
% Xay dung cac he so Taylor cho "sine tich phan" cua ham "Sint.".
c = sint_tay(max_degree);
% Xac dinh 4 bac gia tri can khao sat. Tat ca phai la bac chan, va phai nho % hon
hoac bang bien max_degree. Duoi day la cac bac 2, 4, 6 va 8.
degree=[2,4,6,8];
if max(degree) > max_degree
fprintf('Vai gia tri bac khai trien lon hon bien max_degree = %2.0f\n',...
max_degree)
return
end
% Khoi tao mot day chua dung cac gia tri da thuc. Hang #i thi mang gia tri
% cua bac da thuc degree=degree(i).
p = zeros(4,length(x));
% Tinh gia tri cac da thuc Taylor.
for i=1:4
p(i,:) = poly_even(x,c,degree(i)); end
% Thiet lap cho viec ve do thi Taylor.
hold off
clf
axis([0,b,0,1])
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 64
hold on
% Ve do thi cac da thuc Taylor.
plot(x,p(1,:),x,p(2,:),':',x,p(3,:),'--',x,p(4,:),'-.')
plot([0,b],[0,0])
plot([0 0],[0 1])
title('Hinh 2.7. Cac xap xi Taylor cua Sint(x).')
text(1.025*b,0,'x')
text(0,1.03,'y')
legend(strcat('degree = ',int2str(degree(1))),...
strcat('degree = ',int2str(degree(2))),...
strcat('degree = ',int2str(degree(3))),...
strcat('degree = ',int2str(degree(4))),-1)
% De chay chuong trinh nay ta can lap mot chuong trinh tao file sint_tay.m % de
tinh cac he so cua (2.40) cua Sintx. Tao file sint_tay.m
function coeff=sint_tay(n)
% Ham coeff = sint_tay(n). Tinh toan cac he so cua khai trien xap xi Taylor %den
bac n cho ham "sine tich phan ". Bien n dua vao phai la 1 so nguyen %chan. Dau
ra la vector cac he so se co do dai m+1 trong do m=n/2. %Nguyen nhan la vi chi
co cac he so bac chan khac 0, va dieu nay phai duoc %xem xet, danh gia trong da
thuc Taylor.
m = double(int32(n/2));
if n ~= 2*m
disp('Sai so trong poly_even(x,coeff,n):')
disp('Tham so n phai la mot so nguyen chan.')
end
%
coeff = ones(m+1,1);
sign = 1;fact = 1;
for i=2:m+1
sign = -sign;
d = 2*i-1;
fact = fact*(d-1)*d;
coeff(i) = sign/(fact*d);end
% Chuong trinh plot_sint con su dung file poly_even.m de uoc luong bac
% cua da thuc don gian hon trong (2.44)
% Tao file poly_even.m
function value = poly_even(x,coeff,n);% Ham value = poly_even(x,coeff,n)
% Tinh toan gia tri so mot khai trien Taylor chan tai cac diem cho trong x, %voi n
la bac cua da thuc. Cac he so duoc chua trong coeff. Cac he so nay %phai la so
nguyen chan, va tham so n cung phai la so nguyen chan.
m = double(int32(n/2));
if n ~= 2*m
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 65
disp('Sai so trong poly_even(x,coeff,n):')
disp('Tham so n cung phai la so nguyen chan.')
end
xsq = x.*x;
value = coeff(m+1)*ones(size(x));
for i = m:-1:1
value = coeff(i) + xsq.*value;end

Kt qu chy file plot_sint.m, vi gi tr b = 6.


Trong cc chng sau, chng ti ch trnh by s lc cc kin thc v gii
tch s. Vi mi ni dung ct li ca gii tch s, chng ti s trnh by mt
chng trnh MATLAB chun gii s n. Cng c mt s kt qu ca gii tch
s chng ti dng m khng nu s chng minh c th v tng chnh ca chng
ti l xy dng nhng chng trnh MATLAB gii s.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 66
CHNG 3
TM NGHIM
Bi ton ph bin trong ton ng dng l tm nghim thc ca phng trnh

( ) 0. f x =
(3.1)
Trong chng ny, ta gi nh rng ( ) f x l hm thc bin x. Nh bit
- S thc o tha ( )
0 f o = c gi l nghim thc ca phng trnh (3.1).
- Honh giao im o ca th hm s
( )
y f x = vi trc honh (nu c)
l nghim ca phng trnh (3.1).
- Honh giao im o ca hai th ca hai hm s ( )
y f x = v
( )
y g x = (nu c) l nghim ca phng trnh ( ) ( ) f x g x = .
Ngoi ra, trc khi gii s phng trnh (3.1) ta cng cn phi bit phng
trnh cho c nghim thc hay khng? Mt trong nhng tiu chun nhn bit
l cc nh l sau
nh l 3.1. Gi s hm s
| |
: , f a b R lin tc v ( ) ( )
. 0 f a f b < . Khi s
tn ti ( )
, a b o e sao cho ( )
0 f o = .
nh l 3.2. Gi s hm s
| |
: , f a b R lin tc, n iu v ( ) ( )
. 0 f a f b < .
Khi s tn ti duy nht ( )
, a b o e sao cho ( )
0 f o = .
nh l 3.3. Gi s hm s
| |
: , f a b R lin tc, c o hm khng i du
trn khong ( )
, a b v ( ) ( )
. 0 f a f b < . Khi s tn ti duy nht ( )
, a b o e sao
cho ( )
0 f o = .
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 67
Chng ti s trnh by mt vi phng php gii s n gin gii
phng trnh (3.1).
3.1. PHNG PHP CHIA I (BISECTION)
3.1.1 M t phng php
Gi s ( ) f x lin tc trong on a x b s s v ( ). ( ) 0 f a f b < . Khi , theo
nh l 3.1 th phng trnh (3.1) c t nht mt nghim o trn khong
( )
, a b v
vi mt sai s c th chp nhn c 0 c > . Th phng php chia i gm cc
bc sau:
B1. Xc nh
( )
/ 2 c a b = + .
B2. Nu b c c s , th chp nhn c l nghim v dng li.
B3. Nu
( ) ( )
( (
s

. 0 sign f a sign f b , th t a c = (sign: Hm du hoc
du).
Ngc li, t b c = . Tr li B1.
Vng lp s dng li khi c o c s c tha.
V d 3.1.1 Tm nghim ln nht ca
6
( ) 1 0 f x x x = , chnh xc trong phm
vi 0.0001 c = .
- Vi mt th, ta d dng kim tra 1<o <2. Chng ta chn 1, 2 a b = = ; th
( )
= 1 f a ,
( )
= 61 f b , tri du.
Bng 3.1. Phng php chia i i vi v d 3.1.1.
n a b c b c ( )
f c
1 1.0000 2.0000 1.5000 0.5000 8.8906
2 1.0000 1.5000 1.2500 0.2500 1.5647
3 1.0000 1.2500 1.1250 0.125 -0.0977
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 68
4 1.1250 1.2500 1.1875 0.0625 0.6167
5 1.1250 1.1875 1.1562 0.0312 0.2333
6 1.1250 1.1562 1.1406 0.0156 0.0616
7 1.1250 1.1406 1.1328 0.0078 -0.0196
8 1.1328 1.1406 1.1367 0.0039 0.0206
9 1.1328 1.1367 1.1348 0.0020 0.0004
10 1.1328 1.1348 1.1338 0.00098 -0.00096
Cc kt qu ca thut ton B1 n B3 c th hin trong Bng 3.1. Mc
n ch hng lin i tng ng vi s ln lp i lp li n ca cc bc B1 n B3.
3.1.2 nh gi sai s
Cho ,
n n
a b v
n
c biu th cc gi tr c tnh ln th n ca , a b v c
tng ng, b a biu th di ca khong gc m chng ta bt u vi n.
Ta c
1
( )
2
n n
c b a o s .
(3.2)
bit c bao nhiu ln lp l cn thit, gi s rng chng ta mun c

n
c o c s .
iu ny s c tha nu
1
( )
2
n
b a c s .
Suy ra,
log
.
log2
b a
n
c

| |
|
\ .
>
(3.3)
i vi v d 3.1.1, ta cn

1
log
0.001
9.97
log2
n
| |
|
\ .
> ~ .
Vy, chng ta cn c 10 n = ln lp c kt qu mong i.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 69
CHNG TRNH MATLAB: Thc thi phng php chia i bi hm bisect.
Hm s f c cho l mt hm s ni b, ngha l n khng th nhn bit c
i vi cc chng trnh MATLAB c lu tr trong cc file khc bit vi
chng trnh ny. Chng trnh lin quan ti vic in bn trong ca cc bc trung
gian trong phng php chia i, bc ny c th b qua. Kt thc chng trnh,
in gi tr ca nghim, gii hn sai s v s ln lp c c kt qu.
Chng trnh 3.1:
function root=bisect(a0,b0,ep,max_iterate,index_f)
% Ham chia doi bisect(a0,b0,ep,max_iterate,index_f). Day la phuong phap lap
%chia doi nham tim nghiem cua phuong trinh f(x)=0.
% Ham f duoc dinh nghia ben duoi boi nguoi dung. Ham f phai thoa dieu kien lien
%tuc tren doan [a0,b0], va gia tri ham phai trai dau tai a0 va b0. Gia tri "ep" la gia
%tri sai so cho phep. (1) doan gioi han ban dau la phai dung du kien va (2) "ep"
%khong duoc qua nho de dam bao rang so lan lap khong qua lon. Hau het cac dieu
%kien nay khong duoc kiem tra trong chuong trinh! Tham so max_iterate la mot
%gioi han tren cho so lan lap can tinh toan (viec them tham so nay de tranh
chuong %trinh lap vo han do "ep" qua be). Cach thuc hien goi ham f(x), theo cau
truc cua vi %du sau day
% root = bisect(1,1.5,1.0E-6,10,1)
% Tham so index_f xac dinh cu the mot ham nao duoc dinh nghia ben duoi duoc
% su dung de tinh nghiem (case 1, case 2 vv..).
% Va sau khi thuc hien xong vong lap se cho ra cac ket qua sau (6 cot):
% count, a, b, c, f(c), (b-a)/2
% c vong lap hien tai va (b-a)/2 la gioi han sai so cua c.
% bien count cho biet so vong lap hien tai.
% --------------- MOT KET QUA TINH TOAN SAU N VONG LAP BAO GOM: -------------
--%
% root=nghiem giai so.
% error_bound = pham vi sai so.
% it_count = so lan lap de co duoc nghiem tren.
% root = gia tri nghiem lay xap xi.
% Hay chay thu voi root = bisect(1,1.5,1.0E-6,10,1)
if a0 >= b0
disp('a0 < b0 gia tri chua thoa. Stop!')
return
end
%
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 70
format short e
a = a0; b = b0;
fa = f(a,index_f); fb = f(b,index_f);
if sign(fa)*sign(fb) > 0
disp('f(a0) va f(b0) cung dau. Stop!')
return
end
%
c = (a+b)/2;
it_count = 0;
while b-c > ep & it_count < max_iterate
it_count = it_count + 1;
fc = f(c,index_f);
% Thuc thi phuong phap chia doi. Nhan Enter roi nhan lien tuc phim bat ky tren
%may de di den ket qua can tinh.
iteration = [it_count a b c fc b-c]
if sign(fb)*sign(fc) <= 0
a = c;
fa = fc;
else
b = c;
fb = fc;
end
c = (a+b)/2;
pause
end

format long
root = c
format short e
error_bound = b-c
format short
it_count
%% DINH NGHIA CAC HAM CAN TINH TOAN THEO CAU TRUC CUA MATLAB %%
function value = f(x,index)
% Dinh nghia mot ham f can tim nghiem boi nguoi dung. Co the mo rong them
case %5, case 6, case 7 vv... Tham so index_f khi goi ham co the la 1;2;3;4;5... tuy
viec %muon chon ham nao de tinh.
switch index
case 1
value = x.^6 - x - 1;
case 2
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 71
value = x - exp(-x);
case 3
value = sin(x) - exp(-x);
case 4
value = x.^4-x-1;
end

Dng chng trnh 3.1 gii v d 3.1.1, hm c gi theo c php
root = bisect(1,2,0.0001,10,1).
Kt qu sau 10 bc lp theo s l
- Nghim: root =1.13427734375000.
- Sai s: error_bound = 4.8828e-004.
- S ln lp thc t: it_count =10.
- Nghim xp x: root =1.1343.
Chng trnh trn dng gii v d 3.1.1 v mt lp cc phng trnh sau vi
mt sai s c th chp nhn c c =0.0001. Ta c th thm vo hoc thay i cc
case i gii cc phng trnh khc.
a. Nghim ca
x
x e

= (Chy chng trnh vi root=bisect(0,1,0.0001,15,2)).


b. Nghim dng nh nht ca
( )
sin
x
e x

= . (root=bisect(0,1,0.0001,15,3))
c. Tt c nghim thc ca
4
1 0 x x = . (root=bisect(1,2,0.0001,15,4) v
root=bisect(-1,0,0.0001,15,4))
Ch thch: nu thay
( )
/ 2 c a b = + bi
( ) ( )
( ) ( )
af b bf a
c
f b f a

th ta thu c phng
php ct tuyn (hay cn gi l phng php dy cung) .
3.2. PHNG PHP NEWTON
3.2.1 M t phng php
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 72
Trn Hnh 3.1, ta c
0
x l c on ban u ca o , nghim ca (3.1);
1
x l
nghim ca
( )
1
p x vi
( ) ( ) ( )( )
= +
1 0 0 0
' p x f x f x x x .
Dn n,

( ) ( )( )
+ =
0 0 1 0
' 0 f x f x x x .
Kt qu,
( )
( )
=
0
1 0
0
'
f x
x x
f x
.
x
y
o 1
x
0
x
( ) ( )
0 0
, x f x
Hnh 3. 1. Dng biu ca phng php Newt on.


Ta c
1
x xp x vi o tt hn l
0
x . Lp li tin trnh vi
1
x nh c
on ban u. Dn n
( )
( )
=
1
2 1
1
'
f x
x x
f x
.
Tng qut ta c:
( )
( )
+
= =
1
, 0,1,2,...
'
n
n n
n
f x
x x n
f x

(3.4)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 73
y l Phng php Newton dng gii (3.1). N cng c gi l
phng php Newton-Raphson.
V d 3.2.1 Dng phng php Newton, gii phng trnh trong v d 3.1.1.

( )
=
6
1 f x x x ,
( )
=
5
' 6 1 f x x .
V vng lp c cho bi
+

= >

6
1 5
1
, 0.
6 1
n n
n n
n
x x
x x n
x


Chng ta dng c on ban u ca
0
1.5 x = . Nhng kt qu c th
hin trong Bng 3.2. Ct
1 n n
x x

l mt c lng ca sai s
1
o

n
x .
Nghim ng l o = 1.134724138, v
6
x bng o vi 9 s c ngha, tc l
1.0E-9 c = . So snh iu ny vi nhng kt qu trc c th hin trong bng
3.1 i vi phng php chia i. Quan st thy phng php Newton c l hi t
chm lc u. Tuy nhin, khi cc vng lp n gn nghim hn, th tc hi t
tng ln, nh c th hin trong bng.
Bng 3.2. Phng php Newton gii =
6
1 0 x x .
n
n
x
( )
n
f x
1 n n
x x


1 n
x o


0 1.50000000 8.89R+1 -2.00E-1 -3.65E-1
1 1.30049088 2.54E+1 -1.19E-1 -1.66E-1
2 1.18148042 5.38E-1 -4.20E-2 -4.68E-2
3 1.13945559 4.92E-2 -4.68E-3 -4.73E-3
4 1.13477763 5.50E-4 -5.35E-5 -5.35E-5
5 1.13472415 7.11E-8 -6.91E-9 -6.91E-9
6 1.13472414 1.11E-15 0 0
3.2.2 nh gi sai s
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 74
Gi thit
( )
f x c o hm n cp hai lin tc vi mi x trong khong ln
cn ca o v
( )
o = ' 0 f . Dng nh l Taylor vit

( ) ( ) ( ) ( ) ( ) ( )
o o o = + +
2
1
' "
2
n n n n n
f f x x f x x f c , vi
n
c nm gia o
v
n
x .
Ta c
( )
o = 0 f , chia hai v cho
( )
'
n
f x c c:

( )
( )
( )
( )
( )
o o = + +
2
"
0
' 2 '
n n
n n
n n
f x f c
x x
f x f x
.
Kt hp vi (3.4), suy ra
( )
( )
( )
o o
+
= + +
2
1
"
0 .
2 '
n
n n n n
n
f c
x x x x
f x

Hay,
( )
( )
( )
o o
+
(

= (
(

2
1
"
2 '
n
n n
n
f c
x x
f x
.
(3.5)
Cng thc ny ni ln rng sai s trong
1 n
x
+
gn vi s hng ca t l thc
vi bnh phng ca sai s trong
n
x . Khi sai s ban u l nh, iu ny cho
thy sai s trong nhng vng lp k tip s gim rt nhanh chng. Cng thc (3.5)
cn c dng chng minh s hi t ca phng php Newton, nhng chng
ti b qua n.
c lng o
n
x . Ta c,
( )
o = 0 f v p dng nh l gi tr trung
bnh

( ) ( ) ( ) ( )( )
o o = = '
n n n n
f x f x f f x , vi
n
nm gia
n
x v o .
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 75
Suy ra,
( )
( )
( )
( )
o


= ~
' '
n n
n
n n
f x f x
x
f f x
, vi iu kin
( ) ( )
' '
n n
f x f .
Kt hp vi (3.5) ta c o
+
~
1 n n n
x x x .
(3.6)
y l cng thc c lng sai s chun cho phng php Newton v c
dng trong chng trnh MATLAB bn di.
CHNG TRNH MATLAB: Thc thi phng php Newton bi hm newton,
vi c lng sai s v loi tr vng lp v hn. Tham s nhp vo max_iterate l
gii hn trn v s vng lp c tnh; iu ny ngn chn s c v vng lp v
hn. Kt thc chng trnh, in gi tr ca nghim, gii hn sai s v s ln lp
c c kt qu.
Chng trnh 3.2:
function root = newton(x0,error_bd,max_iterate,index_f)
% Ham newton(x0,error_bd,max_iterate,index_f). Day la phuong phap Newton %
de giai phuong trinh f(x) = 0. Ham f(x) va deriv_f(x) duoc cho truoc. Tham so
%error_bd duoc dung de kiem tra sai so, do chinh xac cho moi vong lap. Tham so
% max_iterate la gioi han tren (can tren) cua so lan lap thuc hien tren may tinh.
%Mot phong doan x0 ban dau duoc cho truoc.
% Doi voi ham f(x) da cho, chuong trinh duoc goi theo cu phap vi du nhu:
% root = newton(1,1.0E-12,10,1)
% Tham so index_f=1 chi ro ham duoc su dung la case 1.
% Chuong trinh in cac gia tri vong lap: iterate_number, x, f(x), deriv_f(x), error
% Gia tri x la gia tri phong doan ban dau cua nghiem va roi la gia tri cua vong lap
% hien tai. Bien error la: error = gia tri vong lap moi tinh toan duoc tru di gia tri
%vong lap ngay truoc do va do la uoc luong sai so cua vong lap; f(x), deriv_f(x)
lan %luot la gia tri cua ham f va dao ham cua no . Den day se quay lai de thuc hien
%tiep tuc vong lap cho den khi co duoc ket qua mong doi.

format short e % Dau phay dong voi 5 chu so co nghia sau dau phay.
error = 1;
it_count = 0; % Vong lap ban dau.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 76
while abs(error) > error_bd & it_count <= max_iterate %Kiem tra dieu kien
dau.
fx = f(x0,index_f);
dfx = deriv_f(x0,index_f);
if dfx == 0
disp('Phep chia cho 0. Stop')
return
end
x1 = x0 - fx/dfx;
error = x1 - x0;
% Thuc hien phuong phap Newton. Nhan Enter roi nhan lien tuc phim bat ky tren
% may de di den ket qua can tinh.
iteration = [it_count x0 fx dfx error]
pause
x0 = x1;
it_count = it_count + 1; % Thuc hien lien tiep cac vong lap.
end

if it_count > max_iterate
disp('So vong lap thuc te lon hon so vong lap cho phep, khong tinh duoc
nghiem.')
else
format long % Lay 15 chu so co nghia sau dau phay.
root = x1
format short e
error
format short
it_count
end

% Ham so doi voi phuong trinh dinh nghia cua bai toan tim nghiem.
function value = f(x,index)
switch index
case 1
value = x.^6 - x - 1;
case 2
value = x - exp(-x);
case 3
value = sin(x) - exp(-x);
case 4
value = x.^4-x-1;
end
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 77

% Dao ham cua ham so dinh nghia cua bai toan tim nghiem.
function value = deriv_f(x,index)
switch index
case 1
value = 6*x.^5 - 1;
case 2
value = 1 + exp(-x);
case 3
value = cos(x) + exp(-x);
case 4
value = 4*x.^3-1;
end

Dng chng trnh 3.2 gii v d 3.2.1, hm c gi theo c php
root = newton(1.5,1.0E-9,10,1).
Kt qu sau 10 bc lp theo s l
- Nghim: root =1.13472413840152.
- Sai s: error = 0.
- S ln lp thc t: it_count =7.
- Nghim xp x: root =1.1347.
Chng trnh trn dng gii v d 3.2.1 v mt lp cc phng trnh sau vi
mt sai s c th chp nhn c c =0.0001. Ta c th thm vo hoc thay i cc
case i gii cc phng trnh khc.
a. Nghim ca
x
x e

= .(Chy chng trnh vi


root=newton(1,0.0001,15,2)).
b. Nghim dng nh nht ca
( )
sin
x
e x

= .(root=newton(0.5,0.0001,15,3)).
c. Tt c nghim thc ca
4
1 0 x x = .(root=newton(1,0.0001,15,4) v
root=newton(-0.5,0.0001,15,4)).
3.3. PHNG PHP CT TUYN (SECANT)
3.3.1 M t phng php
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 78
Trn Hnh 3.2, Hnh 3.3, vi
0
x v
1
x l hai c on ban u ca o . Ct
tuyn
( )
= y p x qua hai im
( ) ( )
0 0
, x f x v
( ) ( )
1 1
, x f x l mt xp x ca th
hm s
( )
= y f x v nghim
2
x ca
( )
= y p x l mt xp x mi ca o .
x
y
1
x
2
x
o
0
x
( ) ( )
1 1
, x f x
( ) ( )
0 0
, x f x
( )
y f x =
Hnh 3. 2. Biu ca phng php ct t uyn:
1 0
. x x o < <
.

x
y
1
x
2
x o
0
x
( ) ( )
1 1
, x f x
( ) ( )
0 0
, x f x
( )
y f x =
Hnh 3. 3. Biu ca phng php ct t uyn:
1 0
. x x o < <
.


Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 79
Ta c,
( ) ( ) ( )
( ) ( )

= +

1 0
1 1
1 0
.
f x f x
y p x f x x x
x x
.
Gii
( )
=
2
0 p x , chng ta c c

( )
( ) ( )

1 0
2 1 1
1 0
.
x x
x x f x
f x f x
.
Tm
2
x , chng ta c th b
0
x v dng
1
x ,
2
x , nh mt tp hp mi ca
cc gi tr xp x cho o . iu ny dn n mt gi tr c ci tin
3
x . Tip tc
tin trnh ny ta c c cng thc vng lp tng qut

( )
( ) ( )

1
1
1
.
n n
n n n
n n
x x
x x f x
f x f x
.
(3.7)
y l phng php ct tuyn (hay phng php dy cung).
V d 3.3.1 Gii phng trnh ( )
6
1 0. f x x x = Phng trnh c s dng
trc y nh mt v d cho c phng php chia i v phng php Newton.
Cc kt qu c cho trong Bng 3.3, bao gm
1 n n
x x

nh mt c lng ca
1
o

n
x . Vng lp
8
x bng o c lm trn ti 9 s c ngha. Nh vi phng
php Newton i vi phng trnh ny, cc vng lp trc khng hi t nhanh.
Nhng khi vng lp tr nn gn hn vi o , tc hi t tng ln.
Bng 3.3. Phng php ct tuyn gii x
6
x 1 = 0.
n
n
x
( )
n
f x

1 n n
x x o

1 n
x
0 2.0 61.0
1 1.0 -1.0 -1.0
2 1.01612903 -9.15E-1 1.61E-2 1.35E-1
3 1.19057777 6.57E-1 1.74E-1 1.19E-1
4 1.11765583 -1.68E-1 -7.29E-2 -5.59E-2
5 1.13253155 -2.24E-2 1.49E-2 1.71E-2
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 80
6 1.13481681 9.54E-4 2.29E-3 2.19E-3
7 1.13472365 -5.07E-6 -9.32E-5 -9.27E-5
8 1.13472414 -1.13E-9 4.92E-7 4.92E-7
3.3.2 nh gi sai s
Chng ti xin trnh by ngn gn vn ny v b qua vic bin i. Ta c

( )( )
( )
( )

o o o
,
+
(

= (
(

1 1
"
.
2 '
n
n n n
n
f
x x x
f

(3.8)
n s ,
n
nm gia
n
x v
1 n
x

, v n s
n
nm gia s ln nht v s nh
nht ca nhng s o ,
n
x , v
1 n
x

. Cng thc sai s gn ging vi cng thc sai s
Newton (3.5). Cng thc (3.8) c th c dng c c kt qu sai s xa hn
nu
0
x v
1
x c chn gn vi o , sau chng ta c s hi t v

( )
( )
o o
o
o
+

1
"
lim
2 '
n
r
n
n
x f
c
f
x
, ti
( )
= + 5 1 / 2 1.62 r
(3.9)
Nh vy, o o
+
~
1.62
1
.
n n
x c x
(3.10)
Kt qu (3.10) c th c dng iu chnh c lng sai s.
o

~
1 1 n n n
x x x , vi
n
x gn vi nghim.
(3.11)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 81
y l cng thc c lng sai s c dng trong chng trnh
MATLAB.
CHNG TRNH MATLAB: Thc thi phng php ct tuyn bi hm secant,
vi c lng sai s v bo m an ton i vi vng lp v hn. Tham s nhp
vo max_iterate l chn trn s vng lp c tnh, iu ny ngn cn vic xy ra
ca mt vng lp v hn. Kt thc chng trnh, in gi tr ca nghim, gii hn sai
s v s ln lp c c kt qu.
Chng trnh 3.3:
function root = secant(x0,x1,error_bd,max_iterate,index_f)
% Ham so secant(x0,x1,error_bd,max_iterate,index_f)
% Day la phuong phap cat tuyen de giai phuong trinh f(x) = 0.
% Tham so error_bd dung de kiem tra su sai so cho su chinh xac cua moi vong
lap. % Tham so max_iterate la mot gioi han tren cua so vong lap can tinh toan. Hai
uoc %doan ban dau x0 va x1 duoc cho truoc.
% Doi voi ham so cho truoc f(x). Cach thuc hien chuong trinh, theo cau truc cua vi
% du sau day: root = secant(x0,x1,1.0E-12,10,1)
% Tham so index_f xac dinh cu the mot ham nao duoc dinh nghia ben duoi duoc
su % dung de tinh nghiem (case 1, case 2 vv..). Va sau khi thuc hien xong mot
vong lap % se cho ra cac ket qua sau: iterate_number, x, f(x), error
% Gia tri x la gia tri phong doan ban dau cua nghiem va roi la gia tri cua
% vong lap hien tai. iterate_number: so vong lap hien tai. Bien error la:
% error = gia tri vong lap moi tinh toan duoc tru di gia tri vong lap ngay truoc do
% va do la uoc luong sai so cua moi vong lap. Den day se quay lai de thuc hien
tiep % tuc vong lap cho den khi co duoc ket qua mong doi.
format short e
error = 1;
fx0 = f(x0,index_f);
it_count = 0;
iteration = [it_count x0 fx0]
while abs(error) > error_bd & it_count <= max_iterate
it_count = it_count + 1;
fx1 = f(x1,index_f);
if fx1 - fx0 == 0
disp('f(x1) = f(x0); Phep chia boi 0; Stop')
return
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 82
end
x2 = x1 - fx1*(x1-x0)/(fx1-fx0);
error = x2 - x1;
% Thuc hien phuong phap cat tuyen. Nhan Enter roi nhan lien tuc phim bat ky
%tren may de di den ket qua can tinh.
iteration = [it_count x1 fx1 error]
pause
x0 = x1;
x1 = x2;
fx0 = fx1;
end
if it_count > max_iterate
disp('The number of iterates calculated exceeded')
disp('max_iterate. An accurate root was not')
disp('calculated.')
else
format long
root = x2
format short e
error
format short
it_count
end
% Ham so doi voi phuong trinh dinh nghia cua bai toan tim nghiem.
function value = f(x,index)
switch index
case 1
value = x.^6 - x - 1;
case 2
value = x - exp(-x);
case 3
value = sin(x) - exp(-x);
case 4
value = x.^4-x-1;
end
Dng chng trnh 3.3 gii v d 3.3.1, hm c gi theo c php
root = secant(1,2,1.0E-9,10,1).
Kt qu sau 10 bc lp theo s l
- Nghim: root =1.13472413840152.
- Sai s: error = 5.0195e-012.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 83
- S ln lp thc t: it_count =9.
- Nghim xp x: root =1.1347.
Chng trnh trn dng gii v d 3.3.1 v mt lp cc phng trnh sau
vi mt sai s c th chp nhn c c =0.0001. Ta c th thm vo hoc thay i
cc case i gii cc phng trnh khc.
a. Nghim ca
x
x e

= .(Chy chng trnh vi root=secant(0,1,0.0001,15,2)).


b. Nghim dng nh nht ca
( )
sin
x
e x

= .
(root=secant(0.5,1,0.0001,15,3)).
c. Tt c nghim thc ca
4
1 0 x x = .(root=secant(1.1,1.5,0.0001,15,4) v
root=secant(-1,0,0.0001,15,4)).
3.3.3 Hm s MATLAB fzero
Matlab bao hm chui thao tc tm nghim fzero s dng nhng tng
lin quan n phng php chia i v phng php ct tuyn. Nh vi nhiu
chng trnh Matlab, c vi chui tp hp c th thc hin c.
Lnh root = fzero (f_name, [a, b]), to ra mt nghim trong on [a, b],
ti ni n c gi thit rng
( ) ( )
. 0 f a f b s .
Lnh root = fzero (f_name, x0), tm mt nghim ca hm s gn x0. Sai s
c th chp nhn mc nh l chnh xc ti a ca my, mc d iu ny c th
c thay i bi ngi s dng. y l chui thao tc tm nghim tuyt vi, kt
hp vi vic bo m hi t vi hiu qu cao.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 84
CHNG 4
PHP NI SUY V PHP TNH XP X

4.1. PHP NI SUY A THC
4.1.1 a thc ni suy
Cho hm s
| |
: , f a b R v trn on
| |
, a b cho ta mt li cc im
chia (cc im nt)
i
x , i = 0, 1, , n:
1 2
...
n
a x x x b s < < < s . V ti cc im nt
i
x c cc gi tr hm s ( )
y f x = l ( )
i i
y f x = c cho di dng bng
x x
0
x
1
x
2
x
n-1
x
n

y y
0
y
1
y
2
y
n-1
y
n

Bi ton l tm a thc bc n
( )
0
n
i
n i
i
P x a x
=
=

, sao cho ( ) ( )
n i i
P x f x = , i=0,, n. (4.1)
Ta gi ( )
n
P x l a thc ni suy ca hm ( )
f x ti cc im nt
i
x .
4.1.2 S tn ti v duy nht ca a thc ni suy
nh l 4.1.1 Trong tt c cc a thc c bc n s , c duy nht mt a thc ( )
n
P x
tha ( )
, 0,1,..., .
n i i
P x y i n = =
Chng minh
t
( )
0
n
i
n i
i
P x a x
=
=

. Theo gi thit ta c
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 85

( )
2
0 1 2
0
... , 0,
n
j n
j i n i i i n i i
j
a x P x a a x a x a x y i n
=
= = + + + + = =

.
y l h n+1 phng trnh tuyn tnh Aa y = , vi n+1 n l cc h s ca
( )
n
P x c sp xp thnh vect ct, n+1 chiu
( )
1
0 1
, ,...,
T
n
n
a a a a R
+
= e , v ma
trn h s ca h ny l
2
0 0 0
2
1 1 1
2
1 ...
1 ...
... ... ... ...
1 ...
n
n
n
n n n
x x x
x x x
A
x x x
| |
|
|
=
|
|
|
\ .
, v
( )
1
0 1
, ,...,
T
n
n
y y y y R
+
= e .
Mt khc,
( ) ( )
, 0
det 0
n
i j
i j
i j
A x x
=
=
= =
[
(nh thc Vandermon).
Vy, tn ti duy nht
1
a A y

= l nghim ca h Aa y = . nh l c
chng minh.
4.1.3 Sai s ni suy v chn nt ni suy
nh l 4.1.2 Gi s ( )
f x lin tc trn [a, b] v c o hm lin tc n cp
n+1 trn [a, b]. Khi tn ti c thuc [a, b] sao cho
( ) ( )
( )
( )
( )
( )
1 1
1 !
n n
n
x
f x P x f c
n
e
+ +
=
+
. (4.2)
Trong ( ) ( )( ) ( )
1 0 1
...
n n
x x x x x x x e
+
= .
Ch
i) Sai s ni suy ( ) ( )
n
f x P x c th nh gi
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 86
( ) ( )
( )
( )
1
1 !
n n
M
f x P x x
n
e
+
s
+
, vi
( )
( )
1
max
n
a x b
M f x
+
s s
= .
ii) Sai s ni suy
( ) ( )
n
f x P x ph thuc vo
( )
1 n
x e
+
, tc l ph thuc vo s
phn b cc nt ni suy x
i
. Do , cn chn x
i
sao cho
( )
1
a x b
max
n
x e
+
s s
l nh nht.
V chn x
i
l nghim ca a thc Chebychev l cch chn ti u nht (iu ny s
c lm r trong mc 4.2).
4.1.4 a thc ni suy Lagrange
Xt a thc ( )
i
L x l a thc bc n c cho trc bi

( )
( ) ( )( ) ( )
( ) ( )( ) ( )
0 1 1
0 1 1
... ...
.
... ...
i i n
i
i i i i i i n
x x x x x x x x
L x
x x x x x x x x
+
+

=

(4.3)
Vi
( )
ij
1
0
i j
khi i j
L x
khi i j
o
=
= =

=

. ( )
i
L x c gi l a thc Lagrange c s.
Khi , a thc ni suy Lagrange l
( ) ( ) ( ) ( )
0 0 1 1
...
n n n
P x y L x y L x y L x = + + + . (4.4)
4.1.5 Cc t sai phn
Cho hm s ( )
y f x = xc nh trn on
| |
, a b v ti cc im nt
i
x c
cc gi tr hm s ( )
y f x = l ( )
i i
y f x = c cho di dng bng
x x
0
x
1
x
2
x
n-1
x
n

y y
0
y
1
y
2
y
n-1
y
n

- T sai phn cp 1:
| |
( ) ( )
1 0
0 1
1 0
,
f x f x
f x x
x x

.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 87
- T sai phn cp 2:
| |
| | | |
1 2 0 1
0 1 2
2 0
, ,
, ,
f x x f x x
f x x x
x x

.
- T sai phn cp 3:
| |
| | | |
1 2 3 0 1 2
0 1 2 3
3 0
, , , ,
, , ,
f x x x f x x x
f x x x x
x x

.
- Tng qut,
| |
| | | |
1 0 1
0
0
,..., ,...,
,...,
n n
n
n
f x x f x x
f x x
x x

. (4.5)
y l t sai phn cp n, i khi cn c gi l t sai phn Newton.
Mi quan h ca cc t sai phn bc cao hn i vi o hm ca bc
tng ng c cho bi nh l sau y.
nh l 4.1.3 Cho 1 n > , v gi nh ( )
f x c th kh vi n ln lin tc trn on
x o | s s . Cho
0 1
, ,...,
n
x x x l 1 n + s phn bit trong
| |
, o | . Th
| |
( )
( )
0
1
,...,
!
n
n
f x x f c
n
= , (4.6)
vi c nm gia s nh nht v s ln nht ca cc s
0 1
, ,...,
n
x x x .
CHNG TRNH MATLAB: c lng cc t sai phn.
Cho mt tp hp cc gi tr ( ) ( )
0
,...,
n
f x f x , chng ta cn tnh mt tp
hp cc t sai phn

| | | | | |
0 1 0 1 2 0 1
, , , , ,..., , ,...,
n
f x x f x x x f x x x .
Hm MATLAB c cho di y c th c dng lm iu , bng
cch dng hm s c gi l
divdif_y = divdif(x_nodes,y_values).
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 88
Tuy nhin ch rng MATLAB khng thc hin php chia cho 0, v v th
vector nhp vo cc bin x_nodes v y_values s cn c xc nh nh l cc
vector cha n+1 yu t. Mt cch chnh xc hn, khi c cho trc cc nt
{ }
0 1
, ,...,
n
x x x v cc gi tr hm s lin kt, th chng ta xc nh c cc vector
nhp vo x_nodes v y_values nh sau

| |
0 1
_ , ,...,
n
x nodes x x x =
( )
1
_ , 1,..., 1
i
x nodes i x i n

= = +
( ) ( ) ( )
0 1
_ , ,...,
n
y values f x f x f x ( =


( ) ( )
1
_ , 1,..., 1
i
y nodes i f x i n

= = +

Chng trnh 4.1:
function divdif_y = divdif(x_nodes,y_values)
% Day la ham
% divdif_y = divdif(x_nodes,y_values)
% No se tinh toan cac ty sai phan cua ham. Gia tri cho truoc trong vector
%y_values, la gia tri cua ham f(x) tai nut da cho x_nodes. Voi,
% divdif_y(i) = f[x_1,...,x_i], i=1,...,m
% m la do dai cua x_nodes. Nhap vao gia tri cua x_nodes va y_values phu %hop
voi chuong trinh.

divdif_y = y_values;
m = length(x_nodes);
for i=2:m
for j=m:-1:i
divdif_y(j) = (divdif_y(j)-divdif_y(j-1)) ...
/(x_nodes(j)-x_nodes(j-i+1));
end
end

Chy chng trnh vi: x_nodes=[0.0 0.2 0.4 0.6 0.8 1.0 1.2];
y_values=[1.0 0.980067 0.921061 0.825336 0.696707 0.540302 0.362358];
c D
i
trong bng 4.1.

Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 89
Bng 4.1. Cc gi tr v cc t sai phn ca cos(x).
i
i
x
( )
cos
i
x
i
D
0 0.0 1.000000 0.1000000E+1
1 0.2 0.980067 -0.9966711E-1
2 0.4 0.921061 -0.4884020E+0
3 0.6 0.825336 0.4900763E-1
4 0.8 0.696707 0.3812246E-1
5 1.0 0.540302 -0.3962047E-2
6 1.2 0.362358 -0.1134890E-2
Vi
| |
0
,..., , 0, 1, 2,...
i i
D f x x i = =
4.1.6 Cng thc ni suy t sai phn Newton
Cho ( )
n
P x biu th a thc ni suy ( )
i
f x ti
i
x vi i=0, 1,, n. Th,
( )
deg
n
P n s v ( ) ( )
, 0,1,...,
n i i
P x f x i n = = . V vy, cc a thc ni suy c
th c vit nh sau
( ) ( ) ( ) | |
1 0 0 0 1
, P x f x x x f x x = + ,

( ) ( ) ( ) | |
( )( ) | |
2 0 0 0 1
0 1 0 1 2
,
, , ,
P x f x x x f x x
x x x x f x x x
= +
+



( ) ( ) ( ) | |
( )( ) ( ) | |
0 0 0 1
0 1 1 0 1
, ...
... , ,..., .
n
n n
P x f x x x f x x
x x x x x x f x x x

= + +
+
(4.7)
y c gi l cng thc a thc ni suy t sai phn Newton .
Ch rng vi 0 k > ,
( ) ( ) ( ) ( ) | |
1 0 0 1 1
... , ,..., , .
k k k k k
P x P x x x x x f x x x x
+ +
= + (4.8)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 90
Th chng ta c th i t bc k n bc k+1 vi s lng ti thiu cc php
tnh, khi cc h s t sai phn c tnh ton.
Vi
( ) ( )
cos f x x = , Bng 4.1 cha 1 tp hp cc nt
i
x , cc gi tr hm
( )
i
f x , v cc t sai phn
| |
0
,..., , 0
i i
D f x x i = > . V n c tnh bng vic
dng chng trnh MATLAB divdif c cho trn. Bng 4.2 cha cc gi tr ca
( )
n
P x vi x = 0.1, 0.3, 0.5 i vi cc gi tr khc nhau ca n. Gi tr ng ca
( )
f x c cho trong hng cui cng ca bng. Cc php tnh c lm bng cch
dng cng thc t sai phn Newton v c thc hin trong chng trnh
MATLAB interp c cho di y.
Bng 4.2. Ni suy cos(x).
( )
0.1
n
P ( )
0.3
n
P ( )
0.5
n
P
1 0.9900333 0.9700999 0.9501664
2 0.9949173 0.9554478 0.8769061
3 0.9950643 0.9553008 0.8776413
4 0.9950071 0.9553351 0.8775841
5 0.9950030 0.9553369 0.8775823
6 0.9950041 0.9553365 0.8775825
True
0.9950042 0.9553365 0.8775826
CHNG TRNH MATLAB: c lng t sai phn Newton ca a thc ni
suy. gip to nn cc v d ging nh trong Bng 4.1 v Bng 4.2, chng ti
trnh by chng trnh MATLAB ni suy sau y. Chng trnh nn c thc
hin trc bi hm s divdif m c cho trc trong phn ny. Nh phn
divdif trc , ch rng MATLAB khng thc hin php chia cho 0.
Chng trnh 4.2:
function p_eval = interp(x_nodes,divdif_y,x_eval)
% Day la ham p_eval = interp(x_nodes,divdif_y,x_eval)
% No dung de tinh lop ty sai phan Newton cua da thuc noi suy bac m-1, tai %cac
nut duoc cho boi x_nodes, m la do dai cua x_nodes, va cac ty sai phan %duoc cho
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 91
trong divdif_y. Nhung diem ma phep noi suy se duoc thuc hien %va duoc cho
trong x_eval; va o dau ra, p_eval chua dung nhung gia tri %tuong ung cua phep
noi suy da thuc .
%
m = length(x_nodes);
p_eval = divdif_y(m)*ones(size(x_eval));
for i=m-1:-1:1
p_eval = divdif_y(i) + (x_eval - x_nodes(i)).*p_eval;
end
4.2. A THC CHEBYSHEV
Xt hm s
( ) ( ) ( )
-1
cos cos
n
T x n x = , vi 1 x s v n N e . (4.9)
t ( )
-1
cos x u = hay ( )
os x c u = vi 0 u t s s , th: ( ) ( )
cos
n
T x nu = . (4.10)
Ta c,
( ) ( )
0
cos 0. 1 T x u = = ; ( ) ( )
1
cos T x x u = = ; ( ) ( )
2
2
cos 2 2 1 T x x u = = . (4.11)
Tng qut vi 1 n > , ta c
( ) ( ) ( ) ( ) ( )
1
cos 1 os n os n os sin n sin
n
T x n c c c u u u u u u u
+
( = + = + =

,
( ) ( ) ( ) ( ) ( )
1
cos 1 os n os n os sin n sin
n
T x n c c c u u u u u u u

( = = = +

.
( ) ( ) ( ) ( ) ( )
1 1
2 os n. os 2
n n n
T x T x c c xT x u u
+
+ = = ,
( ) ( ) ( )
1 1
2
n n n
T x xT x T x
+
= . (4.12)
T (4.12) ta tnh c
( ) ( ) ( )
3
3 2 1
2 4 3 T x xT x T x x x = = ;
( ) ( ) ( )
4 2
4 3 2
2 8 8 1 T x xT x T x x x = = + ...
Nh vy, ( )
n
T x l a thc i s, bc n v h s cao nht l 2
n-1
.
a thc ( )
n
T x c gi l a thc Chebyshev.
Nhn xt
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 92
i)
( )
-1 1
max 1
n
x
T x
s s
= khi cos
i
i
x x
n
t
= = , i=0, 1, , n. V
( )
1
n i
T x = vi i chn v
( )
1
n i
T x = vi i l.
ii) Gi E l tp cc a thc h s thc bc n (n>0). Xt phim hm :E R
+
,
( ) ( )
-1 1
max
x
P P x
s s
= , ( )
P x E e . Khi
( )
1
1
2
n n
T x

l cc tiu phim hm .
Tht vy, ta c
( )
1 1
1 1
2 2
n n n
T x

| |
=
|
\ .
.
Gi s c a thc ( )
P x E e sao cho:
( ) ( )
1
1
2
n
P x

< .
Khi xt
( ) ( ) ( )
1
1
2
n n
Q x T x P x

(
=
(

th ( )
Q x l a thc bc s (n-1). Mt khc
vi cos
i
i
x
n
t
= , i=0, 1,, n th
( ) ( )
1
cos
2
i i n
i
Q x P x
t

(
=
(

c du dng, m lun
phin nhau. Vy ( )
Q x c t nht n nghim (v l).
Do nu chn mc ni suy l nghim ca a thc Chebyshev ( )
1 n
T x
+
th
( ) ( )
1 1
1
2
n n n
x T x e
+ +
= l cc tiu phim hm v php ni suy s t c lng
tt nht.
iii) Trn on [-1, 1], ( )
1 n
T x
+
c nghim
( )
2 1
cos , 0,
2 1
i
i
x i n
n
t
| |
+
= =
|
|
+
\ .
. Khi
php ni suy t c lng tt nht l

( ) ( )
( ) 1 !2
n n
M
f x P x
n
s
+
, vi
( )
( )
1
max
n
a x b
M f x
+
s s
= . (4.13)
Trng hp ny, trong chng trnh MATLAB dng ( )
n
c x thay cho ( )
n
P x .
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 93
Nu xt trn on [a, b], dng php bin i
2x a b
t
b a

=

s a on
a x b s s v on 1 1 t s s . Do chng ti trnh by chng trnh MATLAB
sau y trn on [-1, 1].
CHNG TRNH MATLAB: Chng trnh to hm ni suy bc n, hm c
dng trong chng trnh l ( )
x
f x e = trn [-1, 1] (ngi s dng c th thay th
hm khc bng lnh gn cho fval hm mong mun), cc mc ni suy c chn l
nghim ca a thc Chebyshev v sai s ln nht l
( )
-1 1
max
x
n
x
e c x
s s
. i s ca
chng trnh l n, ch s im cn tham chiu to hm ni suy. Khi chy
chng trnh, nhn lin tip Enter xem th ca a thc ni suy v th th
hin dng iu ca sai s trong php ni suy (Hnh 4.1 v Hnh 4.2 l kt qu ca
trng hp n=2); trong ca s Command ca MATLAB s in ra cc tham s tr v
ca chng trnh l sai s cc i: maximum error, cc nt: nodes, cc gi tr ni
suy tng ng: fcn_values v cc t sai phn ca hm ni suy: div_diff_fcn.
Chng trnh 4.3:
function [nodes, fcn_values, div_diff_fcn] = chebyshev_interp(n)
% Day la chuong trinh tao ham noi suy bac n, fcn(x) tren doan [-1,1], duoc %cho
ben duoi nhu la mot chuong trinh con co diem nodes la nghiem cua da %thuc
Chebyshev bac n+1 tren doan [-1,1] va chuong trinh ve hai do thi, %mot la do thi
ham chinh xac va da thuc noi suy cua no tren mot hnh, va %hai la do thi the hien
sai so cua da thuc noi suy.
% Dau tien la viec tao cac nodes (cac hoanh do diem) va vi phan tuong ung %voi
tung diem do. n la tham so thay doi duy nhat cua chuong trinh, chi so % diem can
tham chieu de tao ham noi suy
% h la khoang cach giua hai hoanh do diem ke nhau. pi=3.1416
h = pi/(2*(n+1));
% Bien nodes la vecto chua cac hoanh do diem tham chieu gia tri nam tren
% [-1,1] thong qua tap gia tri ham cosin, n+1 diem nodes duoc tao
nodes = cos(h*[1:2:2*n+1]);
% fcn_values la vec to chua cac gia tri tung do diem tuong ung
fcn_values = fcn(nodes);
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 94
% divdif() la ham co san trong matlab dung de tinh ty sai phan cua da thuc % noi
suy.
div_diff_fcn = divdif(nodes,fcn_values);
% Tao cac diem de ve do thi
x_eval = -1:.002:1;
true_fcn = fcn(x_eval);
y_eval = interp(nodes,div_diff_fcn,x_eval);
% Tao he truc de ve do thi cua ham va cac noi suy cua no. Gioi han do thi co %
hoanh do thuoc [-1.1,1.1], gia tri tung do duoc khao sat tren doan [m,M].
m = min([min(true_fcn),min(y_eval)]);
if m > 0
m = .9*m;
else
m = 1.1*m; end
M = max([max(true_fcn),max(y_eval)]);
if M < 0
M = .9*M;
else
M = 1.1*M; end
axis([-1.1,1.1,m,M])
hold on
plot(x_eval,true_fcn,'r','LineWidth',2)
plot(x_eval,y_eval,':','LineWidth',2)
legend('True function','Interpolant',0)
title('Hinh 4.1. Do thi the hien ham noi suy.')
hold on
plot(nodes,fcn_values,'.','LineWidth',2,'MarkerSize',6)
hold off
disp('Vui long nhan Enter de tiep tuc.')
pause
clf
% Tao cua so cho viec ve do thi sai so error.
error = true_fcn - y_eval;
M = max(error);
if M < 0
M = .9*M;
else
M = 1.1*M; end
m = min(error);
if m > 0
m = .9*m;
else
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 95
m = 1.1*m; end
axis([-1.1,1.1,m,M])
hold on
% Tao bieu do the hien sai so trong phep noi suy.
plot(x_eval,error,'r','LineWidth',2)
title('Hinh 4.2. Do thi dang dieu cua sai so trong phep noi suy.')
hold off
disp('Vui long nhan Enter de tiep tuc.')
pause
% In ra man hinh sai so lon nhat.
disp(['maximum error = ',num2str(max(abs(error)))])
% Tao ham can tinh.
function fval = fcn(x)
fval = exp(x);

Kt qu khi chy chng trnh theo c php
[nodes, fcn_values, div_diff_fcn] = chebyshev_interp(2)

Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 96

maximum error = 0.056468
nodes =
0.8660 0.0000 -0.8660
fcn_values =
2.3774 1.0000 0.4206
div_diff_fcn =
2.3774 1.5905 0.5320

Vi gi tr sai s ca chng trnh c th hin trong bng sau
Bng 4.3. Gi tr
( )
-1 1
max
x
n
x
e c x
s s
.
n 1 2 3 4 5 6
max(erros) 3.72E-1 5.65E-2 6.66E-3 6.40E-4 5.18E-5 3.62E-6

4.3. PHP NI SUY DNG HM GHP TRN (HM SPLINE)
Mt hn ch cn bn ca cc a thc xt l nu tng s mc ni suy ln
th bc ca a thc ni suy cng tng theo. iu ny rt khng thun tin trong
vic tnh ton. Hn th na ngi ta cn lm cho cc th ca hm ni suy trn
mt trn tng on con ca on [a, b]. Dng hm spline trong php ni suy s
gii quyt c cc vn trn, tc l ghp cc a thc bc thp li vi nhau
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 97
nhng vn m bo c tnh kh vi lin tc ti cc im nt. y chng ti ch
trnh by hm spline bc ba t nhin v n thng p ng yu cu ca nhiu bi
ton thc t.
4.3.1 Spline bc ba
Cho n im d kin (x
i
, y
i
), i=1, ..., n v a=x
1
<x
2
<....<x
n
=b. Tm hm s
s(x) xc nh trn [a, b] ni suy d kin: ( )
i i
s x y = tha cc iu sau:
S1. s(x) l mt a thc c bc s 3 trn mi on con
j 1 j
x , x

(

, j 2,3,..., n = .
S2. s(x), s(x) v s(x) lin tc vi a s xs b.
S3. s(x
1
) =s(x
n
) = 0.
s(x) c gi l hm spline bc 3 t nhin ni suy d kin ( ) { }
i i
x , y . Nu s(x)
ch tha S1 v S2, gi l hm spline bc 3 ni suy d kin ( ) { }
i i
x , y .
4.3.2 Xy dng hm spline bc 3 t nhin ni suy
a vo cc bin s M
1
, , M
n
vi ( )
"
i i
M s x . (4.14)
Chng ta s din t s(x) trong cc s hng ca cc gi tr khng th tnh
M
i
, sau chng ta s to ra mt h thng cc phng trnh tuyn tnh t
cc gi tr M
i
c th tnh c. V s(x) l bc 3 trn mi on
1
,
j j
x x

(

, nn hm
s s(x) l tuyn tnh trn on . Hm s tuyn tnh c xc nh bi cc gi tr
ca n ti 2 im v chng ta dng

( ) ( )
1 1
" , "
j j j j
s x M s x M

= = . (4.15)
Th
( )
( ) ( )
1 1
1
1
" ,
j j j j
j j
j j
x x M x x M
s x x x x
x x

+
= s s

. (4.16)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 98
By gi chng ta s hnh thnh nguyn hm th 2 ca s(x) trn
1
,
j j
x x

(


v p dng cc iu kin ni suy

( ) ( )
1 1
,
j j j j
s x y s x y

= = . (4.17)
Sau mt vi thao tc, iu ny a n kt qu trong a thc bc 3

( )
( ) ( )
( )
( ) ( )
( ) ( ) ( )
3 3
1 1 1 1
1 1
1 1 1
6
1
.
6
j j j j j j j j
j j j j
j j j j j j
x x M x x M x x y x x y
s x
x x x x
x x x x M x x M



+ +
= +

(
+

(4.18)
vi
1 j j
x x x

s s . Sau nhiu php n gin, iu ny dn n h cc phng trnh


tuyn tnh sau

1 1 1 1
1 1
1 1
1 1
6 3 6
, 2,3, ..., 1.
j j j j j j
j j j
j j j j
j j j j
x x x x x x
M M M
y y y y
j n
x x x x
+ +
+
+
+

+ +

= =

(4.19)
Cc n-2 phng trnh ny cng vi gi nh trc (S3)

1
0
n
M M = = . (4.20)
Cho php tnh cc gi tr M
1
, , M
n
v sau tnh hm s ni suy s(x). H tuyn
tnh ny c gi l h thng 3 ng cho (tridiagonal) v c cc phng php
c bit gii n.
V d 4.3.1 Tm hm spline bc 3 t nhin ni suy d kin

( ) ( ) ( ) ( ) { }
1, 1 , 2, 1/ 2 , 3, 1/ 3 , 4, 1/ 4 .
S lng cc im l n=4; v tt c
1
1
j j
x x

= . Ta c

+ + =
+ + =
1 2 3
2 3 4
/ 6 2 / 3 / 6 1/ 3,
/ 6 2 / 3 / 6 1/ 12.
M M M
M M M

Theo (4.20) suy ra = =
2 3
1/ 2, 0. M M
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 99
Thay th vo (4.18), chng ta c c
( )
3 2
3 2
1 1 1 3
, 1 2,
12 4 3 2
1 3 7 17
, 2 3,
12 4 3 6
1 7
, 3 4.
12 12
x x x x
s x x x x x
x x

+ s s

= + + s s

+ s s

(4.21)
4.3.3 Chng trnh MATLAB spline
xy dng mt chng trnh hon chnh tm cc h s ca spline bc ba
t nhin chng ta cn xy dng v s dng chng trnh gii h phng trnh vi
ma trn ba ng cho. Kin thc ny chng ti trnh by chng 6. y
chng ti ch xin php c gii thiu gi chng trnh MATLAB tiu chun
cha hm ghp trn (function spline). N c mt vi chui c th thc hin c;
chui tiu chun l
y=spline(x_nodes,y_nodes,x)
iu ny to ra hm spline bc 3 s(x) m th ca n i qua cc im
( ) { }
i i
, | i 1,..., n q = , vi ( ) ( ) ( ) ( )
i i
, x_node i ,y_node i q = .
V n l chiu di ca x_nodes (v y_nodes). V vi gi tr x cho, s tnh
c gi tr y tng ng ca hm spline. Nu dng cc pht biu
pp=spline(x_nodes,y_nodes)
[breaks, coefs, l, k, d]=unmkpp(pp)
th ta c th t c cc h s ca s biu din a thc bc 3 ca s(x) trn mi
on con c xc nh bi ta k nhau trong x_nodes. Cc thng tin chi tit
hn v cc lnh ny c th t c t lnh help ca MATLAB.
4.4. BI TON XP X HM THC NGHIM
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 100
Cho tp hp im
( ) { }
1
,
n
k k k
k
M x y
=
, trong c t nht hai im nt x
i
v x
j

khc nhau vi i =j v n l rt ln. Khi vic xy dng mt ng cong i qua tt
c cc im cho s khng c ngha thc t. Thay vo chng ta s tm mt
hm f(x) n gin sau cho n th hin tt nht dng iu ca tp hp im cho
v khng nht thit phi i qua cc im . C nhiu phng php gii quyt
vn ny, v mt trong nhng phng php , l phng php bnh phng b
nht. Ni dung ca phng php ny l tm cc tiu ca phim hm

( ) ( ) ( )
2
1
min
n
k k
k
g f f x y
=
=

. (4.22)
(Tng bnh phng cc sai s l b nht)
Dng ca hm cn xc nh f(x) ph thuc vo nhiu yu t. Cc dng n
gin nht thng gp trong thc t l ( )
f x Ax B = + , ( )
2
f x Ax Bx C = + + ,
( )
Bx
f x Ae = , ( )
B
f x Ax = , ( )
cos sin f x A x B x = + , minh ho cho phng
php, chng ti trnh by hai trng hp n gin u v chng trnh MATLAB
xc nh hm a thc xp x thc nghim.
4.4.1 Trng hp
( )
= + f x Ax B
Khi (4.22) c dng
( ) ( )
2
1
, min
n
k
k
g A B Ax B y
=
= +

.
Bi ton quy v vic tm cc tiu ca hm hai bin ( )
, g A B . Ta im
dng ca hm c xc nh t h 0
g g
A B
c c
= =
c c
tng ng vi

= =
= = =

+ =

+ =



1 1
2
1 1 1
n n
k k
k k
n n n
k k k k
k k k
A x nB y
A x B x x y
(4.23)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 101
Theo gi thit bi ton ta c
2
2
1 1
0
n n
k k
k k
x n x
= =
| |
=
|
\ .

. Do h (4.23) c duy nht
nghim A, B. y l h s cn tm.
V d 4.4.1 Tm hm
( )
f x Ax B = + xp x tt nht d kin
X 1 1 2 2 2 3 3 4 5 6
Y 1 2 2 3 4 4 5 5 6 7
Ta c, n=10,
1
29
n
k
k
x
=
=

,
1
39
n
k
k
y
=
=

,
2
1
109
n
k
k
x
=
=

v
1
. 140
n
k k
k
x y
=
=

. Th
vo (4.22) ta c

29 10 39
109 29 140
A B
A B
+ =

+ =

. Suy ra 1.0803; 0.7671 A B .


Vy,
( )
~ + 1.0803 0.7671 f x x .
4.4.2 Trng hp
( )
= + +
2
f x Ax Bx C
Khi (4.22) c dng
( ) ( )
2
2
1
, , min
n
k
k
g A B C Ax Bx C y
=
= + +

.
H xc nh A, B v C l

4 3 2 2
1 1 1 1
3 2
1 1 1 1
2
1 1 1
n n n n
k k k k k
k k k k
n n n n
k k k k k
k k k k
n n n
k k k
k k k
A x B x C x x y
A x B x C x x y
A x B x Cn y
= = = =
= = = =
= = =

+ + =

+ + =

+ + =




(4.24)
V d 4.4.2 Tm hm ( )
2
f x Ax Bx C = + + xp x tt nht d kin
x 1 1 2 3 3 4 5
y 4.12 4.18 6.23 8.34 8.38 12.13 18.32

Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 102
T bng d kin v h (4.24), ta c
1061 253 65 835.78
253 65 19 211.04
65 19 7 61.70
A B C
A B C
A B C
+ + =

+ + =

+ + =

. Suy ra,

0.69
0.71
4.30
A
B
C

Vy,
( )
~ +
2
0.69 0.71 4.30 f x x x .
Trng hp f(x) l a thc bc m (m>2) ta cng thc hin tng t v
trong MATLAB c hm polyfit cho php ta xy dng nhng a thc ny.
C php: f=polyfit(x, y, n). Trong x, y l cc vector cha gi tr ca d
kin, n l bc ca a thc f c tr v bi hm.
CHNG TRNH MATLAB: Xc nh a thc xp x hm thc nghim.
Chng trnh 4.4:
function testpolyfit
% x=[1 1 2 2 2 3 3 4 5 6];y=[1 2 2 3 4 4 5 5 6 7];n=1; % Vi du 4.4.1.
x=[1 1 2 3 3 4 5];y=[4.12 4.18 6.23 8.34 8.38 12.13 18.32]; n=2; % Vi du 4.4.2
%x=[1 1 2 3 4 4 5];y=[3 4 6 9 12 13 20];n=3;% Da thuc bac ba.
f=polyfit(x,y,n)
x2 = 1:.1:5;
y2 = polyval(f,x2);
plot(x,y,'ro',x2,y2,'LineWidth',2)
title('Hinh 4.3. Do thi cua da thuc f (mau xanh) va cac diem du kien (mau
do)')
grid on

Kt qu chy chng trnh 4.4, gii v d 4.4.2 vi
x=[1 1 2 3 3 4 5];y=[4.12 4.18 6.23 8.34 8.38 12.13 18.32]; n=2;
ta c
f =
0.6929 -0.7064 4.2979
Tc l a thc xp x hm thc nghim
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 103

( )
~ +
2
0.69 0.71 4.30 f x x x .
V th minh ho l Hnh 4.3, v th ca a thc xp x hm thc nghim f(x)
v cc im d kin cho.

Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 104
CHNG 5
TCH PHN S V VI PHN


Cho tch phn xc nh

( ) ( )
b
a
I f f x dx =
}
. (5.1)
Nh bit, vi ( )
F x l mt nguyn hm ca ( )
f x lin tc trn
| |
, a b , ta
c cng thc Newton Leibniz ( ) ( ) ( )
. I f F b F a = tng chnh ca tch phn
s l thay th ( )
f x bng hm xp x m ta c th tnh c tch phn ca n.
5.1. CNG THC HNH THANG
5.1.1 Thit lp cng thc
Xp x ( )
f x bng a thc ni suy tuyn tnh ( )
1
P x ca n ti a v b. Tch
phn ca ( )
1
P x trn
| |
, a b l
( ) ( )
( ) ( )
1
2
f a f b
T f b a
( +
=
(

. (5.2)
Cng thc ny c th tnh c gn ng tch phn ( )
I f nu ( )
f x gn
nh l ng thng trn
| |
, a b . V nu ( )
0 f x > trn
| |
, a b th (5.2) l din tch
hnh thang c hai y l ( )
f a , ( )
f b v chiu cao l ( )
b a .
V d 5.1.1 Tnh tch phn
1
0
1
dx
I
x
=
+
}
. (5.3)
Gi tr thc l ( )
log 2 0.693147 I = . Dng cng thc (5.2), ta c
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 105

1
1 1 3
1
2 2 4
T
(
= + =
(

. (5.4)
Cng thc ny gp phi sai s l
1
0.0569 I T . (5.5)
ci thin php tnh xp x
( )
1
T f trong (5.4), chia on [a, b] thnh nhng on
con c cng di v dng (5.2) cho mi on nh .
V d 5.1.2 Hy tnh gi tr I ca v d trc bng cch dng ( )
1
T f trn 2 on
con c cng di. Vi 2 on con,

1/ 2 1
0 1/ 2
1 1
dx dx
I
x x
= +
+ +
} }
,

1 1 2/ 3 1 2/ 3 1/ 2
2 2 2 2
I
+ + ( (
+
( (

.

2
17
0.70833.
24
T = (5.6)

2
0.0152 I T . (5.7)
Sai s trong
2
T ch bng so vi
1
T trong (5.5)
Ta c cng thc tng qut, bng cch chia on
| |
, a b thnh n on con c
cng di ( )
/ h b a n = bi cc im chia , 0,1,...,
j
x a jh j n = + = ; v trn mi
on con
1
,
j j
x x

(

ta thay ( )
f x bi a thc ni suy tuyn tnh. Th
( )
( ) ( ) ( ) ( ) ( ) ( )
0 1 1 2 1
...
2 2 2
n n
f x f x f x f x f x f x
I f h h h

( ( ( + + +
~ + + +
( ( (

. (5.8)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 106
Nhng s hn bn phi c kt hp c cng thc n gin hn

( ) ( ) ( ) ( ) ( ) ( )
0 1 2 1
1 1
...
2 2
n n n
T f h f x f x f x f x f x

(
= + + + + +
(

. (5.9)
y gi l cng thc hnh thang tnh xp x (5.1).
5.1.2 nh gi sai s

( ) ( ) ( ) ( )
2
, max "
12
n
a x b
M
I f T f b a h M f x
s s
s = . (5.10)
V d 5.1.3 Tch phn
1
0
1
dx
I
x
=
+
}

Ta c ( ) ( ) ( ) ( ) ( ) ( )
1 2 3
1 , ' 1 , " 2 1 f x x f x x f x x

= + = + = + .
Suy ra,
( )
0 1
max " 2
x
M f x
s s
= = , dn n ( ) ( ) ( )
2 2
2
12 6
n
h h
I f T f s = .
5.1.3 Nhn xt chung
Bi ton tch phn s c th cho trc s on chia n hoc cho trc sai
s c . Khi cho trc sai s ta tnh n nh sau
( ) ( ) ( )
( )
3
2
2
12 12
n
b a
M M
I f T f b a h
n
c

s = < .
Trong (5.10), khi n th ( ) ( )
0
n
I f T f . Do , nu n c
nhn i lin tc, th gi tr ca hm s c dng trong mi ( )
2n
T f s bao gm
tt c gi tr ca hm trc c s dng trong ( )
n
T f , cng th hin chnh xc
hn ( )
I f . V th, trong chng trnh MATLAB chng ti trnh by theo tng
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 107
ny. minh ho gi tr ca hm s dng nh th no khi gp i n, chng ta hy
xt
( )
2
T f v
( )
4
T f .

( )
( )
( )
( )
0 2
2 1
2 2
f x f x
T f h f x
(
= + +
(

. (5.11)
Vi

0 1 2
, , ,
2 2
b a a b
h x a x x b
+
= = = = .

( )
( )
( ) ( ) ( )
( )
0 4
4 1 2 3
2 2
f x f x
T f h f x f x f x
(
= + + + +
(

. (5.12)
Vi

0 1 2 3 4
3 3
, , , , ,
4 4 2 4
b a a b a b a b
h x a x x x x b
+ + +
= = = = = = .
Trong (5.12), ch ( )
1
f x v ( )
2
f x cn tnh gi tr v cc gi tr ca hm s
khc c tm ra t (5.11).
V d 5.1.4 Tnh ( )
n
T f ca 3 tch phn

( )
2
1
1
0
0.746824132812427.
x
I e dx

=
}
(5.13)

( )
( )
4
2 1
2
0
tan 4 1.32581766366803.
1
dx
I
x

= =
+
}
(5.14)

( )
( )
2
3
0
2
3.62759872846846844
2 cos
3
dx
I
x
t
t
= =
+
}
. (5.15)
Cc kt qu c cho trong Bng 5.1, sai s trong cch tnh
( ) 1
I v
( ) 2
I
gim theo h s 4 khi n gp i. V d th 3,
( ) 3
I , hi t nhanh hn rt nhiu. Cc
p s cho n = 32, 64 v 128 l ng da theo gii hn bi sai s lm trong trn
my tnh (16 s thp phn), n k hiu bi du * trong Bng.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 108
Bng 5.1. Cc v d v quy tc hnh thang.
n
( ) 1
I
( ) 2
I
( ) 3
I
Sai s T l Sai s T l Sai s T l
2 1.55E-2 -1.33E-1 -5.61E-1
4 3.84E-3 4.08 -3.59E-3 5.09 -3.76E-2
8 9.59E-4 4.03 5.64E-4 31.12 -1.93E-4
16 2.40E-4 4.01 1.44E-4 -9.90 -5.19E-9
32 5.99E-5 4.00 3.60E-5 3.89 * 0.04
64 1.50E-5 4.00 9.01E-6 4.00 * -2.90
128 3.74E-6 4.00 2.25E-6 4.00 *
CHNG TRNH MATLAB: Chng ti cung cp 1 chng trnh cho quy tc
hnh thang. Chng ti tnh c
( )
n
T f khi
0 0 0 0
, 2 , 4 ,..., 256 n n n n n = , vi
0
n
c cho bi ngi dng. Khi n c gp i thnh 2n, tt c cc gi tr ca hm
s xut hin trong ( )
n
T f cng c th dng tnh cho ( )
2n
T f . Chng ti cng
chp nhn i vi mt s tch phn ca hm ( )
f x , khi ngi s dng nh r tch
phn thng qua chng trnh con f . Dng ch gii ca chng trnh ni r cch
t chc ca chng trnh.
Chng trnh 5.1:
% Tao file trapezoidal.m
function [integral,difference,ratio]=trapezoidal(a,b,n0,index_f)
% Day la ham [integral,difference,ratio]=trapezoidal(a,b,n0,index_f)
% Chuong trinh su dung phuong phap hinh thang voi n diem chia nham uoc % tinh
ham f tren doan [a,b]. Nhung gia tri cua n duoc su dung la
% n = n0,2*n0,4*n0,...,256*n0
% Toan bo cac so tuong ung duoc tra ve trong vecto integral. Nhung gia tri % sai
phan tuong ung voi cac so trong vecto integral duoc tra lai cho vecto %difference
% difference(i) = integral(i)-integral(i-1), i=2,...,9
% Cac ghi nhan ve ti le dat ra cac muc giam duoc cho trong nhung gia tri ve %
phan nay. De su dung chuong trinh nay, dinh nghia tich phan su dung %trong ham
duoc cho ben duoi. Tham so index_f cho phep nguoi dung tinh % toan voi nhieu
ham can tinh tich phan khac nhau.

% Khoi tao cac vecto dau ra.
integral = zeros(9,1);
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 109
difference = zeros(9,1);
ratio = zeros(9,1);

% Khoi tao cong thuc tinh tich phan theo quy tac hinh thang, n=2.
sumend = (f(a,index_f) +f(b,index_f))/2;
sum = 0;
% Khoi tao cho truong hop n0 > 2.
if(n0 > 2)
h = (b-a)/n0;
for i=2:2:n0-2
sum = sum + f(a+i*h,index_f);
end
end

% Tinh toan cac tich phan, viec thuc hien tien hanh cho tung truong hop %duoc bo
sung thich hop.
for i=1:9
n = n0*2^(i-1);
h = (b-a)/n;
for k=1:2:n-1
sum = sum + f(a+k*h,index_f);
end
integral(i) = h*(sumend + sum);
end
% Tinh toan vi sai phan cho quy tac hinh thang tuong ung voi so nguyen lan %
luong hinh thang duoc chia nho. Va ti le giam cua tung vi sai phan nay.
difference(2:9)=integral(2:9)-integral(1:8);
ratio(3:9)=difference(2:8)./difference(3:9);

function f_value = f(x,index)
% Day la dinh nghia cac ham tinh theo quy tac hinh thang viec lua chon ham % ap
dung tinh phu thuoc vao tham so index_f.
switch index
case 1
f_value = exp(-x.^2);
case 2
f_value = 1 ./(1+x.^2);
case 3
f_value = 1 ./(2+cos(x));
case 4
f_value = 1 ./(2+sin(x))
case 5
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 110
f_value = exp(x).*cos(x);
case 6
f_value = (x.^pi).*sin(sqrt(x));
end

5.2. CNG THC SIMPSON
5.2.1 Thit lp cng thc
Ta xp x ( )
f x bng a thc ni suy bc hai ( )
2
P x ca n ti a,
( )
/ 2 c a b = + v b. Khi
( ) ( ) ( ) ( )
2
4
6 2
b
a
b a b a
I f P x dx f a f f b
( + | |
~ = + +
| (
\ .

}
(5.16)
Tng qut, ta chia on
| |
, a b thnh 2n on con c cng di
( )
/ 2 h b a n = bi cc im chia , 0,1,...,2
j
x a jh j n = + = ; v trn mi on con
1
,
j j
x x

(

ta thay ( )
f x bi a thc ni suy bc hai ( )
2
P x . Ta c
( ) ( ) ( ) ( ) ( ) ( )
1 1
2 1 2
0 0
4 2 .
3
n n
i i n
i i
h
I f f a f x f x f b S f

+
= =
(
~ + + +
(


(5.17)
y gi l cng thc Simpson tnh xp x (5.1).
5.2.2 nh gi sai s
( ) ( ) ( )
( )
( )
4 4
, max
180
n
a x b
M
I f S f b a h M f x
s s
s = . (5.18)
5.2.3 Nhn xt chung
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 111
Bi ton tch phn s gii bng cng thc Simpson c th cho trc s
on chia 2n hoc cho trc sai s c . Khi cho trc sai s ta tnh n nh sau:

( ) ( ) ( )
4
180
n
M
I f S f b a h c s < .
Trong (5.18), khi n th
( ) ( )
0
n
I f T f . Do , nu n c
nhn i lin tc, th gi tr ca hm s c dng trong mi ( )
2n
S f s bao gm
tt c gi tr ca hm trc c s dng trong ( )
n
S f , cng th hin chnh xc
hn
( )
I f . V th, trong chng trnh MATLAB chng ti trnh by theo tng
ny.
Vi
( ) 1
I ,
( ) 2
I v
( ) 3
I c cho trong v d 5.1.3. i vi cc tch
phn
( ) 1
I v
( ) 2
I , t l sai s gim xung theo h s 16. i vi tch phn
( ) 3
I ,
sai s hi t ti 0 nhanh hn. Hy so snh Bng 5.1 v bng 5.2 thy r vn .

Bng 5.2 . Cc v d v quy tc Simpson.
n
( ) 1
I
( ) 2
I
( ) 3
I
Sai s T l Sai s T l Sai s T l
2 -3.56E-4 8.66E-2 -1.26
4 -3.12E-5 -895.93 3.95E-2 137.62 1.37E-1
8 -1.99E-6 11.11 1.95E-3 344.93 1.23E-2 -2.76
16 -1.25E-7 15.70 4.02E-6 160.49 6.43E-5 0.02
32 -7.79E-9 15.95 2.33E-8 63.90 1.71E-9 0.02
64 -4.87E-10 15.99 1.46E-9 63.99 * 0.02
128 -3.04E-11 16.00 9.15E-11 64.10 * 0.02

CHNG TRNH MATLAB. Chng ti cung cp mt chng trnh MATLAB
cho quy tc Simpson. Chng trnh tnh c ( )
n
S f khi
0 0 0 0
, 2 , 4 ,..., 256 n n n n n = , vi
0
n c cho bi ngi dng. Khi n c gp i
thnh 2n, tt c cc gi tr ca hm s xut hin trong ( )
n
S f cng c th dng
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 112
tnh cho
( )
2n
S f . Chng ti cng chp nhn i vi mt s tch phn ca hm
( )
f x , khi ngi s dng nh r tch phn thng qua chng trnh con f . Dng
ch gii ca chng trnh ni r cch t chc ca chng trnh.

Chng trnh 5.2:
% Tao file simpson.m
function [integral,difference,ratio]=simpson(a,b,n0,index_f)
% Day la ham [integral,difference,ratio]=simpson(a,b,n0,index_f)
% Ham nay ap dung nguyen tac Simpson voi n tieu doan tinh toan ham f %tren
doan [a,b]. Cac gia tri n duoc su dung
% n = n0,2*n0,4*n0,...,256*n0
% Cac gia tri n phai khac khong #0. Gia tri tich phan tuong ung duoc tra lai %
trong vecto integral. Cac vi sai phan thuc hien giua cac phep tich phan %duoc luu
lai trong difference
% difference(i) = integral(i)-integral(i-1), i=2,...,9
% Trong viec su dung chuong trinh, dinh nghia tich phan cac ham cho ben %duoi
tham so index_f cho phep nguoi dung chon lua viec tinh tich phan %giua cac ham
khac nhau. Ratio la ty le cua cac vi sai phan.

% Dinh nghia vecto ket qua dau ra.
integral = zeros(9,1);
difference = zeros(9,1);
ratio = zeros(9,1);

% Dinh nghia cong thuc tich phan simpson.
sumend = f(a,index_f) + f(b,index_f);
sumodd = 0;
sumeven = 0;

% Khoi tao cho truong hop n0 > 2.
if(n0 > 2)
h = (b-a)/n0;
for i=2:2:n0-2
sumeven = sumeven + f(a+i*h,index_f);
end
end

Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 113
% Tinh toan so cac tich phan, cho moi truong hop bang viec bo sung thich %hop
vao truong hop tinh truoc do.
for i=1:9
n = (n0)*(2^(i-1));
h = (b-a)/n;
sumeven = sumeven + sumodd;
sumodd = 0;
for k=1:2:n-1
sumodd = sumodd + f(a+k*h,index_f);
end
integral(i) = h*(sumend + 4*sumodd + 2*sumeven)/3;
end

% Tinh toan cac sai phan cua qua trinh tinh toan tich phan simpson va ti le % giam
cua cac vi sai phan nay.
difference(2:9)=integral(2:9)-integral(1:8);
ratio(3:9)=difference(2:8)./difference(3:9);

function f_value = f(x,index)
% Day la dinh nghia cac ham tich phan. Viec lua chon ham ap dung tinh
% phu thuoc vao tham so index_f.
switch index
case 1
f_value = exp(-x.^2);
case 2
f_value = 1 ./(1+x.^2);
case 3
f_value = 1 ./(2+cos(x));
case 4
f_value = 1 ./(2+sin(x));
case 5
f_value = exp(x).*cos(x);
end

5.3. CNG THC TCH PHN GAUSS
5.3.1 Thit lp cng thc
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 114
Cc k thut tch phn s nh cng thc hnh thang, cng thc Simpson s
khng hiu qu trong tnh ton phn t hu hn v s phc tp khi dng php nh
x. y, chng ti trnh by cng thc tch phn Gauss (Gauss Legendre) s
thch hp hn v l mt cng c chun pht trin cc phn t nh x. Trong
khun kh bi vit ny, chng ti trnh by i vi trng hp mt chiu gii
s tch phn (5.1).
Trong cng thc tch phn Gauss, ngi ta lun gi s rng tch phn ca
hm ( )
f x c ly trn on 1 1 x s s . Tht vy, bng cch t
+
= +
2 2
b a b a
x t ,
th
( )

| | +
= +
|
\ .
} }
1
1
2 2 2
b
a
b a b a b a
f x dx f t dt .
Vn t ra l tm n s
| |
1 2
, ,..., 1, 1
n
x x x e v n s
1 2
, ,...,
n
w w w ,

( ) ( ) ( ) ( )
1
1
1
n
i i n
i
I f f x dx w f x G f
=

= ~ =

}
. (5.19)
V l cng thc ng vi mi a thc c bc 2 1 n s .
Trong , n im x
i
gi l cc im Gauss v chn theo th t l nghim
ca a thc Legendre, cc h s tng ng
i
w gi l cc trng s v l nghim ca
h
( )
( )
1
1
1 1
, 1, 1
1
j
n
j
i i
i
w x j n
j
+
=

= =
+

.
Cng thc (5.19) l cng thc tch phn Gauss.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 115
Vi kt qu ban u
- n=1
( ) ( ) ( ) ( )
1
1
1
2 0 I f f x dx f G f

= ~ =
}
.
- n=2
( ) ( ) ( )
1
2
1
1 1
3 3
I f f x dx f f G f

| | | |
= ~ + =
| |
\ . \ .
}
.
- n=3
( ) ( ) ( ) ( )
1
3
1
5 3 8 5 3
0
9 5 9 9 5
I f f x dx f f f G f

| | | |
= ~ + + =
| |
| |
\ . \ .
}
.
5.3.2 Cng thc sai s
( ) ( )
( )
( ) ( )
( )
( )
4
2 1
2
3
2 !
, max
2 ! 2 1
n
n
n
a x b
n
I f G f M M f x
n n
+
s s
s =
( +

. (5.20)
CHNG TRNH MATLAB: Tnh tch phn bng cng thc Gauss.
Chng trnh 5.3:
% Tao file gaussint.m
function [G,xi,wi]=gaussint(a,b,n,index_f)
% Ham gaussint(a,b,n,index_f), tinh tich phan cua mot ham tu diem a den %diem
b su dung n diem chia, quy tac Gauss duoc tien hanh cho ham bac %2*n-1.
% a,b - Gioi han tinh tich phan.
% n - Bac cua cong thuc.
% G - Gia tri tinh tich phan theo cong thuc Gauss
% xi,wi - Cac diem Gauss va cac trong so, phep tinh xac dinh tren doan[-1,1]
% index_f - Tham so lua chon ham nao de tinh tinh phan.

% Kiem tra doi so nhap vao khi goi chuong trinh, phai co it nhat 3 doi so.
if nargin < 4, n=4; end;
if nargin<3, error('Ham phai co it nhat 4 doi so.'); end;
u=(1:n-1)./sqrt((2*(1:n-1)).^2-1); % Tao ma tran cot u.
[vc,xi]=eig(diag(u,-1)+diag(u,1)); % vc la tri rieng, xi la vecto rieng cua %
ma tran tong cua diag(u,-1), diag(u,1); voi diag(u,k) la lay phan tu tren %duong
cheo thu k cua u.

Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 116
[xi,k]=sort(diag(xi)); % Lay xi la cac phan tu tren duong
%cheo chinh, tra ve ma tran cot va sap tu nho den lon; xi chinh la nghiem %cua da
thuc Legendre.
wi=2*vc(1,k)'.^2; % Tinh wi; A la chuyen vi ma tran A.
x=(a+b)/2+((b-a)/2)*xi; % Doi bien de tinh tich phan Gauss.
f=fcn(x,index_f)*(b-a)/2; % Tinh f theo cong thuc Gauss.
G=wf(:)'*f(:); % Tinh tich phan theo cong thuc Gaus

function f_value = fcn(x,index)
% Day la dinh nghia cac ham tinh tich phan.Viec lua chon ham ap dung tinh
% phu thuoc vao tham so index_f.
switch index
case 1
f_value = exp(-x.^2); %%[0,1]
case 2
f_value = 1 ./(1+x.^2); %%[0,4]
case 3
f_value = 1 ./(2+cos(x)); %%[0,2*pi]
case 4
f_value = 1 ./(2+sin(x)); %%[0,2*pi]
case 5
f_value = exp(x).*cos(x); %%[0,pi]
case 6
f_value = (x.^pi).*sin(sqrt(x)); %%[0,pi]
end

Ch thch
C ba chng trnh 5.1, 5.2 v 5.3 u c th chn hm tnh tch phn
- index_f=1, 2, 3 l dng case 1, 2, 3 tnh
( ) 1
I ,
( ) 2
I ,
( ) 3
I .
- index_f=4 l dng case 4 tnh
( )
( )
( )
2
4 3
0
2 sin
dx
I I
x
t
= =
+
}
.
- index_f=5, 6 l dng case 5, 6 tnh
( )
0
.cos
x
e x dx
t
}
,
( )
0
.sin x x dx
t
t
}
.
Chng trnh 5.3 da trn tng chnh sau
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 117
tng chnh ca vic gii bi ton tm [-1, 1]
i
x e v
i
w tha (5.19) l
chn
i
x l nghim ca a thc Legendre. a thc Legendre
( )
n
P x xc nh theo
cng thc truy hi sau

( ) ( ) ( )
( ) ( )
1 1
0 1
2 1
, 1,
1 1
1, .
n n n
n n
P x xP x P x n
n n
P x P x x
+
+
= >

+ +

= =

; ( )
deg
n
P n = , ( )
1 1
n
P = .
Cng c th xc nh cc a thc Legendre bng cng thc

( ) ( ) ( )
( )
2
0
1
1, . 1 , 1,2,....
!2
n
n
n n n
d
P x P x x n
n x
= = =
Vi a thc Legendre u tin
( )
0
1 P x = ; ( )
1
P x x = ;
( )
2
2
3 1
2 2
P x x = ;
( )
3
3
5 3
2 2
P x x x = ;
( )
4 2
4
35 15 3
8 4 8
P x x x = + ,
Tnh cht quan trng ca a thc Legendre l n c n nghim thc phn
bit nm trong [-1, 1] v i xng qua gc ta . Khi cc
i
w l nghim ca h

( )
( )
1
n
i
1
1 1
w ,
1
0,1,..., 1 .
j
j
i
i
x
j
j n
+
=


=
+


nh thc ca h ny l nh thc Vandermond
( )
0
i j
i j
D x x
>
= =
[
.
V vy,
i
w xc nh duy nht.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 118
Chng ti cung cp mt chng trnh tm cc h s ca a thc Legendre
v tnh nghim ca cc a thc . Tham s a vo l n, bc ca a thc cn tm.
Hm tr v l a thc Legendre bc n v cc nghim ca n.
Chng trnh 5.3a:
% Tao file legendre.m
function [p,r]=legendre(n)
if n<0, error('Bac da thuc am.');end;
p1=[1]; p2=[1 0]; pp=p2;
if n==0, p=p1, r=[ ]; return; end;
if n==1, p=p2; r=[0]; return; end;
for i=2:n
m=length(p1)+2;
for j=m:-1:3, p1(j)=p1(j-2); end;
p1(1)=0; p1(2)=0;
p=(2*i-1)/i*conv(pp,p2)-(i-1)/i*p1;
p1=p2; p2=p;
end;
r=roots(p);

5.4. VI PHN S
Ta c ( )
( ) ( )
0
' lim
h
f x h f x
f x
h

+
=
Do , ( )
( ) ( )
( )
'
h
f x h f x
f x D f x
h
+
~ = (5.21)
Cng thc (5.21) l cng thc xp x o hm ca ( )
f x .
Dng nh l Taylor khai trin ( )
f x h + ti x , ta c
( ) ( ) ( ) ( )
2
' "
2
h
f x h f x hf x f c + = + + ( ) ( ) ( ) ' "
2
h
h
f x D x f c = . (5.22)
Vi c nm gia x v x h + .
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 119
Vi 0 h > th (5.21) gi l cng thc sai phn tin v sai s l
( ) "
2
h
f c .
Thay h bi h vo (5.21) ta c
( )
( ) ( )
'
f x f x h
f x
h

~ v gi l cng thc
sai phn li v sai s cng l
( ) "
2
h
f c vi c nm gia x v x h .
5.4.1. Vi phn s dng php ni suy
Ly ( )
n
P x l a thc ni suy bc n ca ( )
f x ti n+1 im
0
x , ,
n
x .
tnh ( )
' f x ti x=t, ta dng ( ) ( )
' '
n
f t P t ~ . (5.23)
Chng hn vi n=2, t=x
1
, x
0
=x
1
h, x
2
=x
1
+h, th
( )
( )( )
( )
( )( )
( )
( )( )
( )
1 2 0 2 0 1
2 0 1 2 2 2 2
,
2 2
x x x x x x x x x x x x
P x f x f x f x
h h h

= + +


( ) ( ) ( ) ( ) ( )
( ) ( )
0 1
2 2 1 2 0 2 2
2
0 1 2
' 2 2
2 2
2 ,
2
x x x x
P x f x f x f x f x
h h
x x
f x f x
h

( ( = +

( +

(5.24)
( )
( ) ( ) ( )
2 1 0
2 2
2
"
f x f x f x
P x
h
+
= . (5.25)
T (5.24), ta c
( ) ( )
( ) ( ) ( )
( )
( ) ( )
( ) ( )
( )
( ) ( )
( ) ( ) ( )
( )

+ + +
~ =

~ =

+ + +
~ =

0 0 0
0 2 0
0 0
1 2 1
0 0 0
2 2 2
3 4 2
' ' 5.26
2
2
' ' 5.27
2
4 3 2
' ' 5.28
2
f x f x h f x h
f x P x
h
f x h f x
f x P x
h
f x f x h f x h
f x P x
h

Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 120
Cng thc (5.26) gi l cng thc sai phn tin; cng thc (5.27) gi l
cng thc sai phn hng tm v thng vit di dng
( )
( ) ( )
'
2
f x h f x h
f x
h
+
~ .
(5.29)
Cng thc (5.28) gi l cng thc sai phn li v thng c vit

( )
( ) ( ) ( ) 2 4 3
'
2
f x h f x h f x
f x
h
+
~ .
(5.30)
i vi o hm cp hai, dng (5.25) ta vit
( )
( ) ( ) ( ) 2
"
2
f x h f x f x h
f x
h
+ +
~ .
(5.31)
y gi l cng thc sai phn hng tm i vi o hm cp hai ca
( )
f x ti x.
Lm tng t nh i vi (5.21), sai s trong (5.26), (5.27) v (5.28) ln
lt l: ( )
2
0
'''
3
h
f c , ( )
2
1
'''
6
h
f c v ( )
2
2
'''
3
h
f c vi
0
c ,
1
c ,
2
c
| |
0 2
, x x e .
Cc cng thc phn vi phn s s c dng phn sau, y chng ti s
gii thiu vn lin quan n Symbolic MATLAB, n rt d p dng v c th
p dng vo chng trnh ton Trung hc ph thng.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 121
CHNG TRNH MATLAB: V c chng trnh MATLAB tnh cc t
sai phn v mi lin h gia cc t sai phn v o hm, nn chng ti ch trnh
by thm mt vi chng trnh s dng bin Symbolic v hng n ng dng n
vo chng trnh ton Trung hc ph thng, ng thi cng gp phn lm ni bt
thm cc cng dng ca MATLAB. Symbolic MATLAB l th vin cc php ton
kiu k t c a vo mi trng s hc ca MATLAB; n lm phong ph v
tin ch thm vi nhiu kiu tnh ton khc cho phn tnh s v ho c trc
y trong th vin MATLAB (Thng tin chi tit xin xem Ti liu tham kho ting
Vit [3]). Chng ta hy c th ho vn vi bi ton c bn sau v cc chng
trnh MATLAB di y l gii bi ton ny.
Cho hm ( )
1
5 4cos
f x
x
=
+
, vi [ 2 ; 2 ] x t t e , y cng l min xc nh
mc nhin ca Symbolic MATLAB. Tnh ' f , " f v "' f , v kt hp cc th
ca f , ' f , " f v "' f . Ngoi ra
a. Tm x "' 0 f = v v th minh ho.
b. Xc nh im cc tiu ca f .
c. Tnh hai ln nguyn hm ca " f , so snh vi f v nu nhn xt.

Chng trnh 5.4: (Cc file chng trnh c trong th mc viphanso.)
% Chuong trinh tao file diff.m.
% Tieu de: Tinh dao ham cap 1, cap 2, cap 3 cua ham f va ve do thi ket hop syms
x % Khai bao x la bien Symbolic.
f=1/(5+4*cos(x));
f1=diff(f); % Dao ham cap 1 cua f.
f2=diff(f,2); % Dao ham cap 2 cua f.
pretty(f1); % Viet f1 o dang quen thuoc cua toan hoc.
pretty(f2); % Viet f2 o dang quen thuoc cua toan hoc.
f3=diff(f,3); % Dao ham cap 3 cua f.
f3=simple(f3); pretty(f3); % Viet dang thu gon cua f3.
% Ve ket hop, chia mien ve do thi thanh hai dong, hai cot.
subplot(2,2,1)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 122
ezplot(f) % Ve f voi mien xac dinh mac nhien.
title('Do thi cua ham f.')
subplot(2,2,2)
ezplot(f1)
title('Do thi cua ham f1, dao ham cap 1 cua f.')
subplot(2,2,3)
ezplot(f2)
title('Do thi cua ham f2, dao ham cap 2 cua f.')
subplot(2,2,4)
ezplot(f3)
title('Do thi cua ham f3, dao ham cap 3 cua f.')

Kt qu chy file diff.m ta c ln lt ' f , " f v "' f v Hnh 5.1.
sin(x)
4 ---------------------
2
(5 + 4 cos(x))

2
sin(x) cos(x)
32 ----------------- + 4 -------------------
3 2
(5 + 4 cos(x)) (5 + 4 cos(x))
2 2
sin(x) (96 sin(x) + 80 cos(x) + 80 cos(x) - 25)
4 ------------------------------------------------------------
4
(5 + 4 cos(x))





Hnh 5.1. th ca f , ' f , " f v "' f .
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 123

Chng trnh 5.4a: (Cc file chng trnh c trong th mc viphanso.)
% Chuong trinh tao file diffa.m.
% Tieu de: Tim cac diem x lam cho dao ham cap 3 cua f bang 0 va ve do thi.
syms x
f=1/(5+4*cos(x));
f3=diff(f,3); % Dao ham cap 3 cua f.
f3=simple(f3); % Viet dang thu gon cua f3.
pretty(f3);
z=solve(f3); % Giai phuong trinh f3=0.
format; % Lay 5 chu so le.
x0=double(z) % Chuyen ma tran, bieu thuc Symbolic ve dang so.
ezplot(f3) % Ve do thi f3 kieu bien Symbolic voi mien xac dinh mac nhien.
hold on; % Giu he truc toa do vua ve cho cac hinh sau.
plot([-2*pi,2*pi],[0,0],'g-.') % Ve duong "dut khuc" mau xanh la cay voi
f3=0.
title('Hinh 5.2. Do thi hien thi tat ca cac diem (x) de f3=0')
%%% x0=[x0-2*pi x0 x0+2*pi]; % Lay tat ca cac diem lam cho f3=0.
plot(x0,0*x0,'kx') % Ve diem dau "x" mau den de f3=0.
plot(x0, 0*x0,'ro') % Ve diem dau "o" mau do de f3=0.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 124
Kt qu chy file diffa.m ta c ln lt f3 v cc gi tr x=x0 f3=0 v
Hnh 5.2 nh sau
2 2
sin(x) (96 sin(x) + 80 cos(x) + 80 cos(x) - 25)
4 -----------------------------------------------------------
4
(5 + 4 cos(x))
x0 =
0
0 + 2.4381i
0 - 2.4381i
2.4483
-2.4483

Chng trnh 5.4b: (Cc file chng trnh c trong th mc viphanso.)
% Chuong trinh tao file diffb.m.
% Tieu de: Xac dinh cac diem cuc tieu cua ham f va ve do thi.
syms x
f=1/(5+4*cos(x));
f1=diff(f); % Dao ham cap 1 cua f.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 125
f1=simple(f1); % Viet dang thu gon cua f1.
pretty(f1);
z=solve(f1); % Giai phuong trinh f1=0.
format; % Lay 5 chu so le.
xct=double(z) % Chuyen ma tran, bieu thuc Symbolic ve dang so.
fct=subs(f,x,xct) % Thay tat ca cac bien x trong f boi xct.
ezplot(f)
axis([-2*pi 2*pi 0 1.1]) % Xac dinh he toa do voi [xmin xmax ymin ymax].
ylabel('f')
title('Hinh 5.3. Do thi bieu thi cuc tieu cua ham f.')
hold on
%%%xct=[xct-2*pi xct xct+2*pi]; % Lay tat ca cac diem cuc tieu.
plot(xct,fct,'ro')
plot(xct,fct,'kx') % Ve diem dau "x" mau den la diem cuc tieu.
text(-2,0.05,'diem cuc tieu dia phuong') % Xuat diem cuc tieu dia phuong tai
% toa do x=-2, y=0.05.

Kt qu chy file diffb.m ta c ln lt f1, im cc tiu xct v gi tr
cc tiu fct v Hnh 5.3 nh sau
sin(x)
4 -------------------
2
(5 + 4 cos(x))

xct =
0

fct =
0.1111
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 126

Chng trnh 5.4c: (Cc file chng trnh c trong th mc viphanso.)
% Chuong trinh tao file diffc.m.
% Tieu de: Tinh lien tiep hai lan nguyen ham cua f2 la k va so sanh voi f.
syms x
f=1/(5+4*cos(x));
f2=diff(f,2); % Tinh dao ham cap hai cua f.
h=int(f2); % Tinh nguyen ham lan thu nhat cua f2.
k=int(h); % Tinh nguyen ham lan hai cua f2.
pretty(k)
%%% hoac k=int(int(f2)); % Tinh tich phan boi 2 cua f2.
d=f-k;
pretty(d)
simplify(d) % Do lech giua k va f o dang toi gian.
ezplot(f,k) % Ve do thi ham bieu thi do lech cua f va k.
title('Hinh 5.4. Do thi bieu thi do lech cua f va k')
Kt qu chy file diffc.m ta c ln lt k, d, lch ca f v k dng ti
gin v Hnh 5.4.
8
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 127
- ---------------------
2
tan(1/2 x) + 9

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

ans =
1


Nhn xt
Khi tnh hai ln nguyn hm ca f=f2 s lch nhau mt hm tuyn tnh
dng c
1
x+c
2
. Do lch dng ti gin gia f v k bng 1 l ph hp.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 128
CHNG 6
GII H PHNG TRNH TUYN TNH

Trong chng ny, chng ti trnh by mt s phng php gii h phng
trnh i s tuyn tnh (hay l h phng trnh tuyn tnh)
Ax b = . (6.1)
Vi gi thit rng det 0 A = , tc l h (6.1) lun c nghim duy nht
1
x A b

= .
Tuy nhin trong nhiu trng hp vic tm ma trn nghch o
1
A

s kh khn
hn nhiu so vi vic gii trc tip h phng trnh cho. Chng ti s trnh by
mt s phng php gii trc tip ny, v ta ch xt h gm n phng trnh vi n
n, tc l A l ma trn vung cp n; vector nghim x v vector t do b l cc
vector ct n chiu.
6.1. PHNG PHP GAUSS
u tin ta xt cc trng hp n gin khi ma trn h s A ca h (6.1) c
dng c bit.
Trng hp n gin nht l A c dng ng cho
11
22
0 0
0 0
0 0
. | |
|
.
|
=
|
. . . .
|
.
\ . nn
a
a
A
a
.
Khi , nghim ca h l , 1,2,..., .
i
i
ii
b
x i n
a
= = (6.2)
Trng hp tip theo l A c dng tam gic trn
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 129
11 12 1
22 2

0
0 0
. | |
|
.
|
=
|
. . .
|
|
.
\ .
n
n
nn
a a a
a a
A
a
.
Khi , nghim ca h l
1
,
1
, 1,...,1.
n
n
nn
n
k kk kj j
j k
kk
b
x
a
x b a x k n
a
= +

| |

= =
|

\ .


(6.3)
Cui cng l ma trn h s A c dng tam gic di
11
21 22
1 2
0 0
0
| |
|
|
=
|
|
\ . n n nn
a
a a
A
a a a
.
Khi , nghim ca h l
1
1
11
1
1
,
1
, 2,..., .
k
k k kj j
j
kk
b
x
a
x b a x k n
a

| |

= =
|

\ .


(6.4)
By gi chng ti s trnh by phng php Gauss. Ni dung ca phng
php l s dng cc php bin i s cp theo hng chuyn v mt h phng
trnh tng ng m ma trn h s c dng tam gic. Cc php bin i s cp
thng hay s dng l
- Nhn mt hng cho mt s khc khng.
- Hon chuyn hai hng cho nhau.
- Cng mt hng cho mt hng khc nhn vi mt s khc khng.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 130
Xt h

11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
n n
n n
n n nn n n
a x a x a x b
a x a x a x b
a x a x a x b
+ + + =

+ + + =

+ + + =


Do det 0 A = nn mt trong cc s
11
a ,
21
a , ,
1 n
a phi khc khng. Gi
s
11
0 a = , ly phng trnh th k , 2, k n = tr cho phng trnh mt nhn vi
1 1 11
/
k k
m a a = , ta c h mi c dng

( ) ( )
( ) ( )
11 1 12 2 1 1
1 1
22 2 2 2
1 1
2 2
n n
n n
n nn n n
a x a x a x b
a x a x b
a x a x b
+ + + =

+ + =

+ + =


Trong cc s
( ) 1
22
a , ,
( ) 1
2 n
a phi c mt s khc khng v det 0 A = . Gi s
( ) 1
22
0 a = , cn nu c
( ) 1
2
0
p
a = v
( ) 1
22
0 a = th ta thc hin php hon chuyn hai
phng trnh th p v th hai cho nhau; tip tc bin i nh trn cho n 2
phng trnh cui vi h s nhn vo l
( ) ( ) 1 1
1 2 22
/
k k
m a a = . V tip tc tin trnh cho
n phng trnh th n, ta c h
( ) ( )
( )
11 1 12 2 1 1
1 1
22 2 2 2
1
n n
n n
n
nn n n
a x a x a x b
a x a x b
a x b

+ + + =

+ + =


y l h m ma trn h s c dng tam gic trn v gii theo (6.3).
V d 6.1.1 Gii h
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 131

1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
4 3 2 1
3 4 + 3 2 1
2 3 4 3 1
2 3 4 1
x x x x
x x x x
x x x x
x x x x
+ + + =

+ + =

+ + + =

+ + + =

(6.5)
Qua mt s php bin i s cp trn dng theo phng php Gauss (cc
dng bin i s c th hin trong vector piv ca chng trnh 6.1)
21
31 32
41 42
3/ 4
1/ 2 6/ 7
1/ 4 5/ 7
4 3 2 1 1 4 3 2 1 1
3 4 3 2 1 0 7 / 4 3/ 2 5/ 4 1/ 4
2 3 4 3 1 0 3/ 2 3 5/ 2 3/ 2
1 2 3 4 1 0 5/ 4 5/ 2 1/ 45 5/ 4
m
m m
m m
=
= =
= =
| | | |
| |
| |

| |

| |
| |

\ . \ .

43
5/ 6
4 3 2 1 1 4 3 2 1 1
0 7/ 4 3/ 2 5/ 4 1/ 4 0 7/ 4 3/ 2 5/ 4 1/ 4
0 0 12 / 7 10 / 7 12 / 7 0 0 12 / 7 10 / 7 12 / 7
0 0 10 / 7 20 / 7 5/ 4 0 0 0 5/ 3 0
m =
| | | |
| |
| |

| |

| |
| |

\ . \ .

Ta thu c nghim ca h (6.5) l
4
0 x = ,
3
1 x = ,
2
1 x = ,
1
0 x = .
Nh trnh by trn, nu
( ) 1
2
0
p
a = v
( ) 1
22
0 a = th ta thc hin php hon
chuyn hai phng trnh th p v th hai cho nhau. trnh trng hp ny, ta
c th ci tin phng php Gauss theo hng nh sau. Ti mi bc, khi chn
phn t bin i, ta s chn phn t c tr tuyt i ln nht, sao cho khng
trng hng v ct vi nhng phn t chn trc . Phn t nh vy thng
c gi l phn t chnh hay phn t tri. Sau ta s thc hin bin i cho cc
phn t trn cng ct vi phn t tri bng khng. Qua n bc nh vy ta s thu
c nghim ca h cho. y gi l phng php Gauss vi php trc tng
phn (Partial Pivoting).
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 132
CHNG TRNH MATLAB: Chng ti trnh by chng trnh MATLAB
dng phng php Gauss gii h (6.1) vi php trc tng phn. chy
chng trnh ta cn phi nhp vo ma trn h s A v vector b. Kt qu tr v l x
l vector nghim; lu l mt ma trn m c cha phn t ca ma trn tam gic trn
v ma trn tam gic di, ma trn tam gic trn l kt qu t php kh Gauss vi
php trc tng phn, v cc s nhn c dng trong php kh l cc phn t ca
ma trn tam gic di; piv l vector ghi li php hon v c thc hin trong
php trc tng phn. Chng trnh 6.1 c gi theo c php
[x,lu,piv] = GEpivot(A,b).
Chng trnh 6.1:
function [x,lu,piv] = GEpivot(A,b)
% Day la ham [x,lu,piv] = GEpivot(A,b), su dung phuong phap khu Gauss % voi
phep truc tung phan de giai he phuong trinh tuyen tinh Ax=b.
% Tri dau vao
% A: he so ma tran vuong
% b: vecto cot phai
% Giai vi du 6.1.1 voi: A=[4 3 2 1;3 4 3 2;2 3 4 3;1 2 3 4]; b=[1 1 -1 -1]
% Hay chay thu voi cac tri khac de test chuong trinh
%A=[1 1 0 3;2 1 -1 1;3 -1 -1 2;-1 2 3 -1];b=[4 1 -3 4];
%A=[1 -1 2 -1;2 -2 3 -3;1 1 1 0;1 -1 4 3];b=[-8 -20 -2 4];
%A=[2 1 -1 2; 4 5 -3 6; -2 5 -2 6; 4 11 -4 8]; b=[5 9 4 2];
% Ket qua dau ra
% x la vecto nghiem
% lu - la ma tran tich hai ma tran tam giac tren U, va tam giac duoi L ghi lai
% ket qua, va cac he so nhan dung trong cac phep bien doi.
% piv la pivoting vector ghi nhan phep hoan vi trong phep bien doi.

% Kiem tra thu tu ma tran va kich thuoc hang , cot cua ma tran A.
[m,n] = size(A);
if m ~= n
error('Ma tran khong phai ma tran vuong.')
end
m = length(b);
if m ~= n
error('ma tran va vec to khong co kich thuoc phu hop.')
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 133
end
% Khoi tao ban dau cho vector pivoting.
piv = (1:n)';
% Cac buoc khu he so
for k = 1:n-1
%Tim yeu to lon nhat trong cot pivot, ben duoi vi tri cua pivot cung cac chi % so
toi da cua cac thanh phan do.
[col_max index] = max(abs(A(k:n,k)));
index = index + k-1;
if index ~= k
% Chuyen sang dong thu k cung chi so, trong cot k den n. Tuong tu cho cot b
tempA = A(k,k:n);
A(k,k:n) = A(index,k:n);
A(index,k:n) = tempA;
tempb = b(k);
b(k) = b(index);
b(index) = tempb;
temp = piv(k);
piv(k) = piv(index);
piv(index) = temp;
end
% Dinh dang sau do luu lai thanh cac phan tu trong cot pivot, ben duoi %duong
cheo chinh.
A(k+1:n,k) = A(k+1:n,k)/A(k,k);

% Tien hanh cac buoc khu, dau tien sua doi ma tran, va sau do bo sung cho b
for i = k+1:n
A(i,k+1:n) = A(i,k+1:n) - A(i,k)*A(k,k+1:n);
end
b(k+1:n) = b(k+1:n) - A(k+1:n,k)*b(k);
end
% Thiet lap ma tran tam giac tren cua he tuyen tinh.
x = zeros(n,1);
x(n) = b(n)/A(n,n);
for i = n-1:-1:1
x(i)=(b(i)-A(i,i+1:n)*x(i+1:n))/A(i,i);
end
% Ghi nhan lai ma tran phan tich LU voi viec bien doi dong.
lu = A;

6.2. PHNG PHP NHN T LU
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 134
Ni dung ca phng php ny l phn tch ma trn A thnh tch ca hai
ma trn, ma trn tam gic di L v ma trn tam gic trn U . Khi vic gii h
(6.1) s a v vic gii hai h
Lg b = v Ux g = . (6.6)
nh l 6.2.1 Nu A l mt ma trn khng suy bin, th bao gi cng tn ti mt
ma trn P khng suy bin sao cho ma trn PA phn tch c thnh hai ma trn,
ma trn tam gic di L v ma trn tam gic trn U , tc l
PA LU = . (6.7)
C nhiu phng php phn tch A LU = , tuy nhin ta thng xt trng
hp ma trn L c cc phn t trn ng cho chnh bng 1 v gi y l phn r
Doolittle. Khi L v U c dng
21
1 2
1 0 0 0
1 0 0
1
n n
l
L
l l
| |
|
|
=
|
|
|
\ .
v
11 12 1
22 2
0
0 0
n
n
nn
u u u
u u
U
u
| |
|
|
=
|
|
|
\ .
. (6.8)
Vi,
( )
( )
( )
( )
1 1
1
1
11
1
1
1
1
1 ,
2 ,
1 ,
1
1 .
j j
i
i
i
i j i j ik kj
k
j
i j i j ik kj
k
jj
u a j n
a
l i n
u
u a l u i j
l a l u j i
u

= s s

= s s

= s s

| |
= < <
|
\ .

(6.9)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 135
Nghim ca h Lg b = xc nh theo cng thc (6.4) v nghim ca h
Ux g = xc nh theo cng thc (6.3).
V d 6.2.2 i vi h (6.5), ta c
1 0 0 0
3/ 4 1 0 0
1/ 2 6 / 7 1 0
1/ 4 5/ 7 5/ 6 1
L
| |
|
|
=
|
|
\ .
v
4 3 2 1
0 7 / 4 3/ 2 5/ 4
0 0 12 / 7 10 / 7
0 0 0 5/ 3
U
| |
|
|
=
|
|
\ .
.
M
( )
1, 1, 1, 1
T
b = , nn nghim ca Lg b = l
( )
1,1/ 4, 12 / 7,0
T
g = ,
dn n h Ux g = c nghim l
( )
0, 1, 1,0
T
x = .
CHNG TRNH MATLAB: Chng ti trnh by chng trnh 6.2 gii h
(6.1) bng phng php nhn t LU. i s ca chng trnh l ma trn h s A
v vector ct b. Kt qu tr v l cc ma trn l v u theo phn tch (6.8), cc
vector nghim g v x ca (6.6) v x cng chnh l nghim cn tm ca h (6.1).
Chng trnh c gi theo c php
[l,u,g,x] = LUfactor(A,b).
Chng trnh 6.2:
function [l,u,g,x] = LUfactor(A,b)
% Day la ham [l,u,g,x] = LUfactor(A,b), dung de giai he (6.1) theo pp LU.
%Giai vi du 6.2.2 theo cu phap
% [l,u,g,x] = LUfactor([4 3 2 1;3 4 3 2;2 3 4 3;1 2 3 4],[1 1 -1 -1])
% Kiem tra cac doi so nhap vao khi goi chuong trinh
if nargin < 2, error('Cho ma tran he so'); end;
% Phan tich lu theo cong thuc (6.9)
N=length(b);
l=zeros(N); u=zeros(N);
for i=1:N, l(i,i)=1; end;
for j=1:N
u(1,j)=A(1,j);
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 136
end;
if u(1,1)==0
error('Khong the phan tich duoc.');
end;
for i=2:N
l(i,1)=A(i,1)/u(1,1);
end;
for i=2:N-1
for j=i:N
sum=0;
for k=1:i-1
sum=sum+l(i,k)*u(k,j);
end;
u(i,j)=A(i,j)-sum;
end;
if u(i,i)==0
error('Khong the phan tich duoc.');
end;
for j=i+1:N
sum=0;
for k=1:i-1
sum=sum+l(j,k)*u(k,i);
end;
l(j,i)=(A(j,i)-sum)/u(i,i);
end;
end;
sum=0;
for k=1:N-1
sum=sum+l(N,k)*u(k,N);
end;
u(N,N)=A(N,N)-sum;
% Giai he lg=b theo dang ma tran he so tam giac duoi, cong thuc (6.4).
g = zeros(N,1);
g(1) = b(1)/l(1,1);
for k=2:N
sum = 0;
for j=1:k-1
sum=sum+l(k,j)*g(j);
end;
g(k)=(b(k)-sum)/l(k,k);
end;
% Giai he ux=g theo dang ma tran he so tam giac tren, cong thuc (6.3)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 137
x = zeros(N,1);
x(N) = x(N)/u(N,N);
for k=N-1:-1:1
sum = 0;
for j=k+1:N
sum=sum+u(k,j)*x(j);
end;
x(k)=(g(k)-sum)/u(k,k);
end;
Phng php nhn t LU p dng rt hiu qu cho trng hp ma
trn h s A c dng ba ng cho.
trnh trng lp trong k hiu, ta vit li h (6.1) trong trng hp ny l
Ax d = (chng trnh 6.3 gii h theo cch vit ny), vi

11 12
21 22 23
32 33
1, 1 1,
, 1 ,
0 0 0
0 0
0 0 0
0 0 0
0 0 0
n n n n
n n n n
a a
a a a
a a
A
a a
a a

| |
|
|
|
|
=
|
|
|
|
\ .

Khi phn r Doolittle cho ta
21
32
1 0 0 0
1 0 0
0 1 0
0 0 0 1
l
L
l
| |
|
|
|
=
|
|
|
\ .
v
11 12
22 23
33
,
0 0
0 0
0 0 0
0 0 0
n n
u u
u u
u U
u
| |
|
|
|
=
|
|
|
\ .
.
Khi , t cng thc (6.9) ta c
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 138

11 11 12 12 21 21 11
, , , 1 1,
, 1 , 1 1, 1, ,
; ; / ;
, 2,3, , ;
; / , 2,3, , 1.
i i i i i i i i
i i i i i i i i i i
u a u a l a u
u a l u i n
u a l a u i n

+ + + +

= = =

= =

= = =

(6.10)
V theo phn tch LU th ta cn gii hai h Lg d = v Ux g = , theo cng
thc (6.4) v (6.3). C th l
- H Lg d = th
1 1 , 1 1
, . , 2,...,
j j j j j
g d g d l g j n

= = = .
- H Ux g = th
1
,
/ ; , 1,...,1.
j j j
n n n n j
j j
g b x
x g u x j n
u
+

= = =
V d 6..2.3 Gii h Ax d = , vi
2 1 0 0 0
1 2 1 0 0
0 2 2 1 0
0 0 1 2 1
0 0 0 1 2
A
| |
|
|
|
=
|
|
|
\ .
v [5, 4, 3, 2, 1]
T
d = .
p dng (6.10), (6.4), (6.3) ta tnh c

1 0 0 0 0
1/ 2 1 0 0 0
0 2 / 3 1 0 0
0 0 3/ 4 1 0
0 0 0 4 / 5 1
L
| |
|
|
|
=
|
|
|
\ .
v
2 1 0 0 0
0 3/ 2 1 0 0
0 0 4 / 3 1 0
0 0 0 5/ 4 1
0 0 0 0 6 / 5
U
| |
|
|
|
=
|
|
|
\ .
.
Nghim ca Lg d = l
( )
5, 3/ 2, 2, 1/ 2, 3/ 5
T
g = .
H Ux g = c nghim l
( )
5/ 2, 0, 3/ 2, 1/ 2,0
T
x = .
Tip theo, chng ti trnh by chng trnh 6.2a gii h (6.1) khi n c
dng h thng ba ng cho. Trong trng hp c bit ny, thay v a vo ma
trn h s A, ta s a vo ba vector, a cha cc phn t trn ng cho chnh
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 139
ca A, b l ng cho nm trn ng cho chnh v c l ng cho nm di
ng cho chnh; vector ct t do l d; N l s phng trnh v cng l s n ca
h. Kt qu tr v l cc vector, l cha cc phn t ca ng cho di ng
cho chnh ca L ; u v v cha cc phn t ca ng cho chnh v ng cho
trn ng cho chnh ca U; g l nghim ca Lg d = v x l nghim ca Ux g =
v cng chnh l nghim ca h (6.1). Chng trnh c gi theo c php
[l,u,v,g,x]=tridiag(a,b,c,d,N).
Chng trnh 6.2a:
function [l,u,v,g,x]=tridiag(a,b,c,d,N)
% Ham dung de giai he (6.1) dang ba duong cheo.
%Giai vi du 6.2.3, [l,u,v,g,x]=tridiag([2 2 2 2 2],[1 1 1 1],[1 1 1 1],[5 4 3 2 1],5)
if nargin < 5, error('Ham co toi thieu 5 doi so.'); end;
% Kiem tra cac doi so khi goi chuong trinh.
% Phan tich lu.
u(1)=a(1);v(1)=b(1);l(1)=c(1)/u(1);
g(1)=d(1);
for i=2:N-1
u(i)=a(i)-l(i-1)*v(i-1);
v(i)=b(i);
l(i)=c(i)/u(i);
g(i)=d(i)-l(i-1)*g(i-1); end;
% Giai he lg=d va ux=g.
u(N)=a(N)-l(N-1)*v(N-1);
g(N)=d(N)-l(N-1)*g(N-1);
x(N)=g(N)/u(N);
for i=N-1:-1:1
x(i)=(g(i)-v(i)*x(i+1))/u(i); end;

6.3. PHNG PHP LP
Trc tin, chng ti trnh by phn l thuyt v chun vector v chun ma
trn.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 140
Trong khng gian tuyn tnh
n
R . Chun ca vector
n
x R e l mt s thc,
k hiu l x , tho cc iu kin sau
i. , 0, 0 0
n
x R x x x e > = = .
ii. , ,
n
x R R x x e e = .
iii. , ,
n
x y R x y x y e + = + .
Trong
n
R c rt nhiu chun, y chng ti ch nu hai chun sau

1 2
1
1
n
n i
i
x x x x x
=
= + + + =

. (6.11)

( )
1 2
1
ax , , , max
n i
i n
x m x x x x

s s
= = . (6.12)
nh ngha 6.3.1 Chun ma trn tng ng vi chun vector c xc nh theo
cng thc

1 0
max max
x x
Ax
A Ax
x
= =
= = . (6.13)
V d 6.3.2 Xc nh chun ca ma trn
4 3
2 1
A
| |
=
|
\ .
tng ng vi chun ca
mt vector. Vi mi
2 1
2
x
x R
x
| |
= e
|
\ .
, sao cho:
1 2
1
1 x x x = + = . Ta c:

1 2 1 2 1 2 1
1
4 3 2 6 4 2 4 6 Ax x x x x x x x = + + + s + = + s
1
6 A = .
T (6.13) ta c: . Ax A x s .
nh l 6.3.3 Chun ca ma trn theo cng thc (6.13), tng ng vi chun
vector c xc nh nh sau:

1
1
1
max
n
ij
j n
i
A a
s s
=
=

. (6.14)

1
1
max
n
ij
i n
j
A a

s s
=
=

. (6.15)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 141
nh ngha 6.3.4 Xt dy cc vector
( )
{ }
0
m
m
x

=
vi
( ) m
n
x R e . Ta ni dy cc
vector ny hi t v vector x khi m+ nu v ch nu
( )
0
m
x x , khi
m+ (hi t theo chun). Ta vit:
( )
lim
m
m
x x

= . Ta cng c th ni dy cc
vector
( )
{ }
m
x hi t v vector x theo chun cho.
nh l 6.3.5 Dy cc vector
( )
{ }
m
x hi t theo chun v vector x khi m+
khi v ch khi
( )
{ }
m
k
x hi t v , 1,
k
x k n = (hi t theo to ).
Xt h (6.1), Ax b = c nghim
1
x A b

= . Cho b mt s gia b A , khi


nghim x tng ng s c s gia x A , v A x b A = A
1
x A b

A = A . Vy,

1 1
. x A b A b

A = A s A v . b Ax A x = s .
Suy ra,
1
x b
A A
x b

A A
s . (6.16)
S
( ) ( )
1
k A Cond A A A

= = ,
( )
1 k A s s +. (6.17)
l s iu kin ca ma trn A. S iu kin ca ma trn c trng cho tnh n nh
ca h (6.1). Gi tr
( )
k A cng gn vi s 1 th h cng n nh. S iu kin cng
ln th h cng mt n nh.
Trong cc chng trnh MATLAB ca mc 6.4, chng ti dng s iu
kin ny kim tra bc lp c th chp nhn c dng vic tnh ton v
xut kt qu cui cng.
V d 6.3.6 Xt cc h
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 142
Ax b = vi
1 2 3
,
1 2.01 3.01
A b
| | | |
= =
| |
\ . \ .
c nghim l:
1
1
x
| |
=
|
\ .
.
Ax b = , vi
3
3.1
b
| |
=
|
\ .
c nghim l:
17
10
x
| |
=
|
\ .
.
Ta c
( )
1207.01 1 k A

= > . Do , b b ~ , nhng , x x khc nhau rt xa.


By gi chng ta i gii h (6.1) theo phng php lp, trc ht ta chuyn
h v dng tng ng x Tx c = + , vi T l ma trn vung cp n v c l mt
vector bit. Xut pht t vector ban u
( ) 0
x , ta xy dng mt dy cc vector
( )
{ }

=0
m
m
x theo cng thc lp

( ) ( ) 1 m m
x Tx c

= + , 1, 2, 3, m= (6.18)
Ta c nh l sau
nh l 6.3.7 Nu 1 T < th dy lp cc vector xc nh theo cng thc (6.18)
s hi t v nghim
*
x h vi mi vector lp ban u
( ) 0
x . Khi ta c cc cng
thc nh gi sai s nh sau

( ) ( ) ( ) 1 0
*
1
m
m
T
x x x x
T
s

, (6.19)

( ) ( ) ( ) 1
*
1
m
m m m
T
x x x x
T

. (6.20)
By gi chng ta s xt mt dng ma trn h s ca h (6.1) m c th
chuyn v dng x Tx c = + .
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 143
nh ngha 6.3.8 Ma trn A c gi l ma trn ng cho tri nghim ngt
nu n tho mn iu kin sau y

1,
n
i j ii
j j i
a a
= =
<

. (6.21)
Khi det 0 A = v 0, 1,
ii
a i n = = . Xt h phng trnh Ax b = vi A l
ma trn ng cho tri nghim ngt. Khi ta phn tch ma trn A thnh

11 12 1
21 22 2
1 2
11 12 1
22 21 2
1 2
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
n
n
n n nn
n
n
nn n n
a a a
a a a
A
a a a
a a a
a a a
a a a
D L U
| |
|
|
=
|
|
|
\ .
| | | | | |
| | |

| | |
=
| | |
| | |
| |

\ . \ . \ .
=

Ch rng do 0, 1,
ii
a i n = = nn det 0 D = . V nh vy tn ti ma trn
nghch o:

11
1 22
1/ 0 0
0 1/ 0
0 0 1/
nn
a
a
D
a

| |
|
|
=
|
|
|
\ .
.
Khi ,
( )
Ax b D L U x b = = . (6.22)
Tip theo chng ti s trnh by mt vi phng php chuyn phng
trnh (6.1) v dng x Tx c = + . T h (6.22) ta c

( )
Dx L U x b = + +
( )
1 1
x D L U x D b

= + + .
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 144
K hiu:
( )
1
j
T D L U

= + v
1
j
c D b

= . Khi theo (6.18) th



( ) ( ) 1 m m
j j
x T x c

= + , 1, 2, 3, m= (6.23)
Phng php lp da trn cng thc lp (6.23) c gi l phng php
Jacobi . Dng tng minh ca cng thc (6.23) l

( ) ( ) ( )
1
1
1 1
1
, 1,
i n
k k k
i i j i j i
j j i
ii
x a x a x b i n
a

+
= = +
| |
= + =
|
\ .

. (6.24)
Do A l ma trn ng cho tri nghim ngt, nn

( )
1, 1
1 1
1,
max max 1
n
i j
n
i j j j i
j
i n i n
j j i
ii ii
a
a
T D L U
a a
= =
s s s s
= =
= + = = <


iu ny c ngha l phng php Jacobi lun hi t vi mi vector lp ban
u
( ) 0
x .
V d 6.3.9 Xt h phng trnh

1 2 3
1 2 3 4
1 2 3 4
2 3 4
10 2 6
11 3 25
2 10 11
3 8 15
x x x
x x x x
x x x x
x x x
+ =

+ + =

+ =

+ =


C nghim duy nht l
( )
*
1,2, 1,1
T
x = . Theo (6.24), chuyn t h Ax b = v
dng
j j
x T x c = + ta c
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 145

( )
( )
( )
( )
1 1 2 3
2 2 1 3 4
3 3 1 2 4
4 4 2 3
1
2
10
1
3
11
1
2
10
1
3
8
x b x x
x b x x x
x b x x x
x b x x

= +

= + +

= + +

= +

,
6
25
11
15
b
| |
|
|
=
|

|
\ .
.
Hay,
1 2 3
2 1 3 4
3 1 2 4
4 2 3
0.100 0.200 0.600
0.091 0.091 0.273 2.273
0.200 0.100 0.100 1.100
0.357 0.125 1.875
x x x
x x x x
x x x x
x x x
= +

= + +

= + +

= + +


Ta c,
0 0.100 0.200 0
0.091 0 0.091 0.273
0.200 0.100 0 0.100
0 0.375 0.125 0
j
T
| |
|

|
=
|

\ .
v
0.600
2.273
1.100
1.875
j
c
| |
|
|
=
|

|
\ .
.
Cng thc lp theo phng php Jacobi c dng:

( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( )
1
1 2 3
1
2 1 3 4
1
3 1 2 4
4 2 3
0.100 0.200 0.600
0.091 0.091 0.273 2.273
0.200 0.100 0.100 1.100
0.357 0.125 1.875
k k k
k k k k
k k k k
k k k
x x x
x x x x
x x x x
x x x
+
+
+

= +

= + +

= + +

= + +


Chn chun v cng v ta c 1/ 2
j
T

= , tc l phng php hi t, v
chn vector
( )
( )
0
0,0,0,0
T
x = . Bng 6.1 cho kt qu tnh ton bng phng php
Jacobi i vi v d 6.3.9 ca 5 ln lp u v ln lp th 10, 12.
Sai s thc s l
( ) 10
* 4
2.0 10 x x

= .
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 146
Bng 6.1. Vi kt qu gii v d 6.3.9 bng phng php Jacobi.
k 1 2 3 4 5 10 12
( )
1
k
x 0.6000 1.0473 0.9326 1.0152 0.9890 1.0001 1.0000
( )
2
k
x 2.2727 1.7159 2.0533 1.9537 2.0114 1.9998 2.0000
( )
3
k
x -1.1000 -0.8052 -1.0493 -0.9681 -1.0103 -0.9998 -1.0000

Ta c nh gi
( ) ( ) ( ) 10 10 9
* 4 3
1/ 2
8.0 10 10
1 1/ 2
x x x x


s = <

.

Trong trng hp tng qut v trong chng trnh MATLAB chng ti
nh gi theo cng thc (6.16), tc l nu cho trc phm vi sai s l o th qu
trnh lp s dng li khi

( ) ( )
( )
1
1
k k
k
x x
x
o
+

< .
Nh trnh by chng 1, x l trng hp mu s bng 0, trong
MATLAB chng ti dng

( ) ( )
( )
1
1
k k
k
x x
x eps
o
+

<
+
.
Tr li cng thc (6.24), tnh cc to ca vector lp
( ) 1 k
x
+
, chng ta
s dng to ca
( ) k
x . Nhng vi 1 i > , th
( ) 1 k
i
x
+
c tnh v xp x nghim
chnh xc
*
i
x s tt hn
( ) k
i
x . Do , tnh
( ) 1 k
i
x
+
ta nn s dng li cc gi tr va
tnh xong
( ) 1
1
k
x
+
,
( ) 1
2
k
x
+
,,
( ) 1
1
k
i
x
+

. Ta c

( ) ( ) ( )
1
1 1
1 1
1
, 1,
i n
k k k
i i j i j i
j j i
ii
x a x a x b i n
a

+ +
= = +
| |
= + =
|
\ .

. (6.25)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 147
Phng php lp da trn cng thc lp (6.25) c gi l phng php
Gauss Seidel. Trong v d 6.3.8, cng thc lp Gauss Seidel c dng
( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( )
1
1 2 3
1
2 1 3 4
1
3 1 2 4
4 2 3
0.100 0.200 0.600
0.091 0.091 0.273 2.273
0.200 0.100 0.100 1.100
0.357 0.125 1.875
k k k
k k k k
k k k k
k k k
x x x
x x x x
x x x x
x x x
+
+
+

= +

= + +

= + +

= + +


Bng 6.2 cho kt qu tnh ton bng phng php Gauss Seidel i vi
v d 6.3.9 ca 7 ln lp u.
Bng 6.2.Vi kt qu gii v d 6.3.9 bng phng php Gauss Seidel.
k 1 2 3 4 5 6 7
( )
1
k
x 0.6000 1.0302 1.0066 1.0009 1.0001 1.0001 1.0000
( )
2
k
x 2.3273 2.0369 2.0036 2.0003 2.0000 1.9998 2.0000
( )
3
k
x -0.9873 -1.0145 -1.0025 -1.0003 -1.0000 -0.9998 -1.0000
( )
4
k
x 0.8789 0.9843 0.9984 0.9998 1.0000 0.9998 1.0000
So snh vi Bng 6.1, ta thy n ln lp th 5, nghim thu c bng
phng php Gauss Seidel tt hn nhiu so vi phng php Jacobi. Hn th
na, n ln lp th 6 th phng php Gauss Seidel cho nghim chnh xc,
cn phng php Jacobi th n ln lp th 12.
CHNG TRNH MATLAB: Chng ti trnh by hai chng trnh
MATLAB. Chng trnh 6.3, cho phng php Jacobi v chng trnh 6.3a, cho
phng php Gauss-Seidel gii h phng trnh tuyn tnh (6.1). Cc i s v
kt qu u ra ca chng trnh c gii thch c th trong chng trnh. Chng
trnh s dng li khi
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 148
( ) ( )
( )
1
1
k k
k
x x
x eps
o
+

<
+
, o -sai s cho php.
Chng trnh 6.3:
function [x, iflag, itnum] = Jacobi(A,b,x0,delta,max_it)
% function [x, iflag, itnum] = Jacobi(A,b,x0,delta,max_it)
%Chuong trinh thuc hien phep lap Jacobi de giai he phuong trinh tuyen tinh
%Ax=b
%
% % Gia tri dau vao
% A: cac he so ma tran vuong A
% b: Vecto cot phai b
% x0: vector lap ban dau,
% delta: uoc luong sai so cho phep giua cac lan lap lien tiep.
% max_it: so lan lap toi da cho phep trong gioi han sai so tren

% Khi ta da nhap cac tri dau vao, chuong trinh co the goi theo cu phap
% [x, iflag, itnum] = Jacobi
% Giai vi du 6.3.9.
A=[10,-1,2,0;-1,11,-1,3;2,-1,10,-1;0,3,-1,8];
b=[6;25;-11;15];
max_it=12;
x0=[0;0;0;0];
delta=0.0001;

% Tri dau ra
% x: vecto nghiem
% iflag: 1 neu sai so thoa man sai so uoc luong cho phep khi so lan lap nho %hon
max_it , -1 neu nguoc lai
% itnum: so lan lap duoc su dung de tinh ra x.

% Khoi tao cac gia tri dau tien
% n la do dai (so cac phan tu trong) ma tran cot b
n = length(b);

% khoi tao gia tri dau cho bien iflag, k.
iflag = 1; k = 0;

% tao vecto voi cac phan tu la duong cheo ma tran A
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 149
diagA = diag(A);

% Hieu chinh A sao cho cac phan tu duong cheo cua no bang 0
A = A-diag(diag(A));

% Qua trinh lap, tinh toan theo cong thuc (6.24)
while k < max_it
k = k+1;
x = (b-A*x0)./diagA;

% Kiem tra dieu kien dung chuong trinh.
relerr = norm(x-x0,inf)/(norm(x,inf)+eps);
x0 = x;
if relerr < delta
break
end
end
%
itnum = k;
if (itnum == max_it)
iflag = -1;
end

Chng trnh 6.3a:
function [x,iflag,itnum] = GS(A,b,x0,delta,max_it)
% Chuong trinh su dung phuong phap lap Gauss-Seidel de giai cac he phuong %
trinh tuyen tinh Ax=b

% Gia tri dua vao:
% A: cac he so ma tran vuong A
% b: Vecto cot phai b
% x0: vector lap ban dau,
% delta: uoc luong sai so cho phep giua cac lan lap lien tiep.
% max_it: so lan lap toi da cho phep trong gioi han sai so tren

% Khi ta da nhap cac tri dau vao, chuong trinh co the goi theo cu phap
% [x, iflag, itnum] = GS
% Giai vi du 6.3.9.
A=[10,-1,2,0;-1,11,-1,3;2,-1,10,-1;0,3,-1,8];
b=[6;25;-11;15];
max_it=6;
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 150
x0=[0;0;0;0];
delta=0.0001;

% Tri dau ra
% x: vecto nghiem
% iflag: 1 neu sai so thoa man sai so uoc luong cho phep khi so lan lap thuc % te
nho hon max_it , -1 neu nguoc lai
% itnum: so lan lap duoc su dung de tinh ra x.

% Khoi tao cac gia tri dau tien
% n la do dai (so cac phan tu trong) ma tran cot b
n = length(b);
% khoi tao gia tri dau cho bien iflag, k, nghiem x
iflag = 1; k = 0; x = x0;
% Qua trinh lap, tinh toan theo cong thuc (6.25)
while k < max_it
k = k+1;
x(1) = (b(1)-A(1,2:n)*x0(2:n))/A(1,1);
for i = 2:n
if i < n
x(i) = (b(i)-A(i,1:i-1)*x(1:i-1) ...
-A(i,i+1:n)*x0(i+1:n))/A(i,i);
else
x(n) = (b(n)-A(n,1:n-1)*x(1:n-1))/A(n,n);
end
end
% Kiem tra dieu kien dung chuong trinh.
relerr = norm(x-x0,inf)/(norm(x,inf)+eps);
x0 = x;
if relerr < delta
break
end
end
%
itnum = k;
if (itnum == max_it)
iflag = -1;
end
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 151
CHNG 7
GII S PHNG TRNH VI PHN THNG



Nhiu bi ton ca khoa hc k thut dn n vic gii phng trnh vi
phn thng. Bi ton n gin nht v c nhiu ng dng thc t l bi ton
Cauchy hay cn gi l bi ton iu kin u ca phng trnh vi phn cp 1.
Bi ton: Tm nghim
( )
Y Y x = tho

( ) ( )
( )

= s s

0
0 0
' , , ,
.
Y f x Y x x x b
Y x Y
(7.1)
Chng ti ch quan tm n cc phng php gii s cho bi ton (7.1) vi
gi thit rng chng c y cc iu kin m bo s tn ti v tnh duy nht
nghim ca bi ton.
i vi bi ton h phng trnh vi phn cp 1. Tm Y
1
(x), , Y
m
(x) trn
on
0
x x b s s , tho

( ) ( )
( ) ( )
1 1 1 1 0 1,0
1 0 ,0
' , ,..., , ,
' , ,..., , .
m
m m m m m
Y f x Y Y Y x Y
Y f x Y Y Y x Y
= =
= =

Ta t,
( )
( )
( )
( )
( )
( )
1 1 1 1,0
0
,0
1
, ,...,
, , ,
, ,...,
m
m
m m m
Y x f x z z Y
Y x Y f x z
Y
Y x f x z z
( (
(
( (
(
= = =
( (
(
( (
(


.
Vi
| |
1 2
, ,...,
T
m
z z z z = , th bi ton h trn s a v bi ton (7.1).
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 152
Cn i vi bi ton phng trnh vi phn cp m

1
1
, , ,...,
m m
m m
d Y dY d Y
f x Y
dx dx dx

| |
=
|
\ .
,
( )
0 0
Y x y = ,,
( )
( )
( ) 1 1
0 0
m m
Y x Y

= .
Ta t,
( ) 1
1 2
, ', ...,
m
m
Y Y Y Y Y Y

= = = .
Th ta c bi ton h phng trnh vi phn cp 1 nh sau
( )
( )
( ) ( )

= =
= =
= =
1 2 1 0 0
( 2)
1 1 0 0
( 1)
1 0 0
' ,
' ,
' , ,..., .
m
m m m
m
m m m
Y Y Y x Y
Y Y Y x Y
Y f x Y Y Y x Y

V do li a v bi ton Cauchy (7.1).
Sau y chng ti trnh by mt vi phng php ph bin gii (7.1), t
mc 7.1 n mc 7.3 v bi ton bin tuyn tnh cp hai mc 7.4.
7.1. PHNG PHP EULER
tm nghim gn ng ca (7.1), chia on
| |
0
, x b thnh N on nh
bng nhau bi cc im chia
0
, 0,
n
x x nh n N = + = ;
N
x b = ; ( )
0
/ 2
N
h x x = . K
hiu:
n
Y l gi tr ca nghim ng ( )
n
Y x v ( )
n n n
y x y Y = ~ . Ta c
( ) ( ) ( )
1
' Y x Y x h Y x
h
( ~ +

, ( ) ( ) ( )
' ,
n n n
Y x f x Y x = .
Dn n, ( ) ( ) ( ) ( )
1
1
,
n n n n
Y x Y x f x Y x
h
+
( ~

,
Hay, ( ) ( ) ( ) ( )
1
,
n n n n
Y x Y x hf x Y x
+
~ + . (7.2)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 153
Nh vy,
( ) ( )
1 1
, , 0, 1
n n n n n
Y y y hf x y n N
+ +
~ = + = . (7.3)
Cng thc (7.3) l cng thc Euler gii s phng trnh (7.1). Cng thc
ny cho ta php tnh mt cch n gin
1 n
y
+
khi bit
n
y m khng phi gii mt
phng trnh no. V vy, phng php Euler s dng (7.3) l mt phng php
hin.
Ngi ta chng minh c rng sai s trong (7.3) ti
n
x l

n n
Y y Mh s , ( M l hng s dng khng ph thuc h). (7.4)
nh gi (7.4) ch c gi tr l thuyt v tnh M tng i phc tp. Trong
thc hnh ngi ta xc nh sai s bng cch tnh hai ln nh sau: ln th nht
tnh bng cng thc (7.3) vi bc h, nhn c ( )
n
y h l gi tr gn ng ca
n
Y ;
sau li tnh ln th hai vi bc h/2, nhn c ( )
2
/ 2
n
y h l gi tr gn ng
ca
n
Y , v sai s c xc nh bi
( ) ( ) ( )
2 2
/ 2 / 2
n n n n
y h Y y h y h ~ . (7.5)
Nh vy, cng thc (7.3) c u im l tnh ton n gin nhng chnh
xc thp (sai s bc 1). tng chnh xc ca n, ta lm nh sau:
p dng cng thc Newton Leibnizt ( ) ( ) ( )
1
1
' .
n
n
x
n n
x
Y x Y x Y x dx
+
+
=
}

p dng cng thc (5.2), th ( ) ( ) ( ) ( )
1 1
' ' .
2
n n n n
h
Y x Y x Y x Y x
+ +
( ~ +

Kt hp (7.1), th ( ) ( ) ( ) ( ) ( ) ( )
1 1 1
, , .
2
n n n n n n
h
Y x Y x f x Y x f x Y x
+ + +
(
~ + +


Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 154
Hay,
( ) ( )
( )
1 1
1
, ,
, 0, 1
2
n n n n
n n
f x y f x y
y y h n N
+ +
+
+
= + = . (7.6)
Cng thc (7.6) c gi l cng thc Euler ci tin. Ngi ta chng minh
c rng trong sai s trong (7.6) c nh gi l

2
n n
Y y Mh s , ( M l hng s dng khng ph thuc h). (7.7)
Nh vy, chnh xc ca (7.6) s tt hn (7.3) v n c chnh xc bc
hai. Tuy nhin vic tnh ton theo (7.6) phc tp v gii tm
1 n
y
+
ta phi thng
qua vic gii phng trnh i s phi tuyn (nu f phi tuyn), nn phng php
Euler dng (7.6) l phng php n. Ngoi ra, khai thc nhng u im v khc
phc nhc im ca hai cng thc (7.3) v (7.6), ta thay
1 n
y
+
trong (7.3) vo v
phi ca (7.6), ta c

( ) ( ) ( )
( )
1
1
, , ,
, 0, 1 .
2
n n n n n n
n n
f x y f x y hf x y
y y h n N
+
+
+ +
= + = (7.8)

CHNG TRNH MATLAB: Dng phng php Euler gii s bi ton

2
' 1, 0 2,
(0) 0.5.
y y x x
y
= + s s


Vi n=10, bc h=0.2 v nghim chnh xc l ( ) ( )
2
ex
1 0.5
x
Y x x e = + .
Chng ti cung cp hai chng trnh MATLAB gii s bi ton di
y bng phng php Euler ln lt dng (7.3) v (7.8). chy chng trnh ta
cn to cc file to hm fcn v Yex v lu v cng th mc vi cc file chng
trnh euler_hien.m v euler_an.m (cc file c trong th mc euler) . Kt qu tr v
l cc vector ct N dng gm c gi tr cc im chia x , gi tr gii s tng ng
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 155
y , gi tr chnh xc Y v sai s err , c biu th trong Bng 7.1 v Bng 7.2 v
v th minh ho, Hnh 7.1 v Hnh 7.2. Hm c gi theo c php
[x,y,Y,err] = euler_hien(fcn) v [x,y,Y,err] = euler_an(fcn).
Chng trnh 7.1:
% file fcn.m; Tao ham fcn(x,y)
function a=fcn(x,y)
a=inline('y-x^2+1');
% Gia tri tra ve cho ham hai bien a(x,y) de gan cho ham fcn.
% file Yex.m; Tao ham chinh xac Yex(x)
function a=Yex(x)
a=(x+1)^2-0.5*exp(x);
% Chuong trinh giai bai toan Cauchy bang phuong phap Euler hien
% Tao file euler_hien.m
function [x,y,Y,err] = euler_hien(fcn)
% Day la ham [x,y,Y,err] = euler_an(fcn)
% Ham giai so bai toan Cauchy theo phuong phap Euler hien.
% Cac doi so la: x0, y0, h, x_end=xN.
% Output:
% Vector x duoc xac dinh thong qua cac diem:
% x(1)=x0, x(j)=x0+(j-1)*h, j=1,2,...,N
% voi x(N) <= x_end-h, x(N)+h > x_end-h
% Vector y duoc tinh tuong ung theo x thong qua ham fcn, bang (7.3).
% Vector Y duoc tinh tuong ung theo x thong qua ham Yex.
% Vector err duoc tinh bang cong thuc err(i)=abs(Y(i)-y(i)).

% Nhap cac doi so theo yeu cau tung bai toan.
x0=0;y0=0.5;
h=0.2; x_end=2;
% Khoi tao cac gia tri
N = fix((x_end-x0)/h)+1 % Dem so diem chia.
x = linspace(x0,x_end,N)'; % Chia [x0, x_end] thanh N diem.

% Giai so y=y(x)
y = zeros(N,1);
y(1) = y0; % Danh so y(1)=y0 dan den tinh y(2),...,y(N).
for i = 2:N
y(i)=y(i-1)+h*feval(fcn,x(i-1),y(i-1)); % Giai so theo cong thuc (7.3).
end

% Giai chinh xac Y=y(x)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 156
X=x;Y = zeros(N,1);
for i=1:N
Y(i)=Yex(X(i)); % Tinh chinh xac bang ham Yex.
end
% Tinh toan cac sai so.
err = zeros(N,1);
for i=1:N
err(i)=Y(i)-y(i);
end

% Ve do thi phep giai so va phep giai chinh xac tren cung mot hinh.
plot(x,y,'b',X,Y,'r')
xlabel('x')
ylabel('Phuong phap Euler hien')
title('Hinh 7.1. Giai so (mau xanh), giai chinh xac (mau do).')
legend('y','Y',-1)

Kt qu chy chng trnh 7.1 theo c php [x,y,Y,err] = euler_hien(fcn).

Bng 7.1. Kt qu gii s bng phng php Euler hin vi n=0, 1,,10.
n
x
n
y
n
Y err
0 0.5000 0.5000 0
0.2000 0.8000 0.8293 0.0293
0.4000 1.1520 1.2141 0.0621
0.6000 1.5504 1.6489 0.0985
0.8000 1.9885 2.1272 0.1387
1.0000 2.4582 2.6409 0.1827
1.2000 2.9498 3.1799 0.2301
1.4000 3.4518 3.7324 0.2806
1.6000 3.9501 4.2835 0.3334
1.8000 4.4282 4.8152 0.3870
2.0000 4.8658 5.3055 0.4397
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 157

Chng trnh 7.1a: Gii bi ton bng phng php Euler n.
Ta ch cn thay on chng trnh gii s theo cng thc (7.3) thnh (7.8)
nh sau
% Giai so y=y(x)
y = zeros(N,1);
y(1) = y0; % Danh so y(1)=y0 dan den tinh y(2),...,y(N).
for i = 2:N
y(i)=y(i-1)+h*feval(fcn,x(i-1),y(i-1));
y(i)=y(i-1)+h*(feval(fcn,x(i-1),y(i-1))+feval(fcn,x(i),y(i)))/2;
% Giai so theo cong thuc (7.8).
end
Li gii chi tit xin xem trong th mc euler.
Kt qu chy chng trnh theo c php [x,y,Y,err] = euler_an(fcn).

Bng 7.2. Kt qu gii s bng phng php Euler n vi n=0,1, ,10.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 158
n
x
n
y
n
Y
err
0 0.5000 0.5000 0
0.2000 0.8260 0.8293 0.0033
0.4000 1.2069 1.2141 0.0072
0.6000 1.6372 1.6489 0.0117
0.8000 2.1102 2.1272 0.0170
1.0000 2.6177 2.6409 0.0232
1.2000 3.1496 3.1799 0.0304
1.4000 3.6937 3.7324 0.0387
1.6000 4.2351 4.2835 0.0484
1.8000 4.7556 4.8152 0.0596
2.0000 5.2331 5.3055 0.0724


7.2. PHNG PHP RUNGE KUTTA
Phng php Runge Kutta l phng php gii bi ton (7.1) theo cng
thc xp x
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 159

( )
( )
( )
( )
( )
o |
o | |
o | | |
=

+ ~ +

= + +

= + + +

= + + + + +

1
1
2 2 21 1
2 3 31 1 32 2
1 1 2 2 , 1 1
,
, ,
, ,
, ,
...
, ... .
M
n
n n j j
j
n
n n
n n
n n
n n n
n n
n n n n
M n M n M M M M M
Y x h y A K
K hf x y
K hf x h y K
K hf x h y K K
K hf x h y K K K
(7.9)
Trong cc h s
j
A ,
j
o ,
j i
| , c xc nh bng cch t

( ) ( )
1
M
n
n n j j
j
h Y x h y A K
=
= +

.
Hm ( )
h , ph thuc h c o hm n cp m. Gi tr tuyt i ca ( )
h
l sai s tuyt i ca gi tr gn ng ti
n
x h + . Ch rng ( )
0 0 = , do :
( ) ( ) ( )
( )
( ) ( )
2
1 1
' 0 " 0 ... 0
2 !
m m m
h h h h o h
m
= + + + + .
Cc h s
j
A ,
j
o ,
j i
| c xc nh theo iu kin:
( ) ( )
( )
( )
' 0 " 0 ... 0 0
m
= = = = . (7.10)
Khi ,
( ) ( )
m
h o h = . Chng ta s xt vi trng hp thng c dng
trong gii s.
- Trng hp 1. M=m=1, khi cng thc (7.9) c dng
( ) ( )
1 1 1
, ,
n n
n n n n
Y x h y A K K hf x y + ~ + = .
Xc nh h s
1
A vi
( ) ( ) ( ) ( )
1 1 1
,
n
n n n n n n
h Y x h y A K y x h y Ahf x y = + = + .
iu kin (7.10) tr thnh
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 160

( ) ( ) ( ) ( ) ( )
1 1
' 0 ' , , ,
n n n n n n n
Y x A f x y f x y A f x y = ~ , nn
1
1 A = .
y l trng hp ca cng thc Euler (7.3).
- Trng hp 2. M=m=2, khi cng thc (7.9) c dng

( )
( )
( )
o |

+ ~ + +

= + +

1 1 2 2
1
2 2 21 1
,
, ,
, .
n n
n n
n
n n
n n
n n
Y x h y A K A K
K hf x y
K hf x h y K

Cc h s cn tm
1
A ,
1
A ,
2
o ,
21
| c xc nh theo iu kin (7.10).
( ) ( )
1 1 2 2
n n
n n
h y x h y A K A K = + .
Tnh ( )
' h , ( )
" h v p dng ( ) ( )
' 0 " 0 0 = = , ta c h:
o
|
=

1 2
2 2
21 2
1 0,
1 2 0,
1 2 0.
A A
A
A

H ny c v s nghim. Trong hai b nghim tng ng vi hai cng
thc thng dng l
i.
1 2
1
2
A A = = ,
2 21
1 o | = = . Ta c

( ) ( )
( )
( )

+ ~ + +

= + +

1 2
1
2 1
1
,
2
, ,
, .
n n
n n
n
n n
n n
n n
Y x h y K K
K hf x y
K hf x h y K

y l cng thc Euler ci tin (7.5).
ii.
1 2
1 A A = = ,
2 21
1
2
o | = = . Ta c
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 161

( )
( )
( )

+ ~ + +

= + +

1 2
1
2 1
,
, ,
/ 2, / 2 .
n n
n n
n
n n
n n
n n
y x h y K K
K hf x y
K hf x h y K
(7.11)
- Trng hp 3. M=m=4, ta c
( ) ( )
( )
( )
( )
( )

+ ~ + + + +

= + +

= + +

= + +

1 2 3 4
1
2 1
3 2
4 3
1
2 2 ,
6
, ,
/ 2, / 2 ,
/ 2, / 2 ,
, .
n n n n
n n
n
n n
n n
n n
n n
n n
n n
n n
Y x h y K K K K
K hf x y
K hf x h y K
K hf x h y K
K hf x h y K
(7.12)
Cng thc (7.12) gi l cng thc Runge Kutta cp 4.
CHNG TRNH MATLAB: Chng ti trnh by mt chng trnh
MATLAB gii s bi ton (7.1) bng cng thc Runge Kutta cp 4. Cng
thc ny c chnh xc bc 4, tt hn phng php Euler. Chng ti ly cng
bi ton c th ca phng php Euler tin vic so snh. Kt qu cho chnh
xc cao, sai s khng ng k v th gn nh trng lp nhau thnh mt, kt qu
th hin trong Bng 7.3 v Hnh 7.3 . Cu trc chng trnh cng ging nh
chng trnh 7.1 v chng trnh 7.1a, ch khc nhau cch tnh gi tr gii s
vector y. Chng ti trnh by ch khc bit ny, cn chi tit xin xem trong th mc
rk. Chng trnh c gi theo c php
[x,y,Y,err] = rk4(fcn).
Chng trnh 7.2:

function [x,y,Y,err] = rk4(fcn)
% Day la ham [x,y,Y,err] = rk4(fcn)
% Ham giai so bai toan Cauchy theo phuong phap Runge-Kutta (bac 4).
% Cac doi so la: x0, y0, h, x_end=xN.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 162
% Output:
% Vector x duoc xac dinh thong qua cac diem:
% x(1)=x0, x(j)=x0+(j-1)*h, j=1,2,...,N
% voi x(N) <= x_end-h, x(N)+h > x_end-h
% Vector y duoc tinh tuong ung theo x thong qua ham fcn, bang (7.12).
% Vector Y duoc tinh tuong ung theo x thong qua ham Yex.
% Vector err duoc tinh bang cong thuc err(i)=abs(Y(i)-y(i)).

% Nhap cac doi so theo yeu cau tung bai toan.
x0=0;y0=0.5;
h=0.2; x_end=2;
% Khoi tao cac gia tri
N = fix((x_end-x0)/h)+1; % Dem so diem chia.
x = linspace(x0,x_end,N)'; % Chia [x0, x_end] thanh N diem.
% Giai so y=y(x)
y = zeros(N,1);
y(1) = y0; % Danh so y(1)=y0 dan den tinh y(2),...,y(N).
for i = 2:N
K1=h*feval(fcn,x(i-1),y(i-1));
K2=h*feval(fcn,x(i-1)+h/2,y(i-1)+K1/2);
K3=h*feval(fcn,x(i-1)+h/2,y(i-1)+K2/2);
K4=h*feval(fcn,x(i-1)+h,y(i-1)+K3);
y(i)=y(i-1)+(K1+2*K2+2*K3+K4)/6; % Giai so theo cong thuc (7.12).
end

Kt qu chy chng trnh 7.3 theo c php [x,y,Y,err] = rk4(fcn).
Bng 7.3. Kt qu gii s bng cng thc (7.12), vi n=0, 1, , 10.
n
x
n
y
n
Y 3
10
err


0 0.5000 0.5000 0
0.2000 0.8293 0.8293 0.0053
0.4000 1.2141 1.2141 0.0114
0.6000 1.6489 1.6489 0.0186
0.8000 2.1272 2.1272 0.0269
1.0000 2.6408 2.6409 0.0364
1.2000 3.1799 3.1799 0.0474
1.4000 3.7323 3.7324 0.0599
1.6000 4.2834 4.2835 0.0743
1.8000 4.8151 4.8152 0.0906
2.0000 5.3054 5.3055 0.1089
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 163

7.3. PHNG PHP A BC (MULTISTEP METHODS)
Tip tc xt bi ton (7.1). Ta c
( ) ( ) ( )
+
+
=
}
1
1
'
n
n
x
n n
x
Y x Y x Y x dx . (7.13)
T (7.1) ng thc trn suy ra
( ) ( ) ( ) ( )
+
+
= +
}
1
1
,
n
n
x
n n
x
Y x Y x f x Y x dx .
Ta tnh tch phn ( ) ( ) ( ) ( )
1
, , .
n
n
x
x
g x dx g x f x Y x
+
=
}

Phng php a bc l tn gi chung ca hai phng php: Adams
Bashforth (AB) v Adams Moulton (AM). tng chnh ca hai phng php
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 164
ny l xp x g(x) bi a thc ni suy bc q ca n ti cc im
{ }
1
, ,...,
n n n q
x x x


(AB) v
{ }
1 1
, ,...,
n n n q
x x x
+ +
(AM). Chng ti trnh by phng php AB.
a thc ni suy tuyn tnh ca ( )
g x ti { }
1
,
n n
x x
+
l

( ) ( ) ( ) ( ) ( )
1 1 1
1
n n n n
p x x x g x x x g x
h

( = +

. (7.14)
Do ,
( ) ( ) ( ) ( )
1 1
1 1
3
2 2
n n
n n
x x
n n
x x
h h
g x dx p x dx g x g x
+ +

~ =
} }
.
Suy ra, ( ) ( ) ( ) ( ) ( ) ( )
1 1 1
3 , ,
2
n n n n n n
h
Y x Y x f x Y x f x Y x
+
(
~ +

.
Vy, ( ) ( )
1 1 1
3 , ,
2
n n n n n n
h
y y f x y f x y
+
( = +

.
Hay,
| |
1 1
3 ' '
2
n n n n
h
y y y y
+
= + . (7.15)
Cng thc (7.15) gi l cng thc AB bc 2.
Hon ton tng t ta c
Phng php AB
q Bc Cng thc gii s
0 1
1
'
n n n
y y hy
+
= +
1 2 | |
1 1
3 ' ' / 2
n n n n
y y h y y
+
= +
2 3 | |
1 1 2
23 ' 16 ' 5 " /12
n n n n n
y y h y y y
+
= + +
3 4 | |
1 1 2 3
55 ' 59 ' 37 " 9 ' / 24
n n n n n n
y y h y y y y
+
= + +
Bc y l bc ca phng php v cng l bc ca sai s.


i vi phng php AM ta c


Phng php AM
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 165
q Bc Cng thc gii s
0 1
1
'
n n n
y y hy
+
= +
1 2 | |
1 1
' ' / 2
n n n n
y y h y y
+ +
= + +
2 3 | |
1 1 1
5 ' 8 ' " /12
n n n n n
y y h y y y
+ +
= + +
3 4 | |
1 1 1 2
9 ' 19 ' 5 " ' / 24
n n n n n n
y y h y y y y
+ +
= + + +

CHNG TRNH MATLAB: Chng ti trnh by mt chng trnh
MATLAB gii s bi ton (7.1) bng cng thc AB bc 2. C th, chng ti
cng ly cng mt bi ton ca cc phng php trc tin vic so snh.
chy chng trnh ta cn to cc file tao hm fcn v Yex v lu v cng th mc
vi cc file chng trnh AB2.m, cc file c trong th mc AB; y chng ti
trnh by on chng trnh chnh to file AB2.m. Kt qu tr v l cc vector ct
N dng gm gi tr cc im chia x , gi tr gii s tng ng y , gi tr chnh xc
Y v sai s err , c biu th trong Bng 7.4 v v th minh ho, Hnh 7.4.
Hm c gi theo c php
[x,y,Y,err] = AB2(fcn).

Chng trnh 7.3:
% Tao file AB2.m
function [x,y,Y,err] = AB2(fcn)
% Day la ham [x,y,Y,err]=AB2(fcn).
% Dung de giai so bai toan Cauchy 7.1 bang cong thuc AB bac 2.
% Cac doi so la: x0, y0, h, x_end=xN.
% Ham duoc goi theo cu phap [x,y,Y,err]=AB2(fcn).
% Output:
% Vector x duoc xac dinh thong qua cac diem:
% x(1)=x0, x(j)=x0+(j-1)*h, j=1,2,...,N
% voi x(N) <= x_end-h, x(N)+h > x_end-h
% Vector y duoc tinh tuong ung theo x thong qua ham fcn, bang (7.15).
% Vector Y duoc tinh tuong ung theo x thong qua ham Yex.
% Vector err duoc tinh bang cong thuc err(i)=abs(Y(i)-y(i)).
% Nhap cac doi so theo yeu cau tung bai toan.
x0=0;
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 166
y0=0.5;
h=0.2;
x_end=2;

% Khoi tao cac gia tri
N = fix((x_end-x0)/h)+1; % Dem so diem chia.
x = linspace(x0,x_end,N)'; % Chia [x0, x_end] thanh N diem.

% Giai so y=y(x)
y = zeros(N,1);
y(1) = y0; % Danh so y(1)=y0 dan den tinh y(2),...,y(N).
ft1 = feval(fcn,x(1),y(1));
y(2) = y(1)+h*ft1; % Tinh y(2)theo truong hop q=0.
for i = 3:N
ft2 = feval(fcn,x(i-1),y(i-1));
y(i) = y(i-1)+h*(3*ft2-ft1)/2; % Giai so theo cong thuc AB bac hai.
ft1 = ft2;
end

% Giai chinh xac Y=y(x)
X=x;
Y = zeros(N,1);
for i=1:N
Y(i)=Yex(X(i)); % Tinh chinh xac bang ham Yex.
end
% Tinh toan cac sai so.
err = zeros(N,1);
for i=1:N
err(i)=Y(i)-y(i);
end

% Ve do thi phep giai so va phep giai chinh xac tren cung mot hinh.
plot(x,y,'b',X,Y,'r')
xlabel('x')
ylabel('Phuong phap AB bac 2')
title('Hinh 7.4. Giai so (mau xanh), giai chinh xac (mau do).')
legend('y','Y',-1)

Kt qu chy chng trnh 7.4 theo c php [x,y,Y,err] = AB2(fcn).
Bng 7.4. Kt qu gii s theo phng php AB2, vi n=0, 1, , 10.

Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 167
n
x
n
y
n
Y
err
0 0.5000 0.5000 0
0.2000 0.8000 0.8293 0.0293
0.4000 1.1780 1.2141 0.0361
0.6000 1.6074 1.6489 0.0415
0.8000 2.0798 2.1272 0.0474
1.0000 2.5870 2.6409 0.0538
1.2000 3.1192 3.1799 0.0608
1.4000 3.6642 3.7324 0.0682
1.6000 4.2075 4.2835 0.0759
1.8000 4.7314 4.8152 0.0838
2.0000 5.2140 5.3055 0.0914


7.5. BI TON BIN TUYN TNH CP HAI
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 168
Trong phn ny chng ti trnh by phng php sai phn hu hn gii bi
ton bin ca phng trnh vi phn thng tuyn tnh cp hai vi iu kin bin
c cho hai im c dng

( ) ( ) ( ) ( ) ( ) ( ) ( )
( ) ( )
" ' , ,
, .
a b
p x Y x q x Y x r x Y x f x a x b
Y a g Y b g
+ + = s s

= =

(7.16)
Cho N Z
+
e ,
( )
/ h b a N = , chia on
| |
, a b thnh N on di h bi
1 N + im , 0
i
x a ih i N = + s s . Vi ( )
i i
f f x = , ( )
i i
p p x = , ( )
i i
q q x = ,
( )
i i
r r x = v ( )
i i
Y Y x = ,
i i
y Y ~ . Ta p dng cng thc sai phn hng tm (5.27)
v (5.31), ta c
( ) ( )
2 1 1
' ,
2
i i
i
Y Y
Y x o h
h
+

= + (7.17)
( ) ( )
2 1 1
2
2
'
i i i
i
Y Y Y
Y x o h
h
+
+
= + . (7.18)
Thay vo (7.16) vi
i
x x = , ta c

( )
2 1 1 1 1
2
2
2
i i i i i
i i i i i
Y Y Y Y Y
p q rY o h f
h h
+ +
+
+ + + = . (7.19)
Dn n,
1 1 1 1
2
2
2
i i i i i
i i i i i
y y y y y
p q r y f
h h
+ +
+
+ + = , 1 1 i N s s .
Cng vi iu kin bin, ta thu c

1 1 2 2 2
0
2
; , , ,
2 2
, , 1 1.
i i i i i
i i i i i i i i i i i
a N b
p p q p q
C y A y B y f A r B C
h h h h h
y g y g i N
+

+ + = = = + =

= = s s


Vi i=1:
1 1 1 2 1 i a
A y B y f C g + = .
Vi i=N 1:
1 2 1 1 1 1 N N N N N N b
C y A y f B g

+ = .
Ta gii s
| |
1 1
,...,
T
N
y y y

= t h Ay b = . Trong , A l ma trn ba ng
cho
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 169
1 1
2 2 2
3 3
2 2
2 1
0 0 0
0 0
0 0 0
0 0 0
0 0 0
N N
N N
A B
C A B
C A
A
A B
C A


| |
|
|
|
= |
|
|
|
|
\ .
,
1 1
2
2
1 1


| |
|
|
|
=
|
|
|

\ .
a
N
N N b
f A g
f
b
f
f B g
.

CHNG TRNH MATLAB: Chng ti trnh by chng trnh MATLAB
gii s bi ton bin tuyn tnh cp hai (7.16) vi bi ton c th

( ) ( ) ( ) ( )
( ) ( ) ( )
2 2 2 2
1 " 2 ' 1 2 1 log 1 , 0 1,
0 0, 1 log 2 .
x Y xY x Y x x x
Y Y

+ + + = + + s s

= =


Li gii chnh xc l
( )
2
log 1 Yex x = + .
Cc i s ca chng trnh 7.4 l a, b, ga, gb, n v cc hm dng inline{}
l f, p, q, r; cc hm ny c to ra theo tng bi ton c th, cng vi file Yex.m
v lu cng th mc vi file chng trnh btb2.m. Cc file hm c trong th mc
btb; y chng ti ch trnh by on chng trnh chnh to file btb2.m. Kt qu
tr v l cc vector ct N dng gm gi tr cc im chia x , gi tr gii s tng
ng y , gi tr chnh xc Y v sai s err , c biu th trong Bng 7.5 v th
minh ho Hnh 7.5.
Hm c gi theo c php [x,y,Y,err]=btb2(p,q,r,f,a,b,ga,gb,n).
Chng trnh 7.4:
function [x,y,Y,err]=btb2(p,q,r,f,a,b,ga,gb,n)
% Day la ham x,y,Y,err]=btb2(p,q,r,f,a,b,ga,gb,n); gii bai toan bien cap hai.
if nargin<9, error('Ham co it nhat 9 doi so.'); end;
% Kiem tra cac doi so nhap vao khi goi chuong trinh.
% Khoi tao ban dau:
h=(b-a)/n; N=n+1;
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 170
x=linspace(a,b,N); % Chia doan [a, b] thanh n+1 diem.
y(1)=ga;y(N)=gb; % Dieu kien bien.

% Tinh cac he so cua ma tran ba duong cheo.
for i=1:n-1, A(i)=r(x(i+1))-2*p(x(i+1))/h/h; end; % Duong cheo chinh giua
for i=1:n-2, B(i)=p(x(i+1))/h/h+q(x(i+1))/2/h; end; % Duong cheo tren
for i=1:n-2, C(i)=p(x(i+2))/h/h-q(x(i+2))/2/h; end; % Duong cheo duoi

% Tao cac gia tri cua ma tran b:
for i=1:n-1, b(i)=f(x(i+1)); end;
b(1)=b(1)-(p(x(2))/h/h-q(x(2))/2/h)*ga;
b(n-1)=b(n-1)-(p(x(n))/h/h+q(x(n))/2/h)*gb;

% Giai so y theo he ma tran ba duong cheo:
z=tridiag(A,B,C,b,n-1);
for i=1:n-1, y(i+1)=z(i); end;
x=x'; y=y'; %Chuyen vi x, y de ket qua xuat ra dang cot.

%Giai chinh xac Y=y(x)
X=x;
Y = zeros(N,1);
for i=1:N
Y(i)=Yex(X(i)); % Tinh chinh xac bang ham Yex.
end
% Tinh toan cac sai so.
err = zeros(N,1);
for i=1:N
err(i)=abs(Y(i)-y(i));
end
% Ve do thi phep giai so va phep giai chinh xac tren cung mot hinh.
plot(x,y,'b',X,Y,'r')
xlabel('x')
title('Hinh 7.5. Giai so (mau xanh), giai chinh xac (mau do).')
legend('y','Y',-1)

Kt qu gii bi ton c th trn, chy chng trnh theo c php
[x,y,Y,err]=btb2(p,q,r,f,0,1,0,log(2),10).
Bng 7.5. Kt qu gii s bi ton bin tuyn tnh cp 2, n=0, 1, , 10.

n
x
n
y
n
Y 3
10
err


0 0 0 0
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 171
0.1000 0.0097 0.0100 0.2044
0.2000 0.0389 0.0392 0.3141
0.3000 0.0858 0.0862 0.3459
0.4000 0.1481 0.1484 0.3232
0.5000 0.2229 0.2231 0.2692
0.6000 0.3073 0.3075 0.2028
0.7000 0.3986 0.3988 0.1372
0.8000 0.4946 0.4947 0.0798
0.9000 0.5933 0.5933 0.0339
1.0000 0.6931 0.6931 0


Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 172
CHNG 8
GII S PHNG TRNH O HM RING

Trong chng ny chng ti dng phng php phn r gii s mt s
phng trnh o hm ring. Chng ti bn nhiu v cc bi ton mt chiu, v
cc bi ton hai chiu chng ti trnh by s lc v tng chnh ca phng
php tnh thit lp chng trnh gii s. mi bi ton, chng ti trnh by mt
chng trnh MATLAB gii s mt bi ton c th lm r tng ca
phng php v chng trnh MATLAB c dng gii s bi ton . C
nhiu phng php gii s khc nhau, chng ti khng trnh by chi tit cc
phng php gii s ny m ch nu ra s thay i chng trnh MATLAB nh
th no khi c s thay i nh trong cch xy dng cng thc tnh. C th l cc
thay i v cch thit lp ma trn gii s trong chng trnh MATLAB. Trn c s
, chng ta c th thay i cc d kin ph hp dng chng trnh MATLAB
ny gii s cc bi ton tng t.
8.1. BI TON LAPLACE 1 CHIU

8.1.1 Bi ton
Tm hm s u(x) trn [0, 1] tha mn

= =
e =
. ) 1 ( , ) 0 (
], 1 , 0 [ ), ( ) ( ' '
1 0
a u a u
x x f x u

8.1.2 Phn r bi ton
Cho , 1/
+
e = = A N Z h N x . Ta chia on [0, 1] thnh N on di h bi
N+1 im
( 1)
i
x i h = , 1,2,,, 1 i N = + .
Ta s tnh xp x
1 1
[ ( ),..., ( )]
+
=
T
N
U u x u x . C hai trng hp
Trng hp im bin. Vi 1, 1 i i N = = + ta c ngay
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 173
1 0 1 1
( ) , ( ) .
+
= =
N
u x a u x a
Vy
0 1
(1) , ( 1) . = + = U a U N a
Trng hp im trong. Vi 2, = i N , ta s dng cng thc xp x
2
( ) 2 ( ) ( )
''( )
u x h u x u x h
u x
h
+ +
~ .
v thu c
2
1 1
( ) 2 ( ) ( ) ( )
+
+ ~
i i i i
u x u x u x f x h .
Vy
2
( 1) 2 ( ) ( 1) ( ) + + =
i
U i U i U i f x h .
Tm li, ta c AU b = ,
trong
0
2
2
2
3
2
1 0 ... 0
( )
1 -2 1 0 ... 0
0 1 -2 1 0 ... 0 ( )
A= ,
...
...
0 ... 0 1 -2 1
( )
0 ... 0 1
| |
|
|
|
=
|
|
|
|
|
\ .
N
a
f x h
f x h
b
f x h
1
| |
|
|
|
|
|
|
|
|
\ .
a
.
H phng trnh ny c nghim duy nht
1
U A b

= .
CHNG TRNH MATLAB:
Xt bi ton
2
''( ) sin( ), [0,1],
(0) 0, (1) 0.
t t = e

= =

u x x x
u u

Phng trnh ny c nghim chnh xc l ( ) sin( ) t =
ex
u x x . Chng trnh
di y s gii xp x phng trnh trn bng cch phn r vi N=20 v so snh
vi nghim chnh xc.

Chng trnh 8.1: Cc file di y c trong th mc laplace1d.
% file f.m
function a=f(x);
a=-pi^2*sin(pi*x); % Tao ham f.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 174
% file uex.m
% Giai chinh xac U.
function a=uex(x);
a=sin(pi*x); % Tao ham uex.

% file laplace1d.m
% Chuong trinh giai phuong trinh Laplace mot chieu.
clear all % Xoa tat ca cac gia tri cu.
N=20; % Chia doan [0, 1] thanh 20 doan.
h=1/N; % Khoang cach giua hai so (hay buoc nhay)
a0=0;
a1=0; % Gia tri bien.
X=[0:N]*h; % Tao N+1=21 diem chia.

% Tao ma tran A. Dau tien tra A ve ma tran zeros (N+1)x(N+1), sau do se % lan
luot gan cac vi tri dau, cuoi la 1 va cac gia tri con lai tu vong lap for.
A=zeros(N+1,N+1);
A(1,1)=1;
A(N+1,N+1)=1;
for i=2:N
A(i,i-1)=1;
A(i,i)=-2;
A(i,i+1)=1;
end
% Tao ma tran b. Tuong tu voi tao ma tran A.
b=zeros(N+1,1);
b(1)=a0;
b(N+1)=a1;
for i=2:N
b(i)=f(X(i))*h^2;
end
% Giai he AU=b.
U=A\b; % Giai so U.
% Giai chinh xac Uex.
Uex=zeros(N+1,1);
for i=1:(N+1)
Uex(i)=uex(X(i));
end;
% Ve do thi cua U va Uex tren cung mot hinh.
plot(X,U,'b',X,Uex,'r');
xlabel('x');
legend('U','Uex',-1);
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 175
title('Hinh 8.1. Giai so (mau xanh) va giai chinh xac (mau do)'.);

% Tinh sai so; err2: la sai so trong L^2 va errmax la sai so trong L^(vo cung)
disp('error in norm L^2 and in norm sup') % Hien thong bao trong ( ).
err2=norm(U-Uex)/sqrt(N+1)
errmax=norm(U-Uex,inf)

Kt qu, chy file laplace1d.m.

Sai s trong chun L^2 v trong chun sup l err2 = 0.0014, errmax =0.0021.

8.2. BI TON PARABOLIC MT CHIU

8.2.1 Bi ton
Tm hm s u(x, t) trn [0,1] [0, ] T tha mn
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 176
( )
( ) | |
2
2
0
1
2
, , in ( , ) (0,1) (0, ),
( , 0) , 0, 1 ,
(0, ) (t), 0,
(1, ) ( ), 0.
c c
= + e

c c

= e

= >

= >

u u
a f x t x t T
t x
u x u x x
u t g t
u t g t t

8.2.2 Phn r bi ton
Cho , , 1/ , /
+
e = = A = = A M N Z h N x k T M t . Trn [0,1] ly N+1 im
( 1)
i
x i h = , 1, 1 = + i N , v trn [0, T] ly M+1 im ( 1)
r
t r k = , 1, 1 = + r M .
Ta s tnh xp x
T
1 2 N+1
[ ( , ), ( , ),..., ( , )] =
r r r r
U u x t u x t u x t .
Gi s c
1 r
U , ta tnh
r
U . K kiu: ( )
( , )
r i r
U i u x t =
Ch l
1
U c cho t iu kin u, ( ) ( )
1 0
, 1 1. = s s +
i
U i u x i N
C hai trng hp
Trng hp im bin. Vi 1, 1 i i N = = + , ta c ngay
1 1 1 2
( , ) ( ), ( , ) ( )
+
= =
r r N r r
u x t g t u x t g t .
Vy ( ) ( ) ( ) ( )
1 2
1 , 1 , 2 1. = + = s s +
r r r r
U g t U N g t j M
Trng hp im trong. Vi 2, = i N , ta s dng cng thc xp x
( , ) ( , )
( , )
c
~
c
u u x t u x t k
x t
t k
,
2
2 2
( , ) 2 ( , ) ( , )
( , )
c + +
~
c
u u x h t u x t u x h t
x t
x h
.
Suy ra
( )
2
( , ) ( , ) ( , ) 2 ( , ) ( , )
,
u x t u x t k u x h t u x t u x h t
a f x t
k h
+ +
~ + .
Nhn hai v cho
2
h v chuyn v ta c
( ) ( ) ( ) ( ) ( )
2 2
2
, 2 , , , ,
h h
au x h t a u x t au x h t h f x t u x t k
k k
| |
+ + + ~ +
|
\ .
.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 177

( ) ( ) ( ) ( ) ( )
2 2
2
1 1 1
, 2 , , , ,
i r i r i r i r i r
h h
au x t a u x t au x t h f x t u x t
k k
+
| |
+ + ~ +
|
\ .
.
Hay, vi
2
/ 2 = + c h k a ,

( ) ( ) ( ) ( ) ( )
2
2
1
1 1 , .
r r r i r r
h
aU i cU i aU i h f x t U i
k

+ + ~ +
Tm li ta c :
r r
AU b = hay AU b = . H c nghim duy nht:
1
U A b

= .
1 0 ... 0
- - 0 ... 0
0 - - 0 ... 0
A=
...
0 ... 0 - -
0 ... 0 1
| |
|
|
|
|
|
|
|
|
\ .
a c a
a c a
a c a
,
1
2
2
2 1
2
2
1
2
( )
( , ) (2)
...
( , ) ( )
( )

| |
|
|
+
|
|
=
|
|
+
|
|
|
\ .
r
r r
r
N r r
r
g t
h
f x t h U
k
b
h
f x t h U N
k
g t
.
CHNG TRNH MATLAB:
Xt bi ton c th
( ) | |
in ( , ) (0,1) (0, ),
( , 0) sin , 0, 1 ,
(0, ) (1, ) 0, 0.
t
= e

= e

= = >

t xx
u u x t T
u x x x
u t u t t

Phng trnh ny c nghim chnh xc l
2
( , ) sin( )
t
t

=
ex
u x t e x . Chng
trnh di y gii s phng trnh trn vi T=0.1, bng cch phn r vi
1/ 20, 1/100 A = A = x t .
Chng trnh 8.2: Cc file di y c trong th mc Heat1d.
% file f.m.
function a=f(x,t);
a=0; % Tao ham f(x,t).
% Dieu kien dau (file u0.m).
function a=u0(x);
a=sin(pi*x); % Tao ham f(x,t).
% Dieu kien bien trai (file g1.m).
function a=g1(t);
a=0; % Tao ham g1(t).
% Dieu kien bien trai (file g2.m).
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 178
function a=g2(t);
a=0; % Tao ham g2(t).
% Nghiem chinh xac (file uex.m).
function a=uex(x);
a=exp(-pi^2*t)*sin(pi*x); % Tao ham uex(x,t).
% Chuong trinh giai phuong trinh Parabolic 1d.
% Duoi day la file heat1d.m.
clear all;
T=0.1;
M=10; % Chia khoang thoi gian thanh 10 khoang.
k=T/M; % Khoang cach giua hai thoi diem lien tiep .
N=20; % Chia khoang khong gian thanh 20 khoang.
h=1/N; % Khoang cach giua hai diem lien tiep (buoc nhay).
X=[0:N]*h; % Luoi khong gian.
R=[0:M]*k; % Luoi thoi gian.
a=1; % He so trong pt dau.
c=h^2/k+2*a;
% Tao vecto dieu kien dau.
U=zeros(N+1,1);
for i=1:(N+1)
U(i)=u0(X(i));
end
% May tinh giai so U tai t=T.
for r=2:(M+1)
% Tao ma tran A va vector b
A=zeros(N+1,N+1);
b=zeros(N+1,1);
A(1,1)=1;
b(1)=g1(R(r));
A(N+1,N+1)=1;
b(N+1)=g2(R(r));
for i=2:N
A(i,i)=c;
A(i,i-1)=-a;
A(i,i+1)=-a;
b(i)=f(X(i),R(r))*h^2+U(i)*h^2/k; % Giai U tai t=R(r-1).
end
%solve AU=b
U=A\b; % Giai U tai t=R(r).
end
% Giai chinh xac Uex.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 179
Uex=zeros(N+1,1);
for i=1:(N+1)
Uex(i)=uex(X(i),T);
end;
% Ve do thi giai so va giai chinh xac tren cung mot hinh.
plot(X,U,'b',X,Uex,'r');
xlabel('x');
title(' Hinh 8.2a. Giai so (mau xanh) va giai chinh xac (mau do).');
legend('U','Uex',-1); % Dua ghi chu vao do thi.

% Tinh cac sai so: err2 trong L^2 va errmax trong L^(vo cung).
disp('Sai so trong chuan L^2 va trong chuan sup')
err2=norm(U-Uex)/sqrt(N+1)
errmax=norm(U-Uex,inf)

Kt qu chy file heat1d.m trong th mc Heat1d.

Sai s trong chun L^2 v trong chun sup l err2 =0.0125, errmax =0.0182.

Cc bi ton tng t ta c th s dng chng trnh ny gii, ch cn
thay th cc d kin cho ph hp vi u bi. C th, xt bi ton
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 180
2
(1 4 ) sin(2 ) in ( , ) (0,1) (0,1),
( , ) 0 on ( , ) [0,1] {0,1},
( , 0) sin(2 ) on [0,1].
t t
t
= + + e

= e

t
t xx
u u e x x t
u x t x t
u x x

Phng trnh ny c nghim chnh xc l ( , ) sin(2 )
t
ex
u t x e x t = . Hy tnh xp
x (0.1, ) u x phng trnh trn bng cch phn r vi 1/ 20, 1/100 A = A = x t . Dng
chng trnh 8.2 gii, ta gi nguyn on chng trnh gii phng trnh
Parabolic 1d (tc l gi nguyn file heat1d.m) v thay i cng thc tnh hm cho
ph hp vi bi ton.
Kt qu chy file heat1d.m trong th mc Heat1d-1.

Sai s trong chun L^2 v trong chun sup l err2=0.0060, errmax=0.0087.
Chng trnh chi tit xin xem trong th mc Heat1d-1.
Cc file to hm ca bi ton ny c vit nh sau
% file f.m.
function a=f(x,t);
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 181
a=(1+4*pi^2)*exp(t)*sin(2*pi*x); % Tao ham f(x,t).
% Dieu kien dau (file u0.m).
function a=u0(x);
a=sin(2*pi*x); % Tao ham f(x,t).
% Dieu kien bien trai (file g1.m).
function a=g1(t);
a=0; % Tao ham g1(t).
% Dieu kien bien trai (file g2.m).
function a=g2(t);
a=0; % Tao ham g2(t).
% Nghiem chinh xac (file uex.m).
function a=uex(x);
a=exp(t)*sin(2*pi*x); % Tao ham uex.
Gi nguyn file heat1d.m.

8.3. BC HI T V IU KIN BIN NEUMANN CA BI
TON MT CHIU

8.3.1 Bc hi t
By gi ta quan tm n sai s gia li gii s v li gii chnh xc. Thng
thng sai s ny c tnh theo chun
2
L hoc

L . Cu hi l s hi t ca sai s
v 0 ph thuc th no ti cc mesh-sizes 1/ = = A h N x v / = = A k T M t ? Trong
hu ht cc trng hp, ta c:
- Bi ton trong 8.1.1 c bc hi t l
2
( ) O h , trong
2 2
( ) const. s O h h khi
0 h . L do l ta dng cng thc xp x
2
( ) 2 ( ) ( )
''( )
u x h u x u x h
u x
h
+ +
~ .
- Bi ton trong 8.2.1 c bc hi t l
2
( ax{ , }) O m k h . L do l ta s dng
hai xp x
( , ) ( , )
( , )
c
~
c
u u x t u x t k
x t
t k
,
2
2 2
( , ) 2 ( , ) ( , )
( , )
c + +
~
c
u u x h t u x t u x h t
x t
x h
.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 182
Trong xp x th nht c bc ( ) O k , xp x th hai c bc
2
( ) O h . Nh
vy, ta nn chn
2
= k ch , vi c l hng s dng khng qu ln, bc hi t
cng l ) (
2
h O .
- Kim tra bc hi t bng MATLAB
Hm s s(h) thuc
2
( ) O h ngha l:
2
( ) const. s s h h khi 0 h .
iu ny tng ng vi: ln(| ( ) |) 2ln( ) onst > + s h h c khi 0 h .
y cc du c thm vo thu c cc s dng. Ta c th kim tra
bt ng thc th hai bng cch v th ca ln( ( ) ) s h theo ln( ) h khi 0 h .
Nu th ny c dng ng thng th h s gc ca ng thng chnh l h s
hi t (xem hnh v minh ha, Hnh 8.3a.)

8.3.2 iu kin bin Neumann
Ta xt bi ton trong 8.1.1 vi iu kin bin phc tp hn
0 1
''( ) ( ), [0,1],
'(0) , (1) .
u x f x x
u a u a
= e

= =


Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 183
Khi , ta cn c s iu chnh xy dng ma trn A v vector b. Ch
khc bit l ti im 0
1
= x ta phi s dng mt cng thc xp x. Ta c hai cch
lm.
Cch 1. Ta c th s dng xp x n gin (Taylor bc 1)
2 1 1 0
( ) ( ) '( ) u x u x u x a h ~ = .
Khi ,
0
2
2
2
3
-1 1 ... 0
( )
1 -2 1 0 ... 0
0 1 -2 1 0 ... 0 ( )
A= ,
... ...
0 ... 0 1 -2 1
( )
0 ... 0 1
N
a h
f x h
f x h
b
f x
| |
|
|
|
=
|
|
|
|
|
\ .
2
1
h
a
| |
|
|
|
|
|
|
|
|
\ .

Tuy nhin, cch lm ny cho bc hi t ch l ) (h O .
Cch 2. Dng khai trin Taylor bc 2 ta c
2 2
2
2 1 1 1 0 1
( ) ( ) '( ) ''( ) ( ) ( ) .
2 2
= + + ~ +
h h
u x u x u x h u x O h a h f x .
Vy
2
0 1
2
2
3
( )
-1 1 ... 0
2
1 -2 1 0 ... 0
( )
0 1 -2 1 0 ... 0
( ) A= ,
...
0 ... 0 1 -2 1
0 ... 0 1
h
a h f x
f x h
f x h b
+
| |
|
|
|
=
|
|
|
|
|
\ .
2
2
1
...
( )
N
f x h
a
| |
|
|
|
|
|
|
|
|
|
\ .
.
Cch lm ny cho bc hi t l
2
( ) O h .
CHNG TRNH MATLAB :
Xt phng trnh sau trn (0,1)
2
'' (1 ) cos( ),
(0) 1, (1) 1.
u u x
u u
t t = +

= =


Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 184
- Vit hm solve.m nhn d liu N, gii xp x bng cch phn r ng vi
1/ x N A = , tr v li gii xp x v sai s (chun sup) vi li gii chnh xc (l
os( x) c t ).
- Cho N=10. V th li gii s v li gii chnh xc trn cng 1 hnh v, v
tnh sai s (trong chun sup)
- Cho N=10, 20, 30, 40, 50, v th cc sai s kim tra bc hi t.
Chng ti trnh by cch phn r bi ton v phn chng trnh kim tra bc
hi t (v Hnh 8.3a v Hnh 8.3b). Chng trnh y xin xem trong th mc
bachoitu1d.
Phn r bi ton. Cho , 1/
+
e = = A N Z h N x . Ta chia on [0,1] thnh N
on di h bi N+1 im ( 1)
i
x i h = , 1 , , , 2 , 1 + = N i .
Ta s tnh xp x
1 1
[ ( ),..., ( )]
+
=
T
N
U u x u x . K hiu: ( ) ( )
i
U i u x = .
Trng hp im bin. Vi 1, 1 i i N = = + ta c ngay
1 0 1 1
( ) , ( ) .
+
= =
N
u x a u x a
Vy
0 1
(1) , ( 1) . = + = U a U N a
Trng hp im trong. Vi 2, i N = , ta s dng cng thc xp x
2
( ) 2 ( ) ( )
''( )
u x h u x u x h
u x
h
+ +
~
Suy ra,
2
2
( ) (2 ) ( ) ( )
( ) ''( ) ( )
+ + +
~ =
u x h h u x u x h
u x u x f x
h

v thu c
2 2
1 1
( ) (2 ) ( ) ( ) ( )
+
+ + ~
i i i i
u x h u x u x f x h .
Vy
2 2
( 1) (2 ) ( ) ( 1) ( ) + + + =
i
U i h U i U i f x h .
hay
2 2
( 1) (2 ) ( ) ( 1) ( ) + + + =
i
U i h U i U i f x h
Tm li, ta c
b AU = ,
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 185
0
2
2
2
3
2
1 0 ... 0
( )
1 1 0 ... 0
0 1 1 0 ... 0 ( )
A= ,
... ...
0 ... 0 1 1
( )
0 ... 0 1
N
a
f x h
f x h
b
f x h

| |
|

|
|

=
|
|
|

|
|
\ .
1
a
| |
|
|
|
|
|
|
|
|
\ .
.
Trong , a0=1, a1= -1,
2
(2 ) h = + v
2
( ) (1 ) os( x) f x c t t = + .
H phng trnh ny c nghim duy nht
1
U A b

= .
Chng trnh 8.3 :
Chng trnh y xin xem trong th mc bachoitu1d. y chng ti
ch trnh by chng trnh to file plotsame.m
% Chuong trinh kiem tra bac hoi tu.
% Tao file plotsame.m
clear all
global a0
global a1 % a0, a1 la bien toan cuc.
a0=1; a1=-1;
% Giai so doi voi N=10
N=10;
X=[0:N]*1/N; % Tao luoi diem.
[U,errmax]=solve(N); % Giai so U va sai so, nam trong file solve.m.
Uex=zeros(N+1,1); % Giai chinh xac.
for i=1:(N+1)
Uex(i)=uex(X(i));
end
figure(1)
plot(X,U,'b',X,Uex,'r');
xlabel('x');
title('Hinh 8.3b. Giai so voi N=10 (mau xanh) va giai chinh xac (mau do).');
disp('error in sup norm');
errmax
pause % Tam dung, cho den khi go phim bat ky.
% Tinh cac sai so voi N=10, 20, 30, 40, 50.
M=5;
numN=[1:M]*10;
err=zeros(1,M);
for i=1:5
[U,err(i)]=solve(numN(i));
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 186
end
% Do thi error VS mesh-size
figure(2)
plot(log(numN),-log(err))
xlabel('-ln(h)');
ylabel('-ln(error)');
title('Hinh 8.3a. Day la do thi cua -ln(error(h)) VS -ln(h).');

Kt qu chy file plotsame.m ta c Hnh 8.3a. v Hnh 8.3b.


Sai s errmax =0.0017.
Cch x l iu kin bin Neumann cho bi ton Parabolic cng tng t.
Ngoi ra, trong bi ton Parabolic nu t cng thc xp x
( )
2
( , ) ( , ) ( , ) 2 ( , ) ( , )
,
u x t u x t k u x h t u x t u x h t
a f x t
k h
+ +
~ + .
Nhn hai v k ri chuyn v, ta c
( ) ( ) ( ) ( ) ( )
2 2 2
2
, 1 , , , ,
ka ka ka
u x h t u x t u x h t kf x t u x t k
h h h
| |
+ + + ~ +
|
\ .
.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 187
Hay,

( ) ( ) ( ) ( ) ( ) ( )
2
1 1 1
, 1 2 , , , , , /
i r i r i r i r i r
cu x t c u x t cu x t kf x t u x t c ka h
+
+ + ~ + = .
Vy,
( ) ( ) ( ) ( ) ( ) ( )
1
1 1 2 1 , .
r r r i r r
cU i c U i cU i kf x t U i

+ + + ~ +
Tm li ta c :
r r
AU b = hay AU b = . H c nghim duy nht
1
U A b

= .
trong
2
/ = c ka h ,
1 0 0 ... 0
1 2 0 ... 0
0 1 2 0 ... 0
...
0 ... 0 ... 1 2
0 ... 0 0 1
| |
|
+
|
|
+
|
|
|
+
|
|
\ .
c c c
c c c
c c c
,
1
2 1
1
2
( )
( , ) (2)
...
( , ) ( )
( )

| |
|
+
|
|
=
|
+
|
|
\ .
r
r r
r
N r r
r
g t
f x t k U
b
f x t k U N
g t
.

Khi trong chng trnh 8.2 ta ch cn thay on chng trnh to ma trn
A v vector b nh sau
c=a*k/h/h;
% May tinh giai so U tai t=T.
for r=2:(M+1)
% Tao ma tran A va vector b
A=zeros(N+1,N+1);
b=zeros(N+1,1);
A(1,1)=1; b(1)=g1(R(r)); A(N+1,N+1)=1;b(N+1)=g2(R(r));
for i=2:N
A(i,i)=1+2*c; A(i,i-1)=-c; A(i,i+1)=-c;
b(i)=f(X(i),R(r))*k+U(i);end % Giai U tai t=R(r-1).
%solve AU=b
U=A\b; % Giai U tai t=R(r).
end
Chng trnh chi tit xin xem trong th mc Heat1d-2 v Heat1d-3.
8.4. BI TON LAPLACE 2 CHIU

8.4.1 Bi ton
Tm hm s u(x,y) trn (0,1) (0,1) O= tha mn
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 188
2 2
2 2
( , ) in ,
( , ) on .
c c
+ = O

c c

= cO

u u
f x y
x y
u g x y

8.4.2 Phn r bi ton
Cho , 1/ N Z h N
+
e = . Ta chia O thnh cc vung cnh h bi
2
( 1) N +
im
(( 1) , ( 1 ) ) = +
ij
x j h N i h , , 1,2,..., 1 i j N = + .
Ta s tnh xp x
ij ij
( ( )) = U u x . C hai im quan trng,
- nh li ch s. vit li U nh mt vector, ta cn mt song nh
2
{1, 2,..., 1} {1, 2,..., 1} {1, 2,..., ( 1) } + + + N N N .
Mt cch n gin l s dng
change(N, , )=( 1)( 1) + + i j N i j .
Ghi ch. Cch nh s ny tng ng vi th t t in , tc l
(1,1) (1, 2) ... (1, 1) (2,1) (2, 2) ... ( 1, 1) < < < + < < < < + + N N N .
Mt khc, ta cng c th s dng bt c song nh no khc. Ta s vit li
bi ton di dng : AU b = , trong A l ma trn
2 2
( 1) ( 1) N N + + .
Minh ha v tr cc im
ij
x trn hnh vung [0,1] [0,1]
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 189

Minh ha cch nh s li

- p dng cng thc Taylor. Vi
ij
x eO, ta c
2
1, 1, , 1 , 1
( ) ( ) ( ) ( ) 4 ( ) ( )
i j i j i j i j ij ij
u x u x u x u x u x u x h
+ +
+ + + ~ A .
CHNG TRNH MATLAB:
Xt bi ton



x
11
x
12
x
13
x
14
x
21
x
22
x
23
x
24
x
31
x
32
x
33
x
34
x
41
x
42
x
43
x
44



1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 190
2 2
2
2 2
2 sin( )sin( ), 0 , 1,
( , ) 0, 0,1 0, 1.
t t t
c c
+ = < <

c c

= = =

u u
x y x y
x y
u x y x or y

(li gii chnh xc l
ex
( , ) sin( )sin( ). t t = u x y x x )
Chng trnh 8.4:
% file f.m ; Tao ham f(x, y).
function a=f(x,y)
a=-2*pi^2*sin(pi*x)*sin(pi*y);
% file uex.m ; tao ham uex(x,y), giai chinh xac.
function a=uex(x,y)
a=sin(pi*x)*sin(pi*y);
% file change.m; tao ham change(N,i,j), danh lai chi so diem.
function num=change(N,i,j)
num=(N+1)*(i-1)+j;
% Chuong trinh tao file laplace2d.m.
clear all;
N=20;h=1/N;
% Tao luoi.
X=[0:N]*h; Y=1-X;

% Tao ma tran A va vector b.
A=zeros((N+1)^2,(N+1)^2);
b=zeros((N+1)^2,1);
for i=1:(N+1)
for j=1:(N+1)
id=change(N,i,j); % chi so cua diem (i,j)
idlelf=change(N,i,j-1); % chi so cua diem nam ben trai diem (i,j)
idright=change(N,i,j+1); % chi so cua diem nam ben phai (i,j)
idup=change(i-1,j); % chi so cua diem nam tren (i,j)
iddown=change(N,i+1,j); % chi so cuadiem nam duoi (i,j)
if ((i>1)&&(i<N+1)&&(j>1)&&(j<N+1))
A(id,id)=-4;
A(id,idlelf)=1;
A(id,idright)=1;
A(id,idup)=1;
A(id,iddown)=1;
b(id)=f(X(j),Y(i))*h^2;
else
A(id,id)=1;
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 191
b(id)=g(X(j),Y(i)); end
end
end

% Day la phep giai so
U=A\b; % Giai he AU=b

% Ve do thi cua loi giai so.
% Dong nhat vector U voi matran UU thong qua cach danh lai chi so.
UU=zeros(N+1,N+1);
for i=1:(N+1)
for j=1:(N+1)
UU(i,j)=U(change(N,i,j)); end
end
figure(1)
surfc(X,Y,UU);
xlabel('x');
ylabel('y');
title('Hinh 8.4a. Day la phep giai so.')
pause
% Ve do thi cua loi giai chinh xac.
% Tinh toan ma tran UUex tuong ung voi phep giai chinh xac.
UUex=zeros(N+1,N+1);
for i=1:(N+1)
for j=1:(N+1)
UUex(i,j)=uex(X(j),Y(i)); end
end
figure(2)
surfc(X,Y,UUex);
xlabel('x');
ylabel('y');
title('Hinh 8.4b. Day la phep giai chinh xac.');
% Tinh sai so.
% Tinh toan ma tran Uex tuong ung voi phep giai chinh xac.
Uex=zeros((N+1)^2,1);
for i=1:(N+1)
for j=1:(N+1)
Uex(change(N,i,j))=UUex(i,j); end
end
disp('error in norm sup')
errmax=norm(U-Uex,inf)

Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 192
Ch thch
- Minh ha cho cc ch s
idup

idleft id idright

iddown
- Dng A(id, .) ca ma trn A tng ng vi phng trnh phn r ti im
( , ) id i j , tc l ti im
ij
x vi change( , , ) = N i j id .
Kt qu, chy file laplace2.m gii bi ton trn vi N=20 l Hnh 8.4a
v Hnh 8.4b; vi sai s trong chun sup l errmax =0.0021.
Trong chng trnh 8.4 ny ta ch cn thay on chng trnh to file f.m
v uex.m th s c li gii ca bi ton mi vi th l Hnh 8.4c v Hnh
8.4d. Li gii chi tit xin xem trong th mc Laplace2d-1.
Bi ton c xt y l
2 2
2 2 2 2
2 2
16cos ( ) 8 4sin( ) 48 24, 0 , 1,
( , ) 0, 0,1 0, 1.
t t t t t
c c
+ = + + < <

c c

= = =

u u
x x y x y
x y
u x y x or y

(li gii chnh xc l
2 3
ex
( , ) (2sin( ) 1) (2 1) u x y x y t = +

% file f.m ; Tao ham f(x, y).
function a=f(x,y)
a=16*cos(pi*x)^2*pi^2-8*pi^2+4*sin(pi*x)*pi^2+48*y-24;
% file uex.m ; tao ham uex(x,y), giai chinh xac.
function a=uex(x,y)
a=(2*sin(pi*x)-1)^2+(2*y-1)^3;
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 193


Sai s trong chun sup l errmax =0.0021.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 194


Sai s trong chun sup l errmax =0.0168.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 195
8.5. BI TON PARABOLIC 2 CHIU
8.5.1 Bi ton
Tm hm s u(x,y,t) trn [0,T] O , (0,1) (0,1) O= , tha mn
0
( , , ), ( , , ) [0, ],
( , , ) ( , , ), [0, ],
( , , 0) ( , ). .
= A + eO

= cO

= O

t
u a u f x y t in x y t T
u x y t g x y t on T
u x y u x y on

8.5.2 Phn r bi ton
Khng gim tnh tng qut, ta gii bi ton trn vi a=1.
Cho , , 1/ , / M N Z h N k T M
+
e = = . Trn hnh vung O ly
2
) 1 ( + N im
( ) ( ) ( ) { }
, 1 , 1 , 1 , 1.
i j
x y i h j h i j N = s s + Trn [0,T] ly (M+1) im
( 1) , 1, 2,..., 1.
r
t r k r M = = + Ta s s tnh xp x
{ }
i
1 i, j N+1
( , , )
s s
=
r j r
U u x y t . K
hiu
, , i
( , , ) =
i j r j r
U u x y t . Khi , nghim xp x
r
U c vit di dng ma trn
(N+1)x(N+1) l

1,1, 1, 1,
1,1, 1, 1,
r N r
r
N r N N r
U U
U
U U
+
+ + +
| |
|
=
|
|
\ .
.
iu kin u ( ) ( , , 0) 0 , , 0 , 1 = s s u x y u x y x y , vi
( )
,
0 0 ,
i j i j
u u x y = ,

1,1 1, 1
1
1,1 1, 1
0 0
0 0
N
N N N
u u
U
u u
+
+ + +
| |
|
=
|
|
\ .
.
Ta dng cng thc xp x
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 196
( , , ) ( , , ) +
~
t
u x y t k u x y t
u
k
,
2
( , , ) 2 ( , , ) ( , , ) + +
~
xx
u x h y t u x y t u x h y t
u
h
,
2
( , , ) 2 ( , , ) ( , , ) + +
~
yy
u x y h t u x y t u x y h t
u
h
.
Khi nh s li bi quy tc ( ) change , , =( 1)( 1) + + N i j N i j , th

( )
, , 1 , 1
ij i j
x x y i j N = s s + v
ij ij
( ( , )) =
r r
U u x t .
Khi , vi eO
ij
x ta c
1
( , ) ( , )
( , )

~
ij r ij r
t ij r
u x t u x t
u x t
k
,
v
2
1, 1, , 1 , 1
( , ) ( , ) ( , ) ( , ) 4 ( , ) ( , )
+ +
+ + + ~ A
i j r i j r i j r i j r ij r ij r
u x t u x t u x t u x t u x t u x t h ,
suy ra
( )
2
1, 1, , 1 , 1
2 2
1
/ 4 ( , ) ( , ) ( , ) ( , ) ( , )
( , ) ( , ). / .
+ +

+
~ +
ij r i j r i j r i j r i j r
ij r ij r
h k u x t u x t u x t u x t u x t
f x t h u x t h k


Nh vy bi ton c vit li di dng AU b = .

CHNG TRNH MATLAB:
Gii s u(x,y,1) ca bi ton:
2
(1 2 ) sin( )sin( ), ( , , ) [0, ],
( , , ) 0, [0, ],
( , , 0) sin( )sin( ). .
t t t
t t
A = + eO

= cO

= O

t
t
u u e x y in x y t T
u x y t on T
u x y x y on

Li gii chnh xc l
ex
( , , ) sin( )sin( ) t t =
t
u x y t e x y .

Chng trnh 8.5: Cc file c trong th mc Heat2d
% file f.m ; Tao ham f(x,y,t).
function a=f(x,y,t)
a=(1+2*pi^2)*exp(t)*sin(pi*x)*sin(pi*y);
% file uex.m; Tao ham chinh xac .
function a=uex(x,y,t)
a=exp(t)*sin(pi*x)*sin(pi*y);
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 197
% file u0.m; tao ham u0. Day la dieu kien dau.
function a=u0(x,y)
a=sin(pi*x)*sin(pi*y);
% file g.m.
function a=g(x,y,t)
a=0;
% file change.m. Viet lai chi so diem.
function num=change(N,i,j)
num=(N+1)*(i-1)+j;

% Chuong trinh chinh giai phuong trinh Parabolic hai chieu.
% file heat2d.m
clear all;
T=1; M=100; k=T/M;
N=10; h=1/N;
% Tao luoi.
X=[0:N]*h; Y=[0:N]*h; R=[0:M]*k;
% Dieu kien dau, tao U tai t=0.
U=zeros((N+1)^2,1);
for i=1:(N+1)
for j=1:(N+1)
id=change(N,i,j);
U(id)=u0(X(j),Y(i));
end
end
% Tinh U tai t=T
for r=1:M
% Tao ma tran A va vector b.
A=zeros((N+1)^2,(N+1)^2);
b=zeros((N+1)^2,1);
for i=1:(N+1)
for j=1:(N+1)
id=change(N,i,j); % chi so cua diem (i,j)
idlelf=change(N,i,j-1); % chi so cua diem nam ben trai diem (i,j)
idright=change(N,i,j+1); % chi so cua diem nam ben phai (i,j)
idup=change(N,i-1,j); % chi so cua diem nam tren (i,j)
iddown=change(N,i+1,j); % chi so cuadiem nam duoi (i,j)
if ((i>1)&&(i<N+1)&&(j>1)&&(j<N+1))
A(id,id)=h^2/k+4;
A(id,idlelf)=-1;
A(id,idright)=-1;
A(id,idup)=-1;
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 198
A(id,iddown)=-1;
b(id)=f(X(j),Y(i),R(r))*h^2+U(id)*h^2/k;
else
A(id,id)=1;
b(id)=uex(X(j),Y(i),R(r));
end
end
end

% Giai he AU=b.
U=A\b; %Day la phep giai U tai t=R(r).
end

% Tinh toan cac sai so.
Uex=zeros((N+1)^2,1);
for i=1:(N+1)
for j=1:(N+1)
id=change(N,i,j);
Uex(id)=uex(X(j),Y(i),T);
end
end
disp('error (in norm max)')
errmax=norm(U-Uex,inf)
% Ve cac do thi.
UU=zeros(N+1,N+1);
for i=1:(N+1)
for j=1:(N+1)
UU(i,j)=U(change(N,i,j));
end
end
figure(1)
surf(X,Y,UU);
axis([0 1 0 1 0 3])
hold on
title('Hinh 8.5a. Day la do thi cua phep giai so.')
hold off
disp('Vui long nhan phim bat ky de tiep tuc')
pause % Dung thuc thi chuong trinh cho den khi an phim bat ky.

% Tao ham gia tri dung de ve do thi.
UUex=zeros(N+1,N+1);
for i=1:(N+1)
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 199
for j=1:(N+1)
UUex(i,j)=Uex(change(N,i,j));
end
end
figure(2)
surf(X,Y,UUex);
axis([0 1 0 1 0 3])
xlabel('X');
ylabel('Y');
zlabel('Z');
hold on
title('Hnh 8.5b. Day la do thi cua phep giai chinh xac. ')
hold off
end

Kt qu chy file heat2d.m vi 1/10, 1/100 A = A = x t v gii ( , ,1) u x y .

Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 200

Sai s trong chun sup l errmax = 0.0052.
Hy thay i gi tr N, M c nhng kt qu gii s khc nhau.

Bi ton tng t sau cng gii s ( , ,1) u x y vi 1/10, 1/100 A = A = x t .

2
(1 5 ) sin(2 )sin( ),, ( , , ) [0, ],
( , , ) 0, [0, ],
( , , 0) sin(2 )sin( ). .
t t t
t t
A = + eO

= cO

= O

t
t
u u e x y in x y t T
u x y t on T
u x y x y on

C li gii chnh xc l
ex
( , , ) sin(2 )sin( ) t t =
t
u x y t e x y .
Ta ch cn thay i cc hm trong chng trnh 8.5 theo yu cu bi ton s
c kt qu . C th l cc hm f, u0 v uex.
function a=f(x,y,t); a=(1+2*pi^2)*exp(t)*sin(pi*x)*sin(pi*y);
function a=uex(x,y,t); a=exp(t)*sin(pi*x)*sin(pi*y);
function a=u0(x,y,t); a=sin(pi*x)*sin(pi*y);
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 201
Cc file c trong th mc Heat2d-1. Kt qu

Sai s trong chun sup l errmax =0.0722.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 202
8.6. BC HI T V IU KIN BIN NEUMANN CHO BI
TON HAI CHIU

- Tng t nh trng hp 1 chiu, trong trng hp 2 chiu bi ton trong
8.4.1 cng c bc hi t l ) (
2
h O v bi ton trong 8.5.1 c bc hi t l
2
( ax{ , }) O m k h .
- Xt bi ton trong 8.4.1 vi iu kin bin Neumann
0 1
1 2
in ,
on ,
on .
n

A = O

= I

c
= I
c
u f
u g
u
g

Trong
1 2
[0,1] {0,1}, {0,1} [0,1]. I = I = Khi , ta cn c s iu chnh
xy dng ma trn A v vector b. Ch khc bit l khi im
ij
x thuc bin
2
I . Ta
xt, chng hn khi
ij
x thuc {0} (0,1) .
, 1
1,
, 1

+
+
i j
ij i j
i j
x
x x
x

Phng trnh tng ng vi im
ij
x l g? Mt cch n gin, ta c th
dng xp x
1,
1
( ) ( )
( )
+

~
i j ij
ij
u x u x
g x
h
.
Tuy nhin, cch lm ny cho bc hi t ch l ) (h O . t c bc hi t
l
2
( ) O h , ta cn mt tnh ton tinh t hn. S dng cc xp x
2
2 2
1, 1 2
1
2
2 2
, 1 , 1 2
2
2 ( ) 2 ( )=2 ( ) ( ) ( ),
( ) ( ) 2 ( )= ( ) ( ),

+
+
c
+ +
c
c
+ +
c
i j ij ij ij
i j i j ij ij
u
u x u x g x h x h O h
u
u x u x u x x h O h

ta thu c
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 203
2 2
1, , 1 , 1 1
2 ( ) ( ) ( ) 4 ( )=2 ( ) ( ) ( )
+ +
+ + + A +
i j i j i j ij ij ij
u x u x u x u x g x h u x h O h .

Bi ton Parabolic ta cng lm tng t.

CHNG TRNH MATLAB :
Chng ti trnh by mt bi ton Laplace c x l iu kin bin Neumann.
Xt bi ton sau trn ( , ) (0,1) (0,1) x y eO=
2 2 2
3 2 2
2
3
(4 4 ) sin( ) (4 16 ) cos ( )
8 12 42 8 28,
( , 0) ( ,1) (2sin( ) 1) 1,
(1, ) (2 1) 1, (0, ) 4 .
t t t t
t
t
t
A = + +

+ + +

= = +

= + =
x
u u x x
y y y
u x u x x
u y y u y

Bi ton ny c li gii chnh xc l
2 3
ex
( , ) (2sin( ) 1) (2 1) u x y x y t = + ).
- Vi 1/ 30 h x = A = , chng ti gii bi ton theo hai cch xp x iu kin
bin Neumann ti bin { 0} x = .
- So snh 2 li gii s v li gii chnh xc: v hnh (v 3 hnh: Hinh 8.6a,
Hinh 8.6b v Hinh 8.6c) v tnh sai s (trong L

v
2
L ).
Di y chng ti trnh by phn chnh ca chng trnh. Li gii chi tit
xin xem trong th mc bachoitu2d.
Chng trnh 8.6:
% Loi giai so thu nhat.
% Tao ma tran A va vector b.
A=zeros((N+1)^2,(N+1)^2);
b=zeros((N+1)^2,1);
for i=1:(N+1)
for j=1:(N+1)
id=change(N,i,j);
idlelf=change(N,i,j-1);
idright=change(N,i,j+1);
idup=change(N,i-1,j);
iddown=change(N,i+1,j);
if ((i>1)&&(i<N+1)&&(j>1)&&(j<N+1))
A(id,id)=-4-h^2;
A(id,idlelf)=1;
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 204
A(id,idright)=1;
A(id,idup)=1;
A(id,iddown)=1;
b(id)=-f(X(j),Y(i))*h^2;
else if ((j==1)&&(i>1)&&(i<N+1))
A(id,id)=-1;
A(id,idright)=1;
b(id)=g(X(j),Y(i))*h;
% Day la cach xu ly dieu kien bien Neumann theo xap xi bac 1.
else
A(id,id)=1;
b(id)=uex(X(j),Y(i));
end
end
end
end
U1=A\b; % Giai he AU=b

% Loi giai so thu hai. Su khac biet la tai bien x=0.
j=1; % tuong duong voi x=0
for i=2:N
id=change(N,i,j);
idlelf=change(N,i,j-1);
idright=change(N,i,j+1);
idup=change(N,i-1,j);
iddown=change(N,i+1,j);
A(id,id)=-4-h^2;
A(id,idright)=2;
A(id,idup)=1;
A(id,iddown)=1;
b(id)=2*g(X(j),Y(i))*h-f(X(j),Y(i))*h^2;
% Day la cach xu ly dieu kien Neumann theo xap xi bac hai.
end
U2=A\b; % Giai he AU=b

Kt qu chy file bachoitu.m trong th mc bachoitu2d.

Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 205


Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 206

Sai s trong L^infinity v L^2 ca li gii s th nht l
errsup =0.4843 v err2 =0.1510.
Sai s trong L^infinity v L^2 ca li gii s th nht l
errsup =0.0071 v err2 =0.0029.

Nhn xt: Trong bi ny, li gii th nht xp x khng tt ti bin { 0} x = so vi
li gii xp x th hai.
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 207
KT LUN
1. NHN NH CHUNG
Trong lun vn ny, chng ti trnh by cc vn c bn ca Gii tch
s v Phng php tnh. Trong mi chng, mi mc chng ti u trnh by
chng trnh MATLAB gii s cc bi ton. Cc chng trnh MATLAB c
chng ti vit dng m, c ngha l ngi s dng c th chn la hoc b sung
phng trnh gii hay chn hm tnh cho ph hp vi yu cu thc t. Nh
vy vi lun vn ny, nu c kt hp a vo ging dy mn hc Gii tch s
hoc Phng php tnh trong cc trng i hc s gip cho cc mn hc ny tr
nn sinh ng v hiu qu hn rt nhiu so vi cch ging dy truyn thng. Bi
l tc ng c cu: Trm nghe khng bng mt thy, Mt hnh nh c gi tr hn
ngn li ni; m y, ngi hc c th thc hnh kim tra c th cc vn
mnh va hc mt cch trc tip bng MATLAB da trn c s l cc chng
trnh MATLAB ca chng ti trnh by trong lun vn ny. Ngoi ra, t cc
chng trnh MATLAB ca chng ti, nh ni ngi hc c th chn la hoc
b sung phng trnh gii hay chn hm tnh cho ph hp vi yu cu c th
ca tng bi ton, v cng c th da vo lp cc chng trnh MATLAB
tng t gii cc bi ton theo ring ca mnh. iu ny s gip nng cao
c hiu qu ging dy cho mn hc, pht huy tnh t hc, tnh ng dng v pht
trin t duy ca hc sinh, sinh vin; p ng yu cu ca B Gio Dc o To
v vic ng dng cng ngh thng tin vo ging dy trong cc trng hc v nng
cao nng lc dy v hc ton trong cc trng i hc hin nay.
Qua lun vn ny, ti thc s bt u lm quen vi cng vic c ti liu
khoa hc mt cch nghim tc v c h thng t s ch dn tn tnh ca Thy
NG C TRNG. Ti h thng li c cc vn c bn v Gii tch s,
tip cn c cc kin thc v MATLAB v lp trnh trong MATLAB, v t
Lun vn Thc s Ton hc Hng dn khoa hc: PGS.TS ng c Trng

Hc vin thc hin: Nguyn Vn Lm ti: GII S BNG MATLAB

Trang 208
iu chnh, b sung cc chng trnh MATLAB ph hp vi cu trc v mc
tiu ca lun vn ny; thy c tc dng rt tch cc ca vic ng dng cng
ngh thng tin vo hc tp v ging dy.
2. MT S HNG NGHIN CU TIP THEO
Ngoi nhng nhn nh trn, khi tm hiu v ni dung ca lun vn ny, ti
pht hin mt s vn c th tip tc nghin cu su hn. Chng hn nh
Nghin cu chuyn su cc vn v Gii tch s.
Lp trnh gii s phng trnh o hm ring bng cu trc hm
trong MATLAB.
Gii s phng trnh tch phn bng MATLAB.
Gii s phng trnh ton t bng MATLAB.
Vn dng kt hp ngn ng lp trnh C vi MATLAB trong gii s.

You might also like