Tải bản đầy đủ (.pdf) (122 trang)

Bài giảng: Phương pháp số, Phan Thị Hà

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.28 MB, 122 trang )

H C VI N CÔNG NGH B U CHÍNH VI N THÔNG
-------

-------

BÀI GI NG

PH

NG PHÁP S
Biên so n : Ths. PHAN TH HÀ
Ts. PHAN

NG C U

L u hành n i b

HÀ N I - 2006

CuuDuongThanCong.com

/>

Gi i thi u môn h c

GI I THI U MÔN H C
I. GI I THI U CHUNG
Ph ng pháp s là m t l nh v c c a toán h c chuyên nghiên c u các ph ng pháp gi i các
bài toán (ch y u là g n đúng) b ng cách d a trên nh ng d li u s c th và cho k t qu c ng
d i d ng s . Nói g n h n, ph ng pháp s nh b n thân tên g i c a nó, có ngh a là ph ng
pháp gi i các bài toán b ng nh ng con s c th .


Ngày nay ph n l n các công vi c tính toán đ u đ c th c hi n trên máy tính. Tuy v y th c
t ch ng t r ng, vi c áp d ng các thu t toán và ph ng pháp tính toán khác nhau có th cho t c
đ tính toán và đ chính xác r t khác nhau. L y ví d đ n gi n nh tính đ nh th c c a ma tr n
ch ng h n, n u tính tr c ti p theo đ nh ngh a thì vi c tính đ nh th c c a m t ma tr n vuông c p 25
c ng m t hàng tri u n m (ngay c v i máy tính hi n đ i nh t hi n nay); trong khi đó n u s d ng
ph ng pháp kh Gauss thì k t qu nh n đ c g n nh t c th i.
Nh v y, ph ng pháp s là công c không th thi u trong các công vi c c n th c hi n
nhi u tính toán v i t c đ tính toán nhanh và đ chính xác cao nh v t lý, đi n t vi n thông, ...
và d nhiên là t t c các ngành và m t l nh v c đ u c n đ n là công ngh thông tin.
Ph ng pháp s đ c nghiên c u t r t lâu và cho đ n nay nh ng thành t u đ t đ c là m t
kh i l ng ki n th c đ s đ c in trong nhi u tài li u sách, báo... Tuy nhiên, môn h c "Ph ng
pháp s " ch nh m cung c p nh ng ki n th c c n b n nh t v ph ng pháp s . V i l ng ki n
th c này sinh viên có th áp d ng vào gi i quy t nh ng bài toán thông th ng trong th c t và có
kh n ng t tìm hi u đ nâng cao ki n th c cho mình khi g p các v n đ ph c t p h n.
II. M C ÍCH
Môn h c ph ng pháp s cung c p cho sinh viên ki n th c c n b n nh t v m t s ph ng
pháp gi i g n đúng trên d li u s .
T o c s đ h c t t và nghiên c u các nghành khoa h c k thu t nói chung và Công ngh
thông tin nói riêng.
Góp ph n rèn luy n ph ng pháp suy lu n khoa h c, t duy logic, ph ng pháp nghiên c u
th c nghi m
Góp ph n xây d ng th gi i quan khoa h c và tác phong khoa h c c n thi t cho ng i k s
t ng lai.
III. PH M VI NGHIÊN C U
Nghiên c u m t s ph ng pháp c b n nh t c a ph ng pháp s , đ c ng d ng nhi u
trong th c t nh các ph ng pháp s trong đ i s tuy n tính, bài toán n i suy, tìm nghi m g n
đúng các ph ng trình phi tuy n, tính g n đúng đ o hàm và tích phân, gi i g n đúng m t s d ng
c a ph ng trình vi phân...
Tìm hi u các l nh v c ng d ng c a các ph ng pháp trong th c t .
Nghiên c u cách cài đ t các thu t toán trên máy tính.

3

CuuDuongThanCong.com

/>

Gi i thi u môn h c

IV. PH

NG PHÁP NGHIÊN C U:

h c t t môn h c này, sinh viên c n l u ý nh ng v n đ sau:
1. Ki n th c c n tr c:
- Sinh viên ph i có ki n th c c b n v toán h c cao c p.
- Thành th o ít nh t m t ngôn ng l p trình. c bi t trong cu n sách này đã s d ng ngôn
ng l p trình C đ mô t thu t toán, vì v y sinh viên ph i n m đ c ngôn ng l p trình C.
2. Thu th p đ y đ các tài li u:
Giáo trình Ph ng pháp s . Phan ng C u, Phan Th Hà, H c vi n Công ngh BCVT, 2002.
N u c n sinh viên nên tham kh o thêm:
- Gi i tích s . Ph m K Anh, nhà xu t b n đ i h c Qu c Gia Hà N i, 1966.
- Ph ng pháp tính. T V n nh, Nhà xu t b n Giáo d c - 1995.
- Ph ng Pháp tính. D ng Thu V , Nhà xu t b n Khoa h c và K thu t, 2001.
3. t ra m c tiêu, th i h n cho b n thân:
t ra các m c tiêu t m th i và th i h n cho b n thân và c g ng th c hi n chúng
Xây d ng m c tiêu trong ch ng trình nghiên c u.
4 Nghiên c u và n m nh ng ki n th c c t lõi:
Sinh viên nên đ c qua sách h ng d n h c t p tr c khi nghiên c u bài gi ng môn h c và
các tài li u tham kh o khác.
5. Tham gia đ y đ các bu i h ng d n h c t p:

Thông qua các bu i h ng d n h c t p, gi ng viên s giúp sinh viên n m đ c n i dung
t ng th c a môn h c và gi i đáp th c m c, đ ng th i sinh viên c ng có th trao đ i, th o lu n v i
nh ng sinh viên khác v n i dung bài h c.
6. Ch đ ng liên h v i b n h c và gi ng viên:
Cách đ n gi n nh t là tham d các di n dàn h c t p trên m ng Internet, qua đó có th trao
đ i tr c ti p các v n đ v ng m c v i gi ng viên ho c các b n h c khác đang online.
7. T ghi chép l i nh ng ý chính:
Vi c ghi chép l i nh ng ý chính là m t ho t đ ng tái hi n ki n th c, kinh nghi m cho th y
nó giúp ích r t nhi u cho vi c hình thành thói quen t h c và t duy nghiên c u.
8. H c đi đôi v i hành
H c lý thuy t đ n đâu th c hành làm bài t p ngay đ n đó đ hi u và n m ch c lý thuy t.
Nói chung cu i m i ch ng, sinh viên c n t tr l i các câu h i, bài t p. Hãy c g ng v ch ra
nh ng ý tr l i chính, t ng b c phát tri n thành câu tr l i hoàn thi n.
Liên h v i các môn h c khác và các v n đ th c t có liên quan đ hi u sâu h n ý ngh a
c a các ph ng pháp.
Cài đ t các thu t toán b ng nhi u cách khác nhau, có s d ng đ h a đ làm n i b t các đ c
tr ng và k t qu c a các thu t toán. Dùng đ th so sánh các ph ng pháp khác nhau cùng gi i
quy t m t bài toán, phân tích nh ng đi m y u đi m m nh c a các thu t toán. Khi cài đ t thu t
toán n u có gì v ng m c thì sinh viên có th tham kh o thêm ph n code c a toàn b ch ng
trình t ng ng đã đ c vi t b ng ngôn ng l p trình C trong tài li u: “Ph ng pháp s . Phan
ng C u, Phan Th Hà, H c vi n Công ngh BCVT, 2002”.
4

