Phương pháp gauss jordan tìm ma trận nghịch đảo

14 6.5K 3
Phương pháp gauss jordan tìm ma trận nghịch đảo

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Phương pháp gauss jordan tìm ma trận nghịch đảo

Phương pháp Gauss – Jordan tìm ma trận nghịch đảo Nguyễn Thị Thu Hà TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA TOÁN TIN ỨNG DỤNG -*** - BÁO CÁO BÀI TẬP LẬP TRÌNH TÍNH TOÁN Đề tài : Phương pháp Gauss – Jordan tìm ma trận nghịch đảo Giáo viên hướng dẫn : PGS – TS Nguyễn Hữu Điển Sinh viên thực : Nguyễn Thị Thu Hà Lớp : Toán tin – K51 Hà Nội, tháng 11 năm 2009 Phương pháp Gauss – Jordan tìm ma trận nghịch đảo Nguyễn Thị Thu Hà MỤC LỤC LỜI NÓI ĐẦU .3 NỘI DUNG I Bài toán: II Phương pháp Gauss – Jordan: .4 III Các lệnh sử dụng chương trình: Chương trình sử dụng mảng chiều để lưu trữ ma trận Các lệnh điều khiển maple: Lệnh in kết quả: .6 IV Chương trình: .7 V Một số ví dụ: .10 Ví dụ 10 Thử lại ví dụ 1: .10 Ví dụ 11 Bài tập 11 KẾT LUẬN 13 TÀI LIỆU THAM KHẢO 14 Phương pháp Gauss – Jordan tìm ma trận nghịch đảo Nguyễn Thị Thu Hà LỜI NÓI ĐẦU Maple gói phần mềm toán học thương mại phục vụ cho nhiều mục đích Nó phát triển lần vào năm 1980 Nhóm Tính toán Hình thức Đại học Waterloo Waterloo, Ontario, Canada Từ năm 1988, phát triển thương mại hóa Waterloo Maple Inc (còn biết đến với tên gọi Maplesoft), công ty Canada có trụ sở Waterloo, Ontario Phiên Maple 13 phát hành vào tháng năm 2009 Người dùng nhập biểu thức toán học theo ký hiệu toán học truyền thống Có thể dễ dàng tạo giao diện người dùng tùy chọn Maple hỗ trợ cho tính toán số tính toán hình thức, hiển thị Nhiều phép tính số học thực dựa thư viện số học NAG; Maple, chương trình NAG mở rộng phép độ xác ngẫu nhiên lớn Maple có ngôn ngữ lập trình cấp cao đầy đủ Cũng có giao diện cho ngôn ngữ khác (C, Fortran, Java, MatLab, Visual Basic) Cũng có giao diện dành cho Excel Sau trình học tập nghiên cứu môn học Lập trình tính toán, em xin trình bày số kết đạt việc ứng dụng Maple để lập trình hướng thủ tục giải toán “Tìm ma trận nghịch đảo phương pháp Gauss – Jordan” Phương pháp Gauss – Jordan tìm ma trận nghịch đảo Nguyễn Thị Thu Hà NỘI DUNG I Bài toán: Cho ma trận A = [aij] vuông cấp n, không suy biến (det A # 0) Tìm ma trận B = [bij] cho A.B = E ( E ma trận đơn vị cấp n) Ma trận B tìm gọi ma trận nghịch đảo ma trận A Ký hiệu B = A-1 II Phương pháp Gauss – Jordan: Gọi A = [aij]n , B = A-1 = [Xij]n ma trận nghịch đảo cần tìm Từ I ta có: ⎡ a11 a1i a1 n ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ a i1 a ii a in ⎥ ⎢ ⎥ ⎢ ⎥ ⎢⎣ a n1 a ni a nn ⎥⎦ ⎡ x11 x1 i x1 n ⎤ ⎢ ⎥ ⎥ ⎢ ⎢ x i x ii x in ⎥ ⎥ ⎢ ⎢ ⎥ ⎢⎣ x n x ni x nn ⎥⎦ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢⎣ ⎥⎦ Đặt Xi = (x1i, x2i, …., xii, …., xni)t i = n Ei = (0, ,1(i), 0)t , i = n (hàng thứ i số hàng khácđều ) hệ phương trình viết dạng hệ phương trình ma trận: AXj = Ej , j = n (*) Mỗi hệ gồm n ẩn vectơ Xj , j = n Do det A # nên hệ dạng (*) tồn nghiệm Bằng phương pháp Gauss – Jordan giải n hệ (*) có ma trận A, ta làm sau: Lập ma trận mở rộng Ā gồm ma trận A ma trận đơn vị E đặt kề liền bên phải : Ā = [A | E ] thực theo bước: Phương pháp Gauss – Jordan tìm ma trận nghịch đảo Nguyễn Thị Thu Hà Bước 1: Giả thiết a11 # Chọn a11 làm phần tử giải, phần tử hàng giải chia cho a11, phần tử cột giải ( trừ a11) Các phần tử khác biến đổi theo công thức hình chữ nhật: aij(1) = aij - ai1a1 j a11 ∀ij kể phần tử ma trận E: a11 a1j ai1 aij Vậy sau bước ta thu ma trận Ā(1) = [aij(1)] , i = n, j = 2n Bước 2: giả thiết a22(1) # , lặp lại trình ta ma trận Ā(2) = [aij(2)] , i = n, j = 2n Và bước n ta ma trận Ā(n) = [aij(n)] , i = n, j = 2n Thì ma trận, từ cột thứ n +1 đến 2n ma trận A-1 cần tìm Phương pháp Gauss – Jordan tìm ma trận nghịch đảo Nguyễn Thị Thu Hà III Các lệnh sử dụng chương trình: Chương trình sử dụng mảng chiều để lưu trữ ma trận a := array (1 n, n) Các lệnh điều khiển maple: _ Câu lệnh if – then – else > if < điều kiện > then < thực câu lệnh điều kiện > else < thực câu lệnh điều kiện sai > fi; _ Câu lệnh while – > while < điều kiện > < thực lệnh > od; _ Câu lệnh for – > for i from < giá trị đầu > to < giá trị cuối> < dãy câu lệnh > od; Lệnh in kết quả: > print(e) ; Phương pháp Gauss – Jordan tìm ma trận nghịch đảo IV Chương trình: > GaussJordan :=proc(n :: integer, a) Local e, i, j, k, l, m; e :=array (1 n, n); #Tu nhap ma tran don vi E: for i from to n for j from to n if i = j then e[i, j] := 1; else e[i, j] := 0; fi; od; od; #Gauss – Jordan: k := 1; while k ≤ n i := n; while i ≥ if i # k then Nguyễn Thị Thu Hà Phương pháp Gauss – Jordan tìm ma trận nghịch đảo Nguyễn Thị Thu Hà j := 1; while j ≤ n e[i, j] := e[i, j] - a[i, k ]e[k , j ] ; a[k , k ] j := j + 1; od; j := n; while j ≥ a[i, j] := a[i, j] j := j – 1; od; fi; i := i – 1; od; l :=1; while l ≤ n e[k, l] := e[k , l ] ; a[k , k ] l := l +1; od; a[i, k ]a[k , j ] ; a[k , k ] Phương pháp Gauss – Jordan tìm ma trận nghịch đảo l := k + 1; while l ≤ n a[k, l] := a[k , l ] ; a[k , k ] l := l + 1; od; a[k, k] := 1; m := k + 1; while m ≤ n a[m, k] := 0; m := m + 1; od; k := k + 1; od; print(`Ma tran nghich dao can tim: `,e); end; Lưu thủ tục: đưa thủ tục thành thư viện dạng file > save GaussJordan, `c:\\GaussJordan.m`; Sử dụng thủ tục: nạp thư viện có sẵn > read `c:\\GaussJordan.m`; Nguyễn Thị Thu Hà Phương pháp Gauss – Jordan tìm ma trận nghịch đảo Nguyễn Thị Thu Hà V Một số ví dụ: Ví dụ ( trang 83 Giáo trình Giải tích số - Tác giả Lê Trọng Vinh) Tìm ma trận A-1 nếu: ⎡50 107 36 ⎤ A = ⎢⎢25 54 20⎥⎥ ⎢⎣ 31 66 21⎥⎦ > n := 3; > a := array ([[50, 107, 36], [25, 54, 20], [31, 66, 21]]); > GaussJordan (n, a); Thử lại ví dụ 1: > b := array ([[-186, 129, 196], [95, -66, -100], [-24, 17, 25]]); > GaussJordan (n, b); 10 Phương pháp Gauss – Jordan tìm ma trận nghịch đảo Nguyễn Thị Thu Hà Ví dụ (trang 85 Giáo trình Giải tích số - tác giả Lê Trọng Vinh) − 2⎤ ⎡1 ⎢ Cho A = ⎢ − 5⎥⎥ Tìm A-1 ⎢⎣− − ⎥⎦ > n := 3; > c := array([[1, 3, -2], [3, 4, -5], [-2, -5, 3]]); > GaussJordan (n, c); Bài tập (trang 119 Giáo trình Giải tích số - tác giả Lê Trọng Vinh) Tìm ma trận nghịch đảo ma trận sau: ⎡13 14 ⎤ ⎢ − 13 ⎥ ⎥ A= ⎢ ⎢6 2⎥ ⎢ ⎥ ⎣ 16 11⎦ > d := 4; > f := array([[13, 14, 6, 4], [8, -1, 13, 9], [6, 7, 3, 2], [9, 5, 16, 11]]); > GaussJordan (d, f); 11 Phương pháp Gauss – Jordan tìm ma trận nghịch đảo Tất ví dụ so với đáp số!! 12 Nguyễn Thị Thu Hà Phương pháp Gauss – Jordan tìm ma trận nghịch đảo Nguyễn Thị Thu Hà KẾT LUẬN Qua báo cáo em trình bày cách lập trình Maple để giải toán Tìm ma trận nghịch đảo phương pháp Gauss – Jordan Từ ứng dụng để viết chương trình khác Tuy nhiên chương trình hạn chế tính toán ma trận có đường chéo khác Trong tương lai em cải tiến để chương trình tìm ma trận nghịch đảo ma trận Em xin chân thành cảm ơn PGS – TS Nguyễn Hữu Điển hướng dẫn em hoàn thành tập Hà Nội, tháng 11 năm 2009 Sinh viên thực : Nguyễn Thị Thu Hà Lớp : Toán tin – K51 – ĐH BK HN 13 Phương pháp Gauss – Jordan tìm ma trận nghịch đảo Nguyễn Thị Thu Hà TÀI LIỆU THAM KHẢO Nguyễn Hữu Điển - Hướng dẫn sử dụng Maple V Lê Trọng Vinh – Giáo trình giải tích số - NXB KH KT Website: http://nhdien.wordpress.com/ http://maplesoft.com/ http://vi.wikipedia.org/ http://maplevn2008.wordpress.com/ 14 [...]... 2], [9, 5, 16, 11]]); > GaussJordan (d, f); 11 Phương pháp Gauss – Jordan tìm ma trận nghịch đảo Tất cả các ví dụ trên đều đúng so với đáp số!! 12 Nguyễn Thị Thu Hà Phương pháp Gauss – Jordan tìm ma trận nghịch đảo Nguyễn Thị Thu Hà KẾT LUẬN Qua bài báo cáo này em đã trình bày được cách lập trình trong Maple để giải quyết bài toán Tìm ma trận nghịch đảo bằng phương pháp Gauss – Jordan Từ đó có thể ứng.. .Phương pháp Gauss – Jordan tìm ma trận nghịch đảo Nguyễn Thị Thu Hà 3 Ví dụ 2 (trang 85 Giáo trình Giải tích số - tác giả Lê Trọng Vinh) 3 − 2⎤ ⎡1 ⎢ Cho A = ⎢ 3 4 − 5⎥⎥ Tìm A-1 ⎢⎣− 2 − 5 3 ⎥⎦ > n := 3; > c := array([[1, 3, -2], [3, 4, -5], [-2, -5, 3]]); > GaussJordan (n, c); 4 Bài tập 3 (trang 119 Giáo trình Giải tích số - tác giả Lê Trọng Vinh) Tìm ma trận nghịch đảo của ma trận sau: ⎡13... toán được những ma trận có đường chéo khác 0 Trong tương lai em sẽ cải tiến để chương trình có thể tìm được ma trận nghịch đảo của những ma trận bất kỳ Em xin chân thành cảm ơn PGS – TS Nguyễn Hữu Điển đã hướng dẫn em hoàn thành bài tập này Hà Nội, tháng 11 năm 2009 Sinh viên thực hiện : Nguyễn Thị Thu Hà Lớp : Toán tin 2 – K51 – ĐH BK HN 13 Phương pháp Gauss – Jordan tìm ma trận nghịch đảo Nguyễn Thị... Phương pháp Gauss – Jordan tìm ma trận nghịch đảo Nguyễn Thị Thu Hà TÀI LIỆU THAM KHẢO Nguyễn Hữu Điển - Hướng dẫn và sử dụng Maple V Lê Trọng Vinh – Giáo trình giải tích số - NXB KH và KT Website: http://nhdien.wordpress.com/ http://maplesoft.com/ http://vi.wikipedia.org/ http://maplevn2008.wordpress.com/ 14

Ngày đăng: 22/05/2016, 09:03

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan