Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
1,35 MB
Nội dung
GIẢI ĐÚNG, GẦN ĐÚNG HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH 1. MỤC ĐÍCH Cho hệ phương trình đại số tuyến tính 11 1 12 2 1 1 21 1 22 2 2 2 1 1 2 2 (1.1) Ax = b 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 + + + = + + + = ⇔ + + + = L L L (1.2) Nếu detA ≠ 0 thì hệ (1) là hệ Crame có nghiệm duy nhất: i det A det A 1,2 i i x i n ∆ = = ∆ = ( ) ( ) 1 1 1 1 1 i i n n i i in i a a + + ∆ = − ∆ + + − ∆ trong đó j i ∆ là định thức cấp n – 1 bỏ đi hàng i cột j của ∆ Khi n lớn thì khối lượng tính toán sẽ rất lớn. Để giảm nhẹ khối lượng tính toán ta có 2 phương pháp giải: giải đúng và giải gần đúng: +) Phương pháp giải đúng: là phương pháp cho lời giải sau một số hữu hạn bước. Phương pháp này thường để giải các hệ kích thước nhỏ với (A, b) cho đúng +) Phương pháp giải gần đúng: là các phương pháp lặp cho nghiệm xấp xỉ ( ) m x dần tới nghiệm đúng khi m → ∞ . Đối với các hệ có kích thước lớn và các số liệu cho gần đúng thì phương pháp lặp có lợi hơn. 2. CÁC PHƯƠNG PHÁP GIẢI ĐÚNG 2.1 Phương pháp khử Gauss 1 HPT 11 1 12 2 1 1 1 21 1 22 2 2 2 1 1 1 2 2 1 n n n n n n n n nn n nn a x a x a x a a x a x a x a a x a x a x a + + + + + + = + + + = + + + = L L L (1.3) Khử Gauss 1 12 2 1 1 1 2 2 2 1 1 (1.3) n n n n n n n nn x b x b x b x b x b x b + + + + + + = + + = ⇔ = Dùng phương pháp thế ngược ta tìm được: 1 1 , , , n n x x x − +) Cụ thể: với n = 4 Xét hệ pt: 11 1 12 2 13 3 14 4 15 21 1 22 2 23 3 24 4 25 31 1 32 2 33 3 34 4 35 41 1 42 2 43 3 44 4 45 (1) (2) (3) (4) a x a x a x a x a a x a x a x a x a a x a x a x a x a a x a x a x a x a + + + = + + + = + + + = + + + = (1.4) - Bước 1: Khử 1 x ở 3 phương trình (2), (3), (4): giả sử a 11 ≠ 0 chia 2 vế của (1) cho a 11 ta có: 1 12 2 13 3 14 4 15 (1')x b x b x b x b+ + + = trong đó 1 11 2,5 j ij a b j a = = Lấy phương trình (2) của hệ (1.3) trừ đi pt 21 (1').a Lấy phương trình (3) của hệ (1.3) trừ đi pt 31 (1').a Lấy phương trình (4) của hệ (1.3) trừ đi pt 41 (1').a Ta có hệ: 2 22 23 24 25 32 33 34 35 42 43 44 45 1 1 1 1 2 3 4 1 1 1 1 2 3 4 1 1 1 1 2 3 4 (1) (2) (3) a x a x a x a a x a x a x a a x a x a x a + + = + + = + + = (1.5) trong đó 1 1 1 . 2,3,4 2,3,4,5 ij j i ij a a b a i j= − = = - Bước 2: Khử 2 x trong hệ (1.4). Giả sử 22 1 0a ≠ chia 2 vế phương trình (1) của hệ (1.5) cho 22 1 a ta được: 2 23 3 24 4 25 (1.6)x b x b x b+ + = Trong đó 1 2 2 1 22 2,3,4 j j a b j a = = Khử 2 x bằng cách: pt(2) của hệ (1.5) – pt(1.6). 1 32 a pt(3) của hệ (1.5) – pt(1.6). 1 42 a ta được hệ: 33 34 34 43 44 45 2 2 2 3 4 2 2 2 3 4 (1) (2) a x a x a a x a x a + = + = (1.7) trong đó: 2 2 1 1 2 . 3,4 3,4,5 ij i j ij a a b a i j= − = = - Bước 3: Khử 3 x Giả sử 2 33 0a ≠ . Chia 2 vế phương trình (1) của hệ (1.7) cho 2 33 a ta được: 3 34 4 35 x b x b+ = (1.8) trong đó 2 3 3 2 32 4,5 j j a b j a = = Lấy phương trình (2) của hệ (1.7) – pt(1.8). 2 43 a ta có: 3 3 44 4 45 .a x a= trong đó: 3 2 2 4 4 3 43 . 4,5 j j j a a b a j= − = 3 45 4 45 3 44 a x b a ⇒ = = 3 Vậy ta nhận được hệ: 1 12 2 13 3 14 4 15 2 23 3 24 4 25 3 34 4 35 4 45 x b x b x b x b x b x b x b x b x b x b + + + = + + = + = = *) Nhận xét: - Vậy đối với hệ n phương trình, ta thực hiện n – 1 bước, khối lượng tính toán là 2 ( 6 1) 3 n n n+ − . Giảm nhiều so với giải bằng phương pháp định thức - Ưu điểm: thuật toán đơn giản, độ phức tạp thấp - Nhược điểm: không thực hiện được khi trong các phần tử dẫn 1 1 11 22 ; ; ; n nn a a a − có một phần tử bằng 0 hoặc khi phần tử dẫn xấp xỉ bằng 0 thì sai số rất lớn. *) Ví dụ 1: Giải các hệ phương trình a) 1 2 3 1 2 3 1 2 3 2 3 1 2 3 2 3 2 3 x x x x x x x x x + + = + + = + + = b) 1 3 4 5 1 2 3 4 1 2 3 4 5 1 2 3 4 5 1 2 4 5 3 2 2 9 2 3 8 4 2 6 16 5 3 4 2 2 x x x x x x x x x x x x x x x x x x x x x x − + − = − + + − = − + − − = − + + − − = − + + + = − Giải a) 4 1 x 2 x 3 x Hệ số tự do 1 2 3 1 2 1 3 2 3 2 1 3 - 2d 1 + d 2 1 2 3 1 - 3d 1 + d 3 0 -3 -3 0 0 -4 -8 0 Chia 2 vế cho -3 1 2 3 1 4d 2 + d 3 0 1 1 0 0 0 -4 0 Hay ta có hệ: 1 2 3 2 3 3 1 2 3 2 3 1 0 4 0 1 0 3 x x x x x x x x x + + = + = − = = ⇔ = = Vậy nghiệm của hệ phương trình là: (1;0;0) b) 1 x 2 x 3 x 4 x 5 x Hệ số tự do 1 0 -1 1 -1 -3 2 2 1 -9 0 2 3 -1 1 -8 -4 -2 6 1 1 1-6 -5 -3 1 1 0 4 2 -2 1 0 -1 1 -1 -3 0 2 3 -11 2 8 0 -1 4 -5 -1 7 0 1 7 -22 1 15 0 1 1 3 3 1 1 0 -1 1 -1 -3 0 0 1 -17 -4 6 0 0 5 -2 2 8 0 0 6 -25 -2 14 5 0 1 1 3 3 1 1 0 -1 1 -1 -3 0 1 1 3 3 1 0 0 1 -17 -4 6 0 0 0 83 22 -22 0 0 0 77 22 -22 1 0 -1 1 -1 -3 0 1 1 3 3 1 0 0 1 -17 -4 6 0 0 0 83 22 -22 0 0 0 77 0 0 4 5 3 2 1 0 1 2 2 2 x x x x x = = − ⇒ = = = − Vậy nghiệm của hệ phương trình là: (0; -1; 2; 2; -2) 6 2.2 Phương pháp Khaletsky Cho hệ phương trình: 11 1 12 2 1 1 21 1 22 2 2 2 1 1 2 2 (1.1) Ax = b 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 + + + = + + + = ⇔ + + + = L L L (1.2) - Bước 1 : Tách ma trận A thành tích 2 ma trận: A = B.C trong đó: 11 21 22 1 2 0 0 0 B nn n n b b b b b b ÷ ÷ ÷ ÷ ÷ = 12 13 1 23 2 1 0 1 C 0 0 1 n n c c c c c ÷ ÷ ÷ ÷ ÷ = - Bước 2 : Giải hệ Ax = b ⇔ (B.C)x = b ⇔ B(Cx) = b By = b Cx = y ⇔ - Bước 3 : +) By = b 11 1 1 21 22 2 2 1 2 0 0 0 n n nn n n b y b b b y b y b b b b ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ⇔ = M M 11 1 1 21 1 22 2 2 1 1 2 2 n n nn n n b y b b y b y b b y b y b y b = + = ⇔ + + + = dùng phép thế thuận 1 2 n y y y⇒ ⇒ ⇒ ⇒ +) Cx = y 12 13 1 1 1 2 2 23 2 1 0 1 0 0 1 n n n n c c c x y x y c c x y ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ⇔ = M M 7 1 12 2 1 1 2 2 2 n n n n n n x c x c x y x c x y x y + + + = + + = ⇔ = Theo phép thế ngược 1 1 n n x x x − ⇒ ⇒ ⇒ ⇒ *) Cách tính ; ij ij b c +) Tính ij b : ta có A = B.C 1 n ij ik kj k a b c = ⇒ = ∑ 1 1 2 2 1 1 ij i j i j ij jj ij j j in nj a b c b c b c b c b c + + ⇔ = + + + + + + Do 1 0 (i > j) 0 1 (i = j) ij j j nj c c c + = ⇒ = = = 1 1 j ij ij ik kj k b a b c − = ⇒ = − ∑ +) Tính ij c : 1 1 2 2 1 1 1 n ij ik kj i j i j ij jj ij j j in nj k a b c b c b c b c b c b c + + = = = + + + + + + ∑ Do 0 ij b = nếu j > i 1 2 0 ii ii in b b b + + ⇒ = = = = 1 1 1 i ij ij ik kj k ii c a b c b − = ⇒ = − ÷ ∑ *) Ví dụ 2: Giải hệ phương trình sau bằng phương pháp Khaletsky 1 2 3 4 1 2 3 4 1 3 4 1 2 3 3 3 2 6 5 3 4 12 2 1 5 3 3 3 x x x x x x x x x x x x x x x + − + = − + + − = − + − = − + − = Giải 8 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 0 0 0 1 3 1 1 2 0 0 0 1 5 1 3 4 A 2 0 1 1 0 0 0 1 1 5 3 3 0 0 0 1 b c c c b b c c b b b c b b b b ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ − − − = = − − − 12 11 11 12 11 21 21 13 31 31 14 41 41 1 3 3 1 5 3 2 2 3 1 a b a c a b a c b a c b a = = = = = = − = − = = = = = 22 22 21 12 23 23 21 13 22 32 32 31 12 24 24 21 14 22 42 42 41 12 8 1 1 ( ) 3 2 2 1 1 ( ) 3 4 16 3 b a b c c a b c b b a b c c a b c b b a b c = − = = − = = − = − = − = − = − = − 33 33 31 13 32 23 34 34 31 13 32 24 33 43 43 41 13 42 23 44 44 41 14 42 24 43 34 1 5 ( ) 2 ( ( )) 4 ( ) 6 5 ( ) 2 b a b c b c c a b c b c b b a b c b c b a b c b c b c = − + = = − + = − = − + = = − + + = Vậy 3 0 0 0 1 1 2 1 3 3 3 8 5 0 0 1 1 3 0 1 A 2 4 2 2 2 0 5 3 0 0 1 4 16 5 1 6 0 0 0 1 3 2 − ÷ ÷ ÷ ÷ − ÷ ÷ − ÷ ÷ = − ÷ ÷ ÷ ÷ − ÷ ÷ − ÷ ÷ = B.C Ax = b By = b Cx = y ⇔ 9 By = b 1 1 1 2 2 1 2 3 3 4 1 2 3 4 3 6 2 8 3 5 12 3 4 2 7 2 2 1 3 4 16 5 3 6 3 3 3 y y y y y y y y y y y y y y = = − + = − = − ⇔ ⇔ − + = = − = − + + = Cx = y 1 2 3 4 1 2 2 3 4 3 3 4 4 4 1 1 2 2 3 3 3 1 1 1 3 1 2 4 4 2 5 7 3 4 4 3 x x x x x x x x x x x x x x + − + = = = − + − = − ⇔ ⇔ = − = − = = 2.3 Phương pháp Cholesky (Phương pháp căn bậc hai) Nội dung: giải hệ Ax = b với điều kiện A là ma trận đối xứng ( T A A= ). Ta biểu diễn A dưới dạng: T A = S .S trong đó: ( ) x 11 12 1 22 2 0 S 0 0 n n ij n n nn s s s s s s s ÷ ÷ = = ÷ ÷ ; s ij = 0 nếu i > j - Bước 1: xác định S sao cho A = S T .S +) 11 11 s a= ; 1 1 1 11 11 ( 1) j j j a a s j a s = = > +) 1 2 1 (2 ) i ii ii ki k s a s i n − = = − ≤ ≤ ∑ 1 1 ( ) 0 ( ) i ij kj ki k ij ii a s s i j s s i j − = − < = > ∑ - Bước 2: giải Ax = b ⇔ S T .S.x = b 10 [...]... của hệ là 0.000 0.000 0.000 0.000 0.000 0.000 (Đây là nghiệm tầm thường của hệ) Trong thực tế, đặc biệt là trong kĩ thuật nhiều khi ta phải giải các hệ đại số tuyến tính mà số liệu không phải là các số nguyên mà là các số thập phân Khi đó nếu giải hệ bằng tay thì việc tính toán sẽ gặp nhiều vất vả Các ví dụ sau cho thấy tính ưu việt của lập trình Pascal và Maple 12 *) Ví dụ 12: Giải hệ đại số tuyến tính. .. + 1, 4 20 k 0 1 2 3 4 x1k +1 1,2 1,2 0,9992 0,9995552 1,0000 k x2 +1 0 1,06 1,00536 1,00018 1,000 k x3 +1 0 0,984 0,999088 1,000052928 1,000 21 4 GIẢI HỆ ĐẠI SỐ TUYẾN TÍNH BẰNG MAPLE 12 VÀ LẬP TRÌNH PASCAL 4.1 Chương trình Pascal giải hệ đại số tuyến tính Program giaihdstt; var n,i,j,k: integer; s:real; b,p,x:array[1 50] of real; a:array[1 50,1 50] of real; procedure nhap; var f:text; begin assign(f,'C.PAS');... 12 Ta xét tiếp ví dụ 10 sau đây *) Ví dụ 10: Giải hệ đại số tuyến tính A x = u trong đó 24 Giải: 1.Dùng Maple 12 [> [> [> [> 2.Sử dụng LT Pascal Nhập ma trận lưu vào C.PAS 5 1 1 -1 1 -1 2 2 1 -9 1 3 -1 1 -8 -4 6 1 1 1 -5 25 1 1 1 1 2 Sau đó chạy B.PAS trên màn hình hiện nghiệm của hệ là 1.000 1.000 -1.000 2.000 1.000 *) Ví dụ 11: Giải hệ đại số tuyến tính A x = u trong đó Giải: 1.Dùng Maple 12 [> [>... xét - Phương pháp Seidel có độ chính xác cao hơn phương pháp lặp đơn, tốc độ hội tụ nhanh hơn phương pháp lặp đơn ( vì ν < B < 1 ) - Phương pháp Seidel tiết kiệm bộ nhớ hơn phương pháp lặp đơn vì : + Phương pháp lặp đơn sử dụng 2n ô nhớ cho Xk+1và Xk + Phương pháp Saidel chỉ cần n ô nhớ của X k → Xk+1 vì sau khi tính x1k +1 thì không cần sử dụng x1k , lúc đó bỏ số x1k +1 vào ô nhớ của x1k để tính k... x2 0,85 k x3 1, 4 1 0,9615 0,9999265 1,56767 2 0,9825 1, 00548 1,564025 3.3 Phương pháp Gauss-Seidei Là phương pháp Seidel áp dụng cho hệ phương trình với ma trận đường chéo trội 10 x1 + x2 + x3 = 12 *) Ví dụ 8: Giải hệ phương trình 2 x1 + 10 x2 + x3 = 13 2 x + 2 x 10 x = 14 2 3 1 Giải : x1 = −0,1x2 − 0,1x3 + 1 Hệ ⇔ x2 = 0, 2 x1 − 0,1x3 + 1,3 x = −0, 2 x − 0, 2 x + 1, 4 1 2 3 −0,1... Giải hệ đại số tuyến tính A x = u trong đó Giải: 1.Dùng Maple 12 [> [> [> 23 [> 2.Sử dụng LT Pascal Nhập ma trận lưu vào C.PAS 4 2312 4634 6956 8 12 7 1 3579 Sau đó chạy B.PAS trên màn hình hiện nghiệm của hệ là 2.000 0.000 -1.000 0.000 *) Nhận xét: Như vậy khi sử dụng Pascal trong Ví dụ này chỉ cho ta 1 nghiệm riêng của hệ Còn sử dụng Maple 12 ta biết được nghiệm tổng quát của hệ Tuy nhiên đối với hệ. .. 0 0 2 1 0÷ ÷ 1 −1 1 ÷ BT y = b ⇔ Hệ phương trình đã cho Bx = y y1 = 1 +) Giải 1: 2 y1 + y2 = 1 y − y + y =1 3 1 2 (1) (2) y1 = 1 y 2 = −1 y = −1 3 x1 + 2 x2 + x3 = 1 x1 = 6 x2 − x3 = −1 ⇔ x2 = −2 +) Giải 2: x = −1 x3 = −1 3 12 3 GIẢI GẦN ĐÚNG HỆ PHƯƠNG TRÌNH ĐSTT 3.1 Phương pháp lặp đơn Nội dung: Từ hệ Ax = b (1.2) với A = ( aij ) n×n ;x = x1 ... nghiệm của hệ là -1.252 2.934 -2.088 2.105 *) Ví dụ 13: Giải hệ đại số tuyến tính A x = u trong đó 28 Giải: 1.Dùng Maple 12 [> [> [> [> 2.Sử dụng LT Pascal Nhập ma trận lưu vào C.PAS 5 1.002 1.232 -1.311 1.221 -1.002 2.231 2.131 1.222 -9.012 1.111 3.203 -1.125 1.104 -8.235 -4.321 6.534 1.147 1.333 1.203 -5.461 1.135 1.162 1.412 1.327 2.315 Sau đó chạy B.PAS trên màn hình hiện nghiệm của hệ là 0.021... 026667 Vậy nghiệm của hệ là : x2 = 0, 4176 ± 0, 026667 x = 0, 6672 ± 0, 026667 3 3.2 Phương pháp Seidel Xét hệ AX = b (1.2) ⇔ X= BX + g, B < 1 Phân tích B thành tổng hai ma trận B = B1+ B2 17 0 0 b12 0 Trong đó B1 = bn1 bn 2 0 ÷ 0 ÷ B = ÷ 2 ÷ bnn b11 b12 0 b12 0 0 b1n ÷ b2 n ÷ ÷ ÷ bnn ⇒ X = B1X + B2X + g (1.9) Giải hệ (1.9) bằng phương pháp lặp Xk+1=B1Xk+1+B2Xk... ⇔ α =B α + g và mọi dãy lặp TXk+1=TXk+ g (xo tuỳ ý ) hội tụ tới α *) Ví dụ 4: Giải hệ phương trình trên bằng phương pháp lặp đơn với ba bước lặp 1, 02 x1 − 0, 05 x2 − 0,1x3 = 0, 795 −0,11x1 + 1, 03x2 − 0, 05 x3 = 0,849 −0,11x − o,12 x + 1, 04 x = 1,398 1 2 3 Giải x1 = −0,02 x1 + 0,05 x2 + 0,1x3 + 0,795 Hệ ⇔ x2 = 0,11x1 − 0,03x2 + 0,05 x3 + 0,849 x = 0,11x + 0,12 x − 1,04 x + 1,398 . GIẢI ĐÚNG, GẦN ĐÚNG HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH 1. MỤC ĐÍCH Cho hệ phương trình đại số tuyến tính 11 1 12 2 1 1 21 1 22 2 2 2 1 1 2 2 (1.1) Ax = b n. phương trình (2) của hệ (1.3) trừ đi pt 21 (1').a Lấy phương trình (3) của hệ (1.3) trừ đi pt 31 (1').a Lấy phương trình (4) của hệ (1.3) trừ đi pt 41 (1').a Ta có hệ: 2 22 23 24. 1,564025 k k k k x x x 3.3 Phương pháp Gauss-Seidei Là phương pháp Seidel áp dụng cho hệ phương trình với ma trận đường chéo trội *) Ví dụ 8: Giải hệ phương trình 1 2 3 1 2 3 1 2 3 10 12 2