CuuDuongThanCong.com

/>

Ch

CH


S

ng 1: S x p x và sai s

NG 1

X P X VÀ SAI S

M C ÍCH, YÊU C U
Sau khi nghiên c u ch

ng 1, yêu c u sinh viên:

1. Hi u đ

c Ph

2. Hi u đ

c sai s tuy t đ i và sai s t

3. N m đ

c cách vi t s x p x .

4. N m đ

c các qui t c tính sai s .


ng Pháp S là gì, vai trò và t m quan tr ng c a Ph
ng đ i.

5. Hi u và bi t cách đánh giá sai s tính toán và sai s ph

1.1. T NG QUAN V PH
1.1.1. Ph

ng pháp s .

ng pháp .

NG PHÁP S

ng pháp s là gì?

Ph ng pháp s (numerical method) hay đôi khi còn đ c g i là Ph ng pháp tính
(Computational method), Toán h c tính toán (Computational mathematics) ho c Gi i tích s
(Numerical analysis) là m t l nh v c c a toán h c chuyên nghiên c u các ph ng pháp gi i g n
đúng các bài toán b ng cách d a trên nh ng d li u s c th và cho k t qu c ng d i d ng s .
Nói g n h n, ph ng pháp s nh b n thân tên g i c a nó, có ngh a là ph ng pháp gi i các bài
toán b ng nh ng con s c th .
Trong ph

ng pháp s chúng ta th

ng quan tâm đ n hai v n đ :

ng pháp đ gi i bài toán.




Ph



M i liên h gi a l i gi i s g n đúng và l i gi i đúng, hay v n đ sai s c a l i gi i.

1.1.2. Nh ng d ng sai s th

ng g p

Khi th c hi n m t bài toán b ng ph

ng pháp s ta th



Sai s trong vi c mô hình hóa bài toán



Sai s ph



Sai s c a s li u




Sai s tính toán

ng g p nh ng lo i sai s sau đây:

ng pháp

Nh ng sai s trên đây t ng h p l i nhi u khi d n đ n nh ng l i gi i quá cách xa so v i l i
gi i đúng và vì v y không th dùng đ c. Chính vì v y vi c tìm ra nh ng thu t toán h u hi u đ
gi i các bài toán th c t là đi u r t c n thi t.
5

CuuDuongThanCong.com

/>

Ch

ng 1: S x p x và sai s

1.2. SAI S

TUY T

I VÀ SAI S

T

NG

I


1.2.1. Sai s tuy t đ i
Trong tính g n đúng ta làm vi c v i các giá tr g n đúng c a các đ i l ng. Cho nên v n đ
đ u tiên c n nghiên c u là v n đ sai s .Xét đ i l ng đúng A và đ i l ng g n đúng c a nó là
a. Ta nói a x p x A và vi t a ≈ A.
Tr tuy t đ i Δ a = | a-A |
đ
đ

(1.1)

c g i là sai s tuy t đ i c a a (khi dùng a đ x p x A).

Trong th c t ta không bi t đ c s đúng A, do đó nói chung sai s tuy t đ i không tính
c. Vì v y ta tìm cách c l ng sai s tuy t đ i c a a b ng s Ea>0 sao cho
| a - A | ≤ Ea

(1.2)

S d ng Ea đ c g i là sai s tuy t đ i gi i h n c a a. Rõ ràng n u Ea là sai s tuy t
đ i gi i h n c a a thì m i E > Ea đ u là sai s tuy t đ i gi i h n c a a. N u sai s tuy t đ i
gi i h n quá l n so v i sai s tuy t đ i thì nó không còn có ý ngh a v ph ng di n sai s n a.
Trong nh ng đi u ki n c th ng i ta c g ng ch n Ea là s d ng bé nh t có th đ c thoã
mãn (1.1). N u Ea là sai s tuy t đ i gi i h n c a a khi x p x A thì ta quy c vi t:
A = a ± Ea

(1.3)

v i ý ngh a c a (1.1), t c là
a - Ea ≤ A ≤ a + Ea


(1.4)

ng đ i

1.2.2. Sai s t

G i Δa là sai s tuy t đ i c a a khi dùng a đ x p x A, khi đó đ i l
δa =

Δa
|a|

ng
(1.5)

đ c g i là sai s t ng đ i c a a. Tuy nhiên m t l n n a ta th y r ng A th
bi t, vì v y ng i ta đ nh ngh a đ i l ng
εa =

Ea
|a|

ng không

(1.6)

ng đ i gi i h n c a a. T đây ta có

là sai s t


Ea = | a| εa
T đây ng

i ta th

(1.7)
ng vi t

A = a(1 ± εa)

(1.8)

Vì trong th c t chúng ta ch có th thao tác v i các sai s gi i h n, do đó ng i ta th ng
g i m t cách đ n gi n Ea là sai s tuy t đ i, εa là sai s t ng đ i. ôi khi ng i ta bi u di n
sai s t ng đ i d i d ng %. Ví d v i a =10, Ea = 0.05, khi đó ta có εa = 0.05/10 = 0.5 %.
1.2.3. Chú thích:
đ

Sai s tuy t đ i không nói lên đ y đ "ch t l
c ph n ánh qua sai s t ng đ i.

ng" c a m t s x p x , “ch t l

6

CuuDuongThanCong.com

/>
ng” y còn



Ch

1.3. CÁCH VI T S

ng 1: S x p x và sai s

X PX

1.3.1. Ch s có ngh a
M t s vi t d i d ng th p phân có th g m nhi u ch s , nh ng ta ch k các ch s t
ch s khác không đ u tiên tính t trái đ n ch s cu i cùng khác không phía bên ph i là các ch
s có ngh a. Ch ng h n s 2.740 có 3 ch s có ngh a, s 0.02078 có 4 ch s có ngh a.
1.3.2. Ch s đáng tin
M i s th p phân đ u có d ng
a = ± α nα n −1...α1α 0 .α −1α −2 ...α − m = ± Σ αs10s
Trong đó αs là nh ng s nguyên t 0 đ n 9. Gi s a là x p x c a s A v i sai s tuy t đ i
là Δa. N u Δa ≤ 0.5*10s thì ta nói r ng ch s αs là đáng tin (và nh v y các ch s có ngh a bên
trái αs đ u là đáng tin). N u Δa > 0.5*10s thì ta nói r ng ch s αs là đáng nghi (và nh v y các
ch s bên ph i αs đ u là đáng nghi).
Ví d . S x p x

a = 4.67329

v i Δa = 0.004726. Ta có | Δa | ≤ 0.5 *10-2 do đó các ch s đáng tin là: 4,6,7; các ch
s đáng ng là 3,2, 9.
v i Δa = 0.005726. Ta có | Δa | ≤ 0.5 *10-1 (nh ng | Δa | > 0.5 *10-2 ) do đó các ch s
đáng tin là: 4,6; các ch s đáng ng là 7, 3, 2, 9.
1.3.3. Cách vi t s x p x

a. Kèm theo sai s
Cách th nh t là vi t kèm theo sai s nh công th c (1.3)

A = a ± Ea

b. M i ch s có ngh a đ u đáng tin
Cách th hai là vi t theo quy c: m i ch s có ngh a đ u đáng tin; có ngh a là sai s
tuy t đ i gi i h n không l n h n m t n a đ n v hàng cu i cùng.
1.3.4. Sai s quy tròn
Trong tính toán v i các con s ta th ng làm tròn các s theo quy c sau: n u ch s b
đi đ u tiên ≥ 5 thì thêm vào ch s gi l i cu i cùng m t đ n v , còn n u ch s b đi đ u tiên < 5
thì đ nguyên ch s gi l i cu i cùng.
Gi s a là x p x c a A v i sai s tuy t đ i gi i h n là E . Gi s ta quy tròn a thành a'
v i sai s quy tròn tuy t đ i gi i h n là θ, t c là:
| a' - a| ≤ θ.
Ta có
| a' - A| = | a' - a + a -A| ≤ | a' - a| + | a -A| ≤ θ + E
V y có th l y θ +E làm sai s tuy t đ i gi i h n c a a'. Nh v y vi c quy tròn làm t ng
sai s tuy t đ i gi i h n.
7

CuuDuongThanCong.com

/>

Ch

ng 1: S x p x và sai s

1.4. CÁC QUY T C TÍNH SAI S

1.4.1. M đ u
Ta xét bài toán t ng quát h n nh sau:
Xét hàm s

u c a 2 bi n s

x và y:

u = f(x,y)
Gi s x là x p x c a giá tr đúng X, y là x p x c a giá tr đúng Y và ta coi u là x p x
c a giá tr đúng U = f (X,Y).
Cho bi t sai s v x và y, hãy l p công th c tính sai s v u.
Cho bi n x ta s ký hi u Δx = x - X là s gia c a x, còn dx là vi phân c a x.
Theo đ nh ngh a v sai s tuy t đ i, ta có | Δx | ≤ Δ x
Theo công th c vi phân c a hàm nhi u bi n ta có:
du =

∂u
∂u
dx +
dy
∂x
∂y

T đây
Δu ≈

∂u
∂u
Δx +

Δy
∂x
∂y

Suy ra

Δu = |

∂u
∂u
| Δy
| Δx + |
∂x
∂y

(1.9)

1.4.2. Sai s c a t ng
Cho u = x + y
Ta có

∂u ∂u
=
=1
∂x ∂y
T

(1.9) suy ra

Δu = Δx + Δy


(1.10)

Ta có quy t c sau:
Sai s tuy t đ i gi i h n c a m t t ng b ng t ng các sai s tuy t đ i gi i h n c a các s h ng.
Ghi chú. Xét tr

ng h p u = x - y và x, y cùng d u. Lúc đó ta có

δu = Δ u/|u| = ( Δ x + Δ y)/ |x-y|
ng

Ta th y r ng n u | x -y | r t bé thì sai s t
i ta tìm cách tránh tr nh ng s g n nhau.

ng đ i gi i h n r t l n. Do đó trong tính toán

1.4.3. Sai s c a tích
Cho u = xy
8

CuuDuongThanCong.com

/>

Ch

ng 1: S x p x và sai s

Ta có


∂u
∂u
= y,
=x
∂y
∂x
T

(1.9) suy ra

Δ u = |y| Δ x + |x| Δ y
Do đó δu = Δ u/|u| = Δ x/|x| + Δ y/|y| = δx + δy
V y
δu = δx + δy

(1.11)

Ta có quy t c sau:
Sai s t ng đ i gi i h n c a m t tích b ng t ng các sai s t
h ng c a tích.
Xét tr

ng đ i gi i h n c a các s

ng h p đ c bi t u = xn ta có
δxn = n δx

1.4.4. Sai s c a th


(1.12)

ng

Cho u = x/y
Ta có

x
∂u 1 ∂u
= ,
= − 2
∂x y ∂y
y
T

(1.9) suy ra

Δu = |

x
1
|Δx + | 2 |Δy
y
y

Ta có

Δ u / |u| = Δ u . |

x

1
1
y
y
1
| = | | ( | | Δ x + | 2 | Δ y) = | | Δ x + | | Δ y =
x
x
y
x
y
y

Suy ra:
δxy = δx + δy

(1.13)

Ta có quy t c sau:
Sai s t ng đ i gi i h n c a m t th
s h ng c a th ng.

ng b ng t ng các sai s t

ng đ i gi i h n c a các

1.4.5. Sai s c a hàm b t k
Cho u = f(x1, x2,..., xn)
Theo công th c vi phân c a hàm nhi u bi n ta có:
du =


∂u
∂u
∂u
dxn
dx1 +
dx2 + ... +
∂x1
∂x 2
∂x n
9

CuuDuongThanCong.com

/>

Ch

ng 1: S x p x và sai s
T đây ta có
Δu ≈

∂u
∂u
∂u
Δx1 +
Δxn
Δx2 + ... +
∂x1
∂x 2

∂x n

Suy ra

Δu = |

∂u
| Δ
∂x1

x1

+|

∂u
| Δ
∂x 2

x2

+ ... + |

Ví d . Tính sai s tuy t đ i gi i h n và sai s t
V = (1/6)πd
n u cho đ

∂u
| Δ
∂x n


xn

(1.14)

ng đ i gi i h n c a th tích hình c u:

3

ng kính d = 3.7 ± 0.05 cm và π = 3.14 ± 0.0016.

Gi i.
Xem π và d là đ i s c a hàm V, áp d ng (1.12) và (1.13) ta có
δV = δπ + 3δd (H s 1/6 không nh h

ng đ n sai s t

ng đ i)

δπ = 0.0016/3.14 = 0.0005
δd = 0.05/3.7 = 0.0135
Suy ra δV = 0.0005 + 3 * 0.0135 = 0.04
M t khác V = (1/6)πd3 = 26.5 cm3
Ta có Δ V = |V|*δV = 26.5*0.04 = 1.06 ≈ 1.1 cm3
V = 26.5 ± 1.1 cm3

1.5. SAI S

TÍNH TOÁN VÀ SAI S

PH


NG PHÁP

Nh chúng tôi đã nh c đ n trên, khi gi i m t bài toán ph c t p ta ph i thay bài toán đó
b ng bài toán đ n gi n h n đ có th tính toán b ng tay ho c b ng máy. Ph ng pháp thay bài
toán ph c t p b ng m t ph ng pháp đ n gi n tính đ c nh v y g i là ph ng pháp g n đúng.
Sai s do ph ng pháp g n đúng t o ra g i là sai s ph ng pháp. M c d u bài toán đã d ng
đ n gi n, có th tính toán đ c b ng tay ho c trên máy tính, nh ng trong quá trình tính toán ta
th ng xuyên ph i làm tròn các k t qu trung gian. Sai s t o ra b i t t c nh ng l n quy tròn nh
v y đ c g i là sai s tính toán. Trong th c t vi c đánh giá các lo i sai s , nh t là sai s tính
toán nhi u khi là bài toán r t khó th c hi n.
hi u rõ h n b n ch t c a sai s ph ng pháp và
sai s tính toán ta xét ví d sau:
Ta bi t r ng v i s x b t k ta có

x2
xn
x
+ ... +
+...
+
1!
2!
n!
Công th c này có th dùng đ tính giá tr ex . Tuy nhiên đây là t ng vô h n, nên trong th c
x2
xn
x
t ta ch tính đ c t ng Sn = 1+
+

+ ... +
, ngh a là chúng ta đã dùng ph ng pháp g n
1!
2!
n!
đúng. Khi tính t ng Sn ta l i th ng xuyên ph i làm tròn, do đó ta l i g p sai s khi tính toán Sn .
Vi c đ a ra m t đánh giá v sai s t ng h p c a c hai lo i sai s trên là bài toán r t ph c t p.
ex = 1+

10

CuuDuongThanCong.com

/>

Ch

1.6. S

N

ng 1: S x p x và sai s

NH C A M T QUÁ TRÌNH TÍNH TOÁN

Xét m t quá trình tính toán v lý thuy t có vô h n b c đ tính ra m t đ i l ng nào đó. Ta
nói r ng quá trình tính là n đ nh n u sai s tính toán t c là sai s quy tròn tích l y l i không t ng
vô h n. N u sai s đó t ng vô h n thì ta nói quá trình tính là không n đ nh.
Rõ ràng n u quá trình tính không n đ nh thì không có hy v ng tính đ
tính v i sai s nh h n sai s cho phép.


cđ il

ng c n

ki m tra tính n đ nh c a m t quá trình tính toán th ng ng i ta gi s sai s ch x y
ra t i m t b c, các b c sau đó coi nh không có sai s khác phát sinh. N u cu i cùng sai s tính
toán không t ng vô h n thì coi nh quá trình tính là n đ nh.

1.7. M T VÀI I U V M I QUAN H GI A TH C T VÀ MÔ HÌNH
Theo nh ng đi u v a nói trên đây thì chúng ta luôn hi u th c t là tuy t đ i đúng, sai s ch
x y ra khi ta mu n mô hình hóa th c t và ti n hành tính toán mô hình đó. Th c v y, chúng ta có
c m giác r ng gi i t nhiên đang ho t đ ng m t cách chính xác: h m t tr i đã có kho ng 5 t
n m tu i, nh ng s v n hành c a nó có v v n hoàn h o: hàng ngày m t tr i m c, m t tr i l n đ u
theo quy lu t. C sau 365 ngày + 1/4 ngày thì qu đ t quay đ m t vòng quanh m t tr i và h u
h t các vùng trên trái đ t đ u tr i qua b n mùa. Chúng ta có th hình dung r ng ch c n m i n m
s v n hành c a các hành tinh sai l ch đi chút ít thì trong hàng t n m sai s tích l y có th s gây
nên nh ng bi n c khôn l ng! Tuy nhiên theo các nhà thiên v n thì s v n hành c a các hành
tinh không tuy t đ i hoàn h o nh ta t ng. Xét v trí c a m t tr i và trái đ t ch ng h n, theo lý
thuy t thì n u ngày hôm nay m t tr i đ ng v trí gi a b u tr i tính t đông sang tây thì sau 24
gi n a nó c ng v trí gi a b u tr i (t t nhiên là có th ch ch v phía nam n u ta đang Vi t
nam). Nh ng trong th c t không ph i nh v y. Các nhà thiên v n đã không th xây d ng đ c
múi gi m t cách chính xác và nh t quán n u d a vào v trí c a m t tr i. Nói c th h n, n u d a
vào v trí m t tr i c a n m nay làm múi gi cho các vùng trên trái đ t thì n m sau th i gian đó
không còn thích h p cho qu đ o c a m t tr i n a, mà có khác đi chút ít. Chính vì s "đ ng đ nh"
c a m t tr i nh v y nên các nhà thiên v n đã đ a ra khái ni m m t tr i trung bình và th i gian
trung bình. So v i m t tr i trung bình và th i gian trung bình thì hàng n m m t tr i th t đi l ch
trong kho ng th i gian t -14,3 đ n +16,3 phút. Tuy nhiên s d các sai s này không tích l y t
n m này sang n m khác là vì các sai s giao đ ng quanh v trí trung bình và tri t tiêu l n nhau
theo th i gian.

Ngh a là, không ch mô hình c a chúng ta, mà ngay c gi i t nhiên c ng có nh ng sai s . Tuy
nhiên các sai s trong gi i t nhiên đ u có quy lu t và th ng tri t tiêu l n nhau, do đó không làm
nh h ng đ n s v n hành c a các v t th .

BÀI T P
Bài 1. Khi đo 1 s góc ta đ

c các giá tr sau:

a= 21o37’3”;

b=1o10’

Hãy xác đ nh sai s t

ng đ i c a các s x p x đó bi t r ng sai s tuy t đ i trong phép đo

là 1”.
11

CuuDuongThanCong.com

/>

Ch

ng 1: S x p x và sai s

Bài 2. Hãy xác đ nh sai s tuy t đ i c a các s x p x sau đây cho bi t sai s t
chúng:

a) a= 13267 ;

δa=0,1%

b) b=2,32;

δb=0,7%

ng đ i c a

Bài 3. Hãy xác đ nh s các ch s đáng tin trong các s a,b v i sai s nh sau:
a) a= 0,3941;

Δ a=0,25.10-2

b) b=38,2543;

Δ a= 0,27.10-2

Bài 4. Hãy xác đ nh s nh ng ch s đáng tin trong các s a v i sai s t
a) a=1,8921;

δa=0,1.10

b) a=22,351;

δa=0,1

ng đ i nh sau:


-2

Bài 5. Hãy qui tròn các s d i đây( xem là đúng) v i 3 ch s có ngh a đáng tin và xác đ nh sai
s tuy t đ i Δ và sai s t ng đ i δ c a chúng:
a) a= 2,514; b) 0,16152
c) 0,01204; d) –0,0015281
Bài 6. Hãy xác đ nh giá tr c a các hàm s d i đây cùng v i sai s tuy t đ i và sai s t
ng v i nh ng giá tr c a các đ i s cho v i m i ch s có ngh a đ u đáng tin.
a) u=ln(x+y2); x=0,97; y=1,132
b) u=(x+y)2z; x=3,28; y=0,932; z=1,132

12

CuuDuongThanCong.com

/>
ng đ i


Ch

ng 2: Các ph

CH

CÁC PH

NG PHÁP S

ng pháp s trong đ i s tuy n tính


NG 2

TRONG

IS

TUY N TÍNH

M C ÍCH, YÊU C U:
Sau khi nghiên c u ch
1. Hi u và n m đ
trình tuy n tính.

ng 1, yêu c u sinh viên:
ng pháp tìm nghi m đúng, nghi m x p x c a h ph

c các ph

ng

2. Bi t cách ng d ng các ph ng pháp trên vào vi c tính đ nh th c c a ma tr n, tìm ma
tr n ngh ch đ o, gi i quy t các bài toán th c t .
3. Bi t cách đánh giá sai s c a t ng ph

2.1. MA TR N VÀ

ng pháp

NH TH C


2.1.1. Ma tr n
Cho ma tr n ch nh t A c p m x n:

A=

và đ

a11

a12

...

a1n

a21

a22

...

a2n

.

.

...


.

am1

am2

...

amn

đây aij là các s th c. Ma tr n này có m hàng và n c t. Khi m = n ta có ma tr n c p nxn
c g i t t là ma tr n vuông c p n.

Ma tr n vuông c p n mà m i ph n t n m ngoài đ ng chéo chính b ng 0, t c là aij = aji = 0
v i i ≠ j, đ c g i là ma tr n đ ng chéo. N u ma tr n đ ng chéo có aii = 1 thì ta g i A là ma tr n
đ n v và ta th ng ký hi u là E ho c I.
Ma tr n vuông A đ

A=

c g i là ma tr n tam giác trên, n u A có d ng
a11

a12

...

a1n

0


a22

...

a2n

.

.

...

.

0

0

...

ann
13

CuuDuongThanCong.com

/>

Ch


ng 2: Các ph
T

ng pháp s trong đ i s tuy n tính

ng t , ma tr n vuông A đ

A=

c g i là ma tr n tam giác d

a11

0

...

0

a21

a22

...

0

.

.


...

.

an1

an2

...

ann

i, n u A có d ng:

Ma tr n ch nh t AT c p n x m đ c g i là ma tr n chuy n v c a ma tr n A c p m x n n u:

AT =

2.1.2.

a11

a21

...

am1

a12


a22

...

am2

.

.

...

.

a1n

a2n

...

amn

nh th c c a ma tr n

Tr c khi đ a ra đ nh ngh a đ nh th c c a ma tr n, chúng tôi gi i thi u khái ni m hoán v
ch n, hoán v l c a m t t p h p n s nguyên {1, 2, ... , n}.
Cho α = (i1, i2,..., in) là m t hoán v c a t p {1,2,...,n}. Ta xét t t c các c p (ik, ih), trong đó
k < h. N u ik > ih thì ta g i c p (ik, ih) là c p ng c, t c là các giá tr ik, ih đ c s p x p ng c v i
k,h. N u trong α s c p ng c là ch n thì ta g i α là hoán v ch n, ng c l i thì ta g i α là hoán

v l .
V i m i ma tr n vuông A c p n:

A=

t n t i m t s th c đ
b i công th c:
det A =

a11

a12

...

a1n

a21

a22

...

a2n

.

.

...


.

an1

an2

...

ann

c g i là đ nh th c c a ma tr n A, ký hi u là det A, đ

s(i1, i2,..., in) a

α

1i1

a 2i2 ...a nin

(2.0)

v i α = (i1, i2,..., in) ch y trong t p t t c các hoán v c a t p {1,2,...,n}, và
s(i1, i2,..., in) =

1 n u α là hoán v ch n
-1 n u α là hoán v l

14


CuuDuongThanCong.com

/>
c xác đ nh


Ch
nh th c c a ma tr n còn đ

A=

ng 2: Các ph

ng pháp s trong đ i s tuy n tính

c ký hi u là

a11

a12

...

a1n

a21

a22


...

a2n

.

.

...

.

an1

an2

...

ann

V i m i ma tr n ch nh t A c p m x n b t k ta có th tính đ nh th c c a t t c các ma
tr n con vuông c p k, v i k ≤ min (m, n). N u t n t i m t s r sao cho có m t ma tr n con c p r
có đ nh th c khác 0, còn m i ma tr n con vuông c p l n h n r đ u b ng 0 thì ta nói r ng r là h ng
c a ma tr n A.
Các phép bi n đ i s c p sau đây không làm bi n đ i h ng c a ma tr n:


i ch 2 hàng ho c 2 c t b t k .




Nhân m t hàng hay m t c t b t k v i m t s khác không.



C ng các thành ph n t

ng ng c a 2 hàng ho c hai c t b t k .

Các phép bi n đ i s c p s đ
h ph ng trình tuy n tính.
Ma tr n E đ

c g i là ma tr n đ n v c p n n u E là ma tr n vuông c p n và E có d ng

E=

2.1.3. Các ph

c s d ng đ tính đ nh th c c a ma tr n và tìm nghi m c a

1

0

...

0

0


1

...

0

.

.

...

.

0

0

...

1

ng pháp tính đ nh th c

a. Tính đ nh th c d a tr c ti p vào đ nh ngh a
Ta có th dùng (2.0) đ tính đ nh th c c a m t ma tr n trên máy tính. Tuy nhiên cách tính
này đòi h i kho ng c*n! phép tính. ây là con s kh ng l v i n không l n l m. Ví d v i máy
tính hi n đ i nh t hi n nay c ng c n hàng tri u n m đ tính đ nh th c c a ma tr n c p n = 25.
b. Tính đ nh th c d a vào công th c khai tri n theo hàng

Cho A là ma tr n vuông c p n và aij là m t ph n t b t k c a nó. nh th c c a ma tr n
con c p n-1 sau khi “xóa” hàng th i và c t th j đi và không thay đ i v trí các thành ph n còn
l i, đ c g i là minor c a ph n t aij , và đ c ký hi u là Mij. Giá tr Aij = (-1)i+j Mij đ c g i là
ph n bù đ i s c a ph n t aij. Ta có các công th c sau đ tính đ nh th c ma tr n vuông c p n
thông qua vi c tính đ nh th c c a các ma tr n con c p bé h n:
Khai tri n đ nh th c theo hàng th

i:

n

det A =

∑ aij Aij
j=1

15

CuuDuongThanCong.com

/>

Ch

ng 2: Các ph

ng pháp s trong đ i s tuy n tính

Khai tri n đ nh th c theo c t th j:
n


∑ aij Aij

det A =

i=1

Áp d ng các công th c trên đây ta có th dùng thu t toán đ quy sau đây đ tính đ nh th c
c a ma tr n vuông c p n :
N u

n = 1 : A11 = 1; det A = a11 A11
n

∑ a1j A1j

n > 1: det A =

j=1

Tuy nhiên, c ng nh cách tính tr c ti p, cách tính này c n kho ng c*n! phép tính, và nh
v y không th th c hi n đ c trên máy tính hi n đ i nh t hi n nay dù ch v i n không l n l m. Rõ
ràng vi c phân tính thu t toán giúp chúng ta đánh giá đ c th i gian tính toán trên máy tính và
n u th i gian đó là quá l n thì chúng ta kh i ph i t n công vô ích vi t ch ng trình và ch y th .
c. Tính đ nh th c b ng cách chuy n ma tr n v d ng tam giác trên
Ta s bi n đ i đ đ a ma tr n A v d ng ma tr n tam giác trên

B=

b11


b12

...

b1n

0

b22

...

B2n

.

.

...

.

0

0

...

bmn


B

V y det A=det B = b11 b22...bnn
2.1.4. Ma tr n ngh ch đ o
Ma tr n ngh ch đ o c a m t ma tr n vuông A c p n là ma tr n đ
mãn đi u ki n

c ký hi u là A-1, tho

A-1A = A A-1 = E
Trong đó E là ma tr n đ n v . Có th ch ng minh r ng đ th a mãn đi u ki n trên thì b t
bu c A-1 ph i là ma tr n vuông, và ma tr n đ o n u t n t i là duy nh t.
i u ki n t n t i c a ma tr n ngh ch đ o: Ma tr n vuông A c p n có ma tr n ngh ch đ o
khi và ch khi det A ≠ 0.
Cách tính ma tr n ngh ch đ o:
G i Aij là ph n bù đ i s c a ph n t

A-1 =

1
det A

aij , khi đó ta có:

A11

A21

...


An1

A12

A22

...

An2

.

.

...

.

A1n

A2n

...

Ann

16

CuuDuongThanCong.com


/>

Ch

ng 2: Các ph

ng pháp s trong đ i s tuy n tính

Tuy nhiên công th c này ch có ý ngh a lý thuy t, không th áp d ng đ tính tr c ti p ma
tr n đ o trên máy tính đ c vì s phép tính đòi h i quá l n.
Trong ph n sau ta s áp d ng ph ng pháp kh Gauss-Jordan đ tính ma tr n ngh ch đ o
v i s phép tính nh h n nhi u (kho ng n3)

2.2. H PH

NG TRÌNH

Xét m t h ph

IS

TUY N TÍNH

