Lưu đồ phương pháp dây cung

Một phần của tài liệu Xây dựng phần mềm hỗ trợ học phương pháp tính (Trang 41 - 47)

Sai số là  - x1≤ f(x1) / m, trong đó: 0< m ≤ f’(x) , x [a,b]

2.2. Một số phương pháp tìm nghiệm gần đúng của hệ phương trình đại số tuyến tính số tuyến tính

Cho hệ phương trình tuyến tính:

a11 x1 + a12 x2 + ... + a1n xn = a1n +1

a21 x1 + a22 x2 + ... + a2n xn = a2n +1 (2.12) … …

an1 x1 + an2 x2 + ... + ann xn = ann +1

Hệ phương trình trên có thể được cho bởi ma trận: a11 a12 ... a1n a1n +1

Ann +1 = a21 a22 ... a2n a2n +1 (2.13)

... an1 an2 ... ann ann +1

Việc tìm nghiệm của hệ (2.12) tương đương tìm vectơ nghiệm x = (x1 ,... , xn)

2.2.1. Phương pháp Krame

35 ĐẠI HỌC HÙNG VƯƠNG a11 a12 ... a1n A = a21 a22 ... a2n (2.14) ... an1 an2 ... ann + d = Det (A)

+ Xét d = 0 ma trận A suy biến, d ≠ 0 A không suy biến Hệ có nghiệm duy nhất tính bởi công thức Krame

di = Det(Ai) ; xi = di /d ; i = 1,2,....,n

Theo phương pháp Krame thì khi tìm nghiệm một hệ n phương trình n ẩn ta phải thực hiện số lượng phép tinh là: NC(n) = n(n +1)!

với n = 15 thì NC(15) = 3.1014

2.2.1. Phương pháp Gauss (Gaoxơ)

Phương pháp Gauss dùng cách khử dần các ẩn để đưa hệ đã cho về một hệ có dạng tam giác trên, rồi giải hệ tam giác này từ dưới lên trên, không phải tính một định thức nào.

- Biến đổi Ma trận A về ma trận tam giác bằng cách khử dần các ẩn của hệ. a11 a12 ... a1n a1n + 1

A’ = 0 a’22 ... a’2n a’2n + 2 ... 0 0 ... a’nn a’nn + 1

Cách biến đổi A thành A’: thực hiện n -1 lần biến đổi Lần biến đổi thứ i làm cho aji=0, j = i +1  n bằng cách: Dòng j = dòng j + dòng i * m ( m = - aji / ai j )

- Tìm nghiệm theo quá trình ngược: xn xn -1 ... x1

Ví dụ: 2x1 + x2 = 1 4x1 + 6x2 = 3

Khử x1 phương trình thứ 2 ta được hệ sau: 2x1 + x2 = 1 4x2 = 1

Tìm được x1 = 0,25 ; x2 = 0,375 Cho hệ phương trình tuyến tính:

a11x1 + a12x2 + a13x3 = a14

a21x1 + a22x2 + a23x3 = a24 (2.15)

36

ĐẠI HỌC HÙNG VƯƠNG

Đưa về dạng tam giác

x1 + b12x2 + b13x3 = b14

x2 + b23x3 = b24 (2.16) x3 = b34

Quá trình đưa (2.15) về (2.16) gọi là quá trình xuôi, Quá trình giải hệ (2.16) gọi là quá trình ngược.

a, Quá trình xuôi

Bước 1: Khử x1, cho hệ phương trình (2.15) nêu trên, giả sử a11≠0 ta gọi nó là trụ thứ nhất và chia hai vế của phương trình thứ nhất cho a11 ta được:

x1 + a(1)

12x2 + a(13)x3 = a(1)

(14) (2.17)

Rút x1 từ phương trình trên ta được: x1 = a(1)

14 - a(1)

12x2 – a(1) 13x3

Thay x1vào hai phương trình còn lại của (2.15) ta có các phương trình chỉ chứa x1 và x2 là: a(1)22x2 – a(1) 23x3= a(1)24 (2.18) a(1) 22x2 – a(1) 23x3= a(1) 24 (2.19)

Bước 2: Khử x2, giả sử a22 ≠ 0 của phương trình (2.18), gọi nó là trụ thứ hai và chia (2.18) cho a22 ta được: x2 – a(2)

23x3 = a(2)24

rút x2 từ phương trình trên ta được: x2 = a(2)

24 - a(2) 23x3

Thay x2 vào phương trình(2.19) ta có, và biến đổi ta tìm được x3: x3 = a(3) 34

Từ các kết quả trên hệ phương trình (2.15) tương đương với hệ phương trình có dạng tam giác sau đây:

x1 + a(1)12x2 + a(13)x3 = a(1)14 x2 + a(2) 3x3 = a(2 ) 24 (2.20) x3 = a(3) 34 b, Quá trình ngược

Giải hệ tam giác (2.16) thay x3 vào phương trình thứ hai tìm được x2sau đó thay x2, x3vào phương trình thứ nhất ta tìm được x1:

x3 = a(3) 34 x2 = a(2 ) 24 - a(2) 3x3 (2.21) x1 = a(1) (14) - a(1) 12x2 - a(13)x3

Vậy là hệ (2.15) đã giải xong mà không cần tính một định thức nào.

Chọn trụ tối đại: Trong quá trình xuôi của phương pháp Gauss ta đã giả thiết a11 ≠ 0, a22 ≠ 0, a33 ≠ 0. Nếu một trong các hệ số trên bằng không thì quá trình

37

ĐẠI HỌC HÙNG VƯƠNG

tính không tiếp tục được. Ta phải xétcác hệ số a21 hoặca31 của x1 và tiến hành tương tự như vai trò của a11 để khử dần các ẩn. Nếu cả ba hệ số trên bằng không thì hệ đã ch suy biến. Mặt khác khi chia cho một số khác không sai số càng nhỏ khi giá trị tuyệt đối của số chia càng lớn. Do đó để hạn chế sai số ta chọn max của các giá trị tuyệt đối của các hệ số a11, a21, a31 và gọi là trụ tối dại thứ nhất để khử x1, khi khử x2, x3, cũng làm tương tự[4].

Khối lượng tính và công thức tính đối với hệ n ẩn: Theo phương pháp Gauss thì khi tìm nghiệm một hệ n phương trình n ẩn ta phải thực hiện số lượng phép tinh là: NG(n) = 3 2 4 9 7 6 nnn với n = 15 thì NG(15) = 2570 2.2.2. Phương pháp lặp đơn Chuyển hệ (2.15) về dạng x = Bx + g x = ( x1 ,... , xn ); B được suy ra từ A. g suy ra từ f = (a1n +1 , a2n +1 ,...., ann +1 ) x1 = ( a1n + 1- 1 n j  a1 j xj ) / a11 (j 1) ... xn = ( ann + 1- 1 n j  an j xj ) / ann (j n) Tổng quát: xi = ( ain + 1- ∑ai j xj ) / aii (j =1,....,n; j i) (2.22)

Cho xấp xỉ nghiệm ban đầu của hệ là x0 = ( x10 , x20... , xn0 )

Thay x0 vào (2.22) ta tính được x11 , x21... , xn1

x11 = ( a1n + 1- ∑a1 j xj ) / a11 (j =1,....,n; j 1)

...

xik+1 = ( ain + 1- ∑ai j xjk ) / aii (j =1,....,n; j k)

Quá trình lặp dừng khi thỏa mãn điều kiện hội tụ: |xik+1 – x ik| < với i =1, ..., n

Điều kiện hội tụ: Hệ phương trình hội tụ đến nghiệm với bất kì x0 tuỳ ý khi và chỉ khi thoả mãn điều kiện:

Hoặc r1 =Max∑bi j 1 ( max theo i, j =1,....,n ) Hoặc r2 =Max∑bi j 1 ( max theo j, i =1,....,n )

38 ĐẠI HỌC HÙNG VƯƠNG Hoặc r3 =Max∑∑bi j 1 ( j, i =1,....,n ) với sai số là: xm – ≤ rp * xm – x m -1/(1 - rp) Trong đó: p = 1 nếu r1  1 p = 2 nếu r2  1 p = 3 nếu r3  1

Ví dụ: Giải hệ phương trình tuyến tính: 4 x1 + 0,24 x2 - 0,08 x3 = 8 0,09 x1 + 3 x2 – 0,15 x3 = 9 (2.23) 0,04 x1 – 0,08 x2 + 4 x3 = 20 Đưa về hệ sau: x1 = - 0,06 x2 + 0,02 x3 + 2 x2 = - 0,03 x1 + 0,05 x3 + 3 x3 = - 0,01 x1 + 0,02 x2 + 5 0 - 0,06 0,02 B = - 0,03 0 0,05 - 0,01 0,02 0 g = (2,3,5) Max∑b1j= 0 + - 0,06 + 0,02 = 0,08 Max∑b2j= 0,03 + 0 + 0,05 = 0,08 Max∑b3j= 0,01 + 0,02 + 0 = 0,03 r1 =Max∑bi j=  0,08; 0,08; 0,03 = 0,08 < 1 Chọn x0 = (0,0,0) ta có kết quả cho bảng 2.4:

Bảng 2.4. Bảng kết quả tìm nghiệm theo phương pháp lặp đơn.

M 0 1 2 3 4

x1m 0 2 1,92 1,9094 1,90923

x2m 0 3 3,14 3,1944 3,19495

x3m 0 5 5,04 5,0446 5,04485

39 ĐẠI HỌC HÙNG VƯƠNG Chọn  x4 – x 3= max | xi4 – xi3= 0,00055  x4 – ≤ 0,08*0,00055 / (1 – 0,08)  0,00005 Vậy: 14 = 1,9092  0,00005 24 = 3,1949  0,00005 34 = 5,0448  0,00005

Một hệ đại số tuyến tính không ổn định: Khi giải tìm nghiệm gần đúng một hệ phương trình đại số tuyến tính ta cần chú ý hiện tượng sau. Xét hai hệ phương trình cụ thể: x1 + 2x2 = 2 (2.24) 2x1 + 3,9x2 = 2 x1 + 2x2 = 2 (2.25) 2x1 + 4,1x2 = 2 Nghiệm của hệ (2.24) là x1 = -38; x2 = 20 Nghiệm của hệ (2.25) là x1 = 42; x2 = -20

Nhìn vào hai hệ phương trình trên ở một hệ số chỉ khác nhau rất nhỏ

3,9 – 4,1 = 0,2 nhưng nghiệm của chúng lại sai lệch khá xa. Đây là hiện tượng không ổn định trong tính toán, do đó cần chú ý tránh nhầm lẫn[4].

40

ĐẠI HỌC HÙNG VƯƠNG

CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM HỖ TRỢ HỌC PHƯƠNG PHÁP TÍNH

Khi bắt đầu mở phần mềm này, form giao diện chính sẽ hiển thị đầu tiên để chào mừng người dùng đến với những tiện ích phần mềm cũng như giới thiệu về nhóm lập trình. Nếu muốn biết tất cả các chức năng của phần mềm này, hãy đọc hướng dẫn sử dụng trong file PDF sau nhi click vào biểu tượng i trên thanh công cụ. Dưới đây là giao diện của toàn bộ phần mềm và đầu tiên là form chính.

Một phần của tài liệu Xây dựng phần mềm hỗ trợ học phương pháp tính (Trang 41 - 47)

Tải bản đầy đủ (PDF)

(72 trang)