ng trình g m n ph

ng trình tuy n tính v i n n s x1, x2,...,xn nh sau:

a11x1 + a12x2 + . . . + a1nxn = b1
a21x1 + a22x2 + . . . + a2nxn = b2

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

(2.1)

an1x1 + an2x2 + . . . + annxn = bn
H ph

ng trình này có th vi t d

⎡ a11
⎢a
21
A= ⎢
⎢ .

⎣a n1

a12
a 22
.
an2

i d ng ma tr n

... a1n ⎤
... a 2 n ⎥⎥
,x=
... . ⎥

... a nn ⎦


⎛ x1 ⎞
⎜ ⎟
⎜ x2 ⎟
⎜ . ⎟,b=
⎜ ⎟
⎜x ⎟
⎝ n⎠

Ax = b, trong đó

⎛ b1 ⎞
⎜ ⎟
⎜ b2 ⎟
⎜ . ⎟
⎜ ⎟
⎜b ⎟
⎝ n⎠

N u det A ≠ 0 thì nghi m c a h (2.1) có th tính theo công th c x = A-1b. Áp d ng công th c
tính ma tr n đ o ta có th bi n đ i và d n đ n l i gi i đ c di n t b ng đ nh lý Cramer nh sau:
nh lý Cramer. G i Aj là ma tr n nh n đ c t ma tr n A b ng cách thay c t th j b ng
c t b, khi đó h (2.1) có nghi m duy nh t và xj đ c tính b i công th c
xj =

det A j

det A
Tuy nhiên trong th c hành ng i ta không dùng công th c này đ tính nghi m vì s phép
tính quá l n. Ng i ta dùng nh ng ph ng pháp h u hi u h n mà chúng tôi s gi i thi u sau đây.

2.2.1. Ph

ng pháp tr c ti p gi i h ph

Gi s ta gi i h ph
a. Ph

ng trình tuy n tính

ng trình(2.1)

ng pháp kh Gauss

Ph ng pháp kh Gauss dùng cách kh d n các n đ đ a h ph ng trình đã cho v m t
d ng tam giác trên r i gi i h tam giác này t gi i lên trên, không ph i tính m t đ nh th c nào
ng pháp này đ

Ph

c th c hi n qua các b

c sau:

Quá trình xuôi:
- B
(

c 0: Dùng ph ng trình đ u tiên đ kh x1 trong n-1 ph ng trình còn l i. Gi s a11≠0.
cho công th c đ n gi n , tr c khi kh ta có th chia ph ng trình th nh t cho a11 ).


C th đ kh x1 hàng th k( k=2,3,…n) ta ph i tính l i các h s akj
(j=1,2,..n+1) nh sau: akj=akj-a1j*ak1/a11

hàng th k

...
17

CuuDuongThanCong.com

/>

Ch

ng 2: Các ph

ng pháp s trong đ i s tuy n tính

- B c 1: Dùng ph ng trình th 2 đ kh x2 trong n-2 ph ng trình còn l i phía sau. Gi
s a22≠0. ( cho công th c đ n gi n, tr c khi kh ta có th chia ph ng trình th hai
cho a22).
C th đ kh x2 hàng th k (k=3,4,…n) ta ph i tính l i các h s akj
(j=2,..n+1) nh sau: akj=akj-a2j*ak2/a22

hàng th k

…….
- B c i: Dùng ph ng trình i đ kh xi trong các ph ng trình th i+1,i+2, ..., n. Gi
cho công th c đ n gi n, tr c khi kh ta có th chia ph ng trình th i cho
s aii≠0.

aii).
C th đ kh xi hàng th k (k=i+1,…n) ta ph i tính l i các h s akj
(j=i,..n+1) nh sau: akj=akj-aij*aki/aii
- B
(

hàng th k

c n-1: Dùng ph ng trình th n-1 đ kh xn-1 trong ph ng trình th n.Gi s an-1 n-1≠0.
cho công th c đ n gi n, tr c khi kh ta có th chia ph ng trình th n-1 cho an-1 n-1)

C th đ kh xn-1 hàng th n ta ph i tính l i các h s anj
nh sau: anj=anj-an-1j*an-1i/an-1n-1

hàng th n (j=n-1,n,n+1)

K t thúc quá trình kh .
Chú ý:
Trong quá trình gi i xuôi ta gi thi t a11≠0, a22≠0,a33≠0,...,an-1 n-1≠0. N u 1 trong các h s
đó b ng không thì quá trình không ti p t c đ c. Lúc đó ta ph i thay đ i cách tính.
Gi s khi kh x1 ta g p a11=0 thì ta nhìn các h s a21, a31 ...an1 c a x1 các ph ng trình
phía d ói, n u có h s nào khác không ta có th l y nó thay cho vai trò c a a11 b ng cách hoán v
hai ph ng trình. N u t t c các h s s a11, a21, a31 ...,an1 đ u b ng không thì h đã cho suy bi n.
V y t t nh t là tr c khi kh x1 ta ch n trong các h s a11, a21, a31 ...,an1 h s có giá tr tuy t đ i
l n nh t làm tr th nh t( g i là tr t i đ i th nh t) r i hoán v hàng th nh t cho hàng có giá
tr tuy t đ i l n nh t). T c là ta ch n hàng r sao cho:
Sau đó ta đ i hàng r cho hàng 1.

| ar1 | = max {| ak1 | / k=1,2, ... ,n}
T


ng t

trong các b

c kh x2,... xn-1 , tr

c khi kh ta c ng tìm tr t i đ i:

| ari | = max {| aki | / k=i,i+1, ... ,n} ( v i i=2,3,…,n-1)
Sau đó ta đ i hàng r cho hàng i.
Sau khi th c hi n xong quá trình gi i xuôi h ph
D ng1: T i các b

c (b

ng trình (2.1) có d ng:

c i) ta không chia cho h s aii

a11x1 + a12x2 + . . . + a1nxn = b1
a22x2 + . . . + a2nxn = b2
. . . . . . . . . . .
ann xn = bn
18

CuuDuongThanCong.com

/>


Ch
ho c: D ng 2: T i các b

c (b

ng pháp s trong đ i s tuy n tính

ng 2: Các ph

c i) ta chia cho h s aii:

x1 + a12x2 + . . . + a1nxn = b1
x2 + . . . + a2nxn = b2
. . . . . . . . . . .
xn = bn
Xu t phát t ph ng trình th
quá trình gi i ng c sau:
Quá trình gi i ng

n ta l n l

t tính đ

c các giá tr xi b ng các công th c c a

c

xn = bn/ann ho c ( xn=bn)
...
n


n

j=i+1

j=i+1

xi = (bi -( ∑ aijxj) )/aii ) ho c (bi -( ∑ aijxj) ), i =n-1, n-2, ..., 1
vi c vi t ch ng trình đ c đ n gi n, khi cài đ t trên máy tính ta dùng m t m ng
thay cho c ma tr n a và vec t b. T c là

⎡ a11
⎢a
⎢ 21
⎢ .

⎢⎣a n1

a12

... a1n

a 22

... a 2 n

.
an2

...


.

... a nn

a1,( n +1) ⎤ ⎡ a11
a 2,( n +1) ⎥⎥ ⎢a 21
= ⎢
. ⎥ ⎢ .
⎥ ⎢
a n ,( n +1) ⎥⎦ ⎣a n1

a12

... a1n

a 22

... a 2 n

.
an2

...

.

... a nn

a


b1 ⎤
b2 ⎥⎥
.⎥

bn ⎦

Ta áp d ng các phép bi n đ i s c p nh v a trình bày đ bi n đ i ma tr n ch nh t c p
nx(n+1) trên đây v d ng

⎡1 a'12
⎢0 1

⎢.
.

⎢⎣0 0
Ví d :Gi i h ph

... a'1n
... a' 2 n
...
...

.
1

a'1,( n +1) ⎤
a' 2,( n +1) ⎥⎥
. ⎥


a' n ,( n +1) ⎥⎦

ng trình sau b ng ph

ng pháp kh Gauss:

2x1 + 3x2 +x3 = 11
-x1 + 2x2 -x3 = 0
3x1 + 2x3
B

c1: H ph

ng trình trên t

=9
ng đ

ng v i:
=9

h1=h3

-x1 + 2x2 -x3 = 0

h2=h2

2x1 + 3x2 +x3 = 11


h3=h1

3x1 + 2x3

19

CuuDuongThanCong.com

/>

Ch

ng 2: Các ph

ng pháp s trong đ i s tuy n tính

3x1 + 0 + 2x3

B

h1=h1

=9

2x2 - x3/3 = 3

h2=h2+h1/3

3x2 - x3/3


=5

h3=h3-2*h1/3

3x1 + 0 +2x3

=9

h1=h1

3x2 -

x3/3

=5

h2=h3

2x2 -

x3/3

=3

h3=h2

c 2:

3x1 + 0 + 2x3 = 9


h1=h1

x2 - x3 /3 = 5

h2=h2
h3=h3-2*h2/3

-x3/9 = -1/3
V y

x3=3
x2=2
x1=1

Ch

ng trình minh h a.

Sau đây là đo n ch

ng trình chính th hi n (mô t ) thu t toán kh Gauss.

/*Giai he phuong trinh tuyen tinh dung khu Gauss, ma tran vuong n,
cac phan tu cot thu n+1 la vecto b*/
/*Dua ma tran a ve dang tam giac tren Giai he phuong trinh tuyen tinh.
Tra ve gia tri true neu co nghiem */
int khugauss(kmatran a,double *x,int n)
{
int i,j,k,h;double tmp,p;kmatran aa;
int n1=n+1;

for(i=1;i<=n;i++)
for(j=1;j<=n1;j++) aa[i][j]=a[i][j];
for(i=1;i<=n;i++) //Vong lap cac buoc khu
{//Tim hang co phan tu dau lon nhat
h=i;
for(k=i+1;k<=n;k++)
if(fabs(a[k][i])>fabs(a[h][i]) {h=k;}
if(a[h][i])==0) {cout<<"Ma tran suy bien";delay(1000);return false;}
20

CuuDuongThanCong.com

/>

Ch

ng 2: Các ph

ng pháp s trong đ i s tuy n tính

if(h!=i) //Doi hang i va hang h vi a[h][i] > a[i][i]
{int j;double tmp;
for(j=i;j<=n1;j++)
{tmp=a[i][j];a[i][j]=a[h][j];a[h][j]=tmp;}
}
//chuyen he so a[i][i] = 1
tmp=a[i][i];
for(j=i;j<=n1;j++) a[i][j] = a[i][j]/tmp;
//Bat tinh lai cac hang
for(k=i+1;k<=n;k++)

{p=a[k][i];
/*Vi ta biet a[k][i] =0 sau bien doi,
chi tinh tu a[k][i+1]*/
for(j=i+1;j<=n1;j++) a[k][j]=a[k][j] - p*a[i][j];
}
}
x[n]=a[n][n+1];
for(i=n-1;i>=1;i--)
{double xx=0;
for(j=i+1;j<=n;j++) xx=xx+a[i][j]*x[j];
x[i]=a[i][n+1]-xx;//b[i]-xx
}
//Dat cac gia tri phi duoi duong cheo chinh bang 0(phan nay khong can)
for(i=2;i<=n;i++)
for(j=1;j//Thu lai
kvecto bb;
for(i=1;i<=n;i++)
{bb[i]=aa[i][1]*x[1];
for(j=2;j<=n;j++) bb[i]+=aa[i][j]*x[j];
}
//Dua ket qua vao tep ketqua
return true;
}
21

CuuDuongThanCong.com

/>


Ch
b. Ph

ng 2: Các ph

ng pháp s trong đ i s tuy n tính

ng pháp kh Gauss-Jordan

Ph ng pháp kh Gauss-Jordan dùng cách kh d n các n đ đ a h ph ng trình đã cho
v m t d ng ma tr n đ ng chéo r i gi i h ph ng trình này, không ph i tính m t đ nh th c nào
ng pháp này đ

Ph

c th c hi n qua các b

c sau:

- B c 1: Dùng ph ng trình đ u tiên đ kh x1 trong n-1 ph ng trình còn l i, cách làm
t ng t nh ph ng pháp kh đ tính đ nh th c... ( cho công th c đ n gi n, tr c khi
kh ta có th chia ph ng trình th nh t cho a11).
C th đ kh x1 hàng th k( k=2,3,…n) ta ph i tính l i các h s akj
(j=1,2,..n+1) nh sau: akj=akj-a1j*ak1/a11

hàng th k

...
- B
(


c i: Dùng ph ng trình i đ kh xi trong các ph ng trình th 1,2, i-1,i+1,i+2,...,n..
cho công th c đ n gi n , tr c khi kh ta có th chia ph ng trình th i cho aii)

C th đ kh xi hàng th k (k=1,2, i-1,i+1,i+2,...,n.) ta ph i tính l i các h s akj
th k (j=i,..n+1) nh sau: akj=akj-aij*aki/aii

hàng

...
- B c n: Dùng ph ng trình th n đ kh xn trong ph ng trình th 1,2, ..., n-1.. (
công th c đ n gi n, tr c khi kh ta có th chia ph ng trình th n cho ann)
C th đ kh xn hàng th k( k=1,2, ..,n-1.) ta ph i tính l i các h s akj
(j=n,n+1) nh sau: akj=akj-anj*akn/ann

cho

hàng th k

T ng t phép kh Gauss t i m i b c, tr c khi kh ta ph i ch n tr t i đ i. C th t i
b c i ta luôn ch n hàng có ph n t ari có giá tr tuy t đ i l n nh t r i đ i cho hàng th i cho hàng
th r.
H ph

ng trình sau khi kh có d ng:
a11 x1

= b1
a22 x2


= b2

. . . . . . . .. .
ann xn = bn
Ho c (N u t i các b

c (b

c i) ta chia cho h s aii):
= b1

x1
x2

= b2
. . . . . . . .. .
xn = bn

T c là ta đã có các nghi m mà không c n ph i tính toán thêm.
C ng nh trong ph ng pháp kh Gauss, khi cài đ t trên máy tính ta dùng m t m ng a
thay cho c ma tr n A và vec t b. T c là
22

CuuDuongThanCong.com

/>

Ch

⎡ a11

⎢a
⎢ 21
⎢ .

⎣⎢a n1

a12
a 22
.
an2

... a1n
... a 2 n
...

.

... a nn

ng 2: Các ph

a1,( n +1) ⎤ ⎡ a11
a 2,( n +1) ⎥⎥ ⎢a 21
= ⎢
. ⎥ ⎢ .
⎥ ⎢
a n ,( n +1) ⎦⎥ ⎣a n1

a12
a 22

.
an2

ng pháp s trong đ i s tuy n tính

b1 ⎤
b2 ⎥⎥
.⎥

bn ⎦

... a1n
... a 2 n
...

.

... a nn

Ta áp d ng các phép bi n đ i s c p nh v a trình bày đ bi n đ i ma tr n ch nh t c p n
x (n+1) trên đây v d ng

⎡1 0 ... 0 a '1,( n +1) ⎤
⎢0 1 ... 0 a '

2 , ( n +1) ⎥

⎢ . . ... .
. ⎥



⎣⎢0 0 ... 1 a ' n ,( n +1) ⎦⎥
V y ta có xi = a'i,(n+1)
Ví d :Gi i h ph

ng trình sau b ng ph

ng pháp kh Gauss-Jordan:

2x1 + 3x2 +x3 = 11
-x1 + 2x2 -x3 = 0
B

B

c1: H ph

3x1 + 2x3

=9

ng trình trên t

ng đ

ng v i:

3x1 + 2x3=9

h1=h3


-x1 + 2x2 -x3 = 0

h2=h2

2x1 + 3x2 +x3 = 11

h3=h1

c 1:
3x1 + 0 +2x3

=9

h1=h1

2x2 -x3/3

=3

h2=h2+h1/3
h3=h3-2*h1/3

3x2 -x3//3 = 5

B

c 2:
3x1 + 0 +2x3


=9

h1=h1

3x2 - x3/3

=5

h2=h3

2x2 - x3/3

=3

h3=h2

23

CuuDuongThanCong.com

/>

Ch

ng 2: Các ph

ng pháp s trong đ i s tuy n tính
3x1 + 0 + 2x3 = 9

h1=h1


3x2 - x3/3 = 5

h2=h2

-x3/9 = -1/3
B

h3=h3-2*h2/3

c 3:
3x1 + 0 +0
3x2 -0

=3

h1=h1-2*h3/(-1/9)

=6

h2=h2-(1/3)*h3/(-1/9)

-x3/9 =-1/3

h3=h3/(-1/9)

V y
x1=1
x2=2
x3=3


Ch

ng trình minh h a.

Sau đây là đo n ch

ng trình chính th hi n (mô t ) thu t toán kh Gauss-Jordan.

int gjordan(kmatran a,double *x,int n)
{int i,j,k,h;double tmp,p;kmatran aa;
int n1=n+1;
for(i=1;i<=n;i++)
for(j=1;j<=n1;j++) aa[i][j]=a[i][j];
for(i=1;i<=n;i++) //Vong lap cac buoc khu
{//Tim hang co phan tu dau lon nhat
h=i;
for(k=i+1;k<=n;k++)
if(fabs(a[k][i])>fabs(a[h][i]) {h=k;}
if(a[h][i]==0) {cout<<"Ma tran suy bien";delay(1000);return false;}
if(h!=i) //Doi hang i va hang h vi a[h][i] > a[i][i]
{int j;double tmp;
for(j=i;j<=n1;j++)
{tmp=a[i][j];a[i][j]=a[h][j];a[h][j]=tmp;}
}
//chuyen he so a[i][i] = 1
24

CuuDuongThanCong.com


/>

Ch

ng pháp s trong đ i s tuy n tính

ng 2: Các ph

tmp=a[i][i];
for(j=i;j<=n1;j++) a[i][j] = a[i][j]/tmp;
//Bat tinh lai cac hang
for(k=1;k<=n;k++)
{if(k==i) continue;
p=a[k][i];
/*Vi ta biet a[k][i] =0 sau bien doi,
chi tinh tu a[k][i+1]*/
for(j=i+1;j<=n1;j++) a[k][j]=a[k][j] - p*a[i][j];
}
}
for(i=1;i<=n;i++) x[i]=a[i][n+1];
/*Dat cac gia tri khong o tren duong cheo chinh bang 0
(phan nay khong can)*/
for(i=1;i<=n;i++)
for(j=1;j<=n;j++) {if(i!=j) a[i][j]=0;}
//Thu lai
kvecto bb;
for(i=1;i<=n;i++)
{bb[i]=aa[i][1]*x[1];
for(j=2;j<=n;j++) bb[i]+=aa[i][j]*x[j];
}

//Dua ket qua vao tep ketqua
return true;

2.2.2. Áp d ng ph

ng pháp kh Gauss-Jordan đ tính ma tr n ngh ch đ o

gi i h n ph ng trình n n Ax = b, trong ph ng pháp kh Gauss-Jordan ta đã dùng
các phép bi n đ i s c p đ đ a ph ng trình này v d ng
Ex = b'
Vì Ex = x, do đó ta có x=b'. N u B là m t ma tr n ch nh t c p n x k tùy ý, ta có th áp
d ng ph ng pháp kh Gauss-Jordan đ gi i đ ng th i k h n ph ng trình n n:
AX = B

(2.2)

trong đó
25

CuuDuongThanCong.com

/>

Ch

ng pháp s trong đ i s tuy n tính

ng 2: Các ph

⎡ x11

⎢x
21
X= ⎢
⎢ .

⎣ x n1

x12
x 22
.
xn2

⎡b11
⎢b
21
B= ⎢
⎢ .

⎣bn1

b12
b22
.
bn 2

... x1k ⎤
... x 2 k ⎥⎥
... . ⎥

... x nk ⎦

... b1k ⎤
... b2 k ⎥⎥
... . ⎥

... bnk ⎦

Ta vi t ma tr n B bên ph i ma tr n A nh sau:

⎡ a11
⎢a
⎢ 21
⎢ .

⎣a n1

a12
a 21
.
an2

... a1n
... a 2 n
...

.

... a nn

b11


b12

b21

b22

.
bn1

.
bn 2

... b1k ⎤
... b2 k ⎥⎥
... . ⎥

... bnk ⎦

N u ma tr n A không suy bi n, ta có th áp d ng các phép bi n đ i s c p đ đ a ma tr n
này v d ng:

⎡1 0 ... 0 b'11
⎢0 1 ... 0 b'
21

⎢ . . ... .
.

⎣0 0 ... 1 b' n1


b'12
b' 22
.
b' n 2

... b'1k ⎤
... b' 2 k ⎥⎥
...
. ⎥

... b' nk ⎦

Khi đó ta có

⎡ x11
⎢x
21
X= ⎢
⎢ .

⎣ x n1

x12
x 22
.
xn2

⎡b'11
⎢b'
21

t B’ = ⎢
⎢ .

⎣b' n1

... x1k ⎤ ⎡b'11
... x 2 k ⎥⎥ ⎢⎢b' 21
=
... . ⎥ ⎢ .
⎥ ⎢
... x nk ⎦ ⎣b' n1
b'12
b' 22
.
b' n 2

b'12
b' 22
.
b' n 2

... b'1k ⎤
... b' 2 k ⎥⎥
;
...
. ⎥

... b' nk ⎦

... b'1k ⎤

... b' 2 k ⎥⎥
...
. ⎥

... b' nk ⎦

Xét tr ng h p đ c bi t B = E, ta có ma tr n B' chính là ma tr n ngh ch đ o c a ma tr n A.
Th t v y, n u X là nghi m c a (2.2) thì
X = A-1B
N u B = E thì X = A-1. Do đó vi c tìm ma tr n ngh ch đ o c a ma tr n A t ng đ ng
v i vi c gi i ph ng trình
AX = E
26

CuuDuongThanCong.com

/>

×