Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
827,88 KB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN LẬP TRÌNH TÍNH TỐN Giải hệ phương trình đại số tuyến tính (n phương trình, n ẩn) phương pháp Cramer, phương pháp Gauss – Jordan Người hướng dẫn: ThS Đỗ Thị Tuyết Hoa Sinh viên thực hiện: Lê Trọng Hồng Minh Nguyễn Văn Hồng Nhân NHĨM: 20.16A Đà Nẵng, 08/2021 MỤC LỤC MỤC LỤC DANH MỤC HÌNH VẼ LỜI MỞ ĐẦU TỔNG QUAN ĐỀ TÀI CƠ SỞ LÝ THUYẾT 2.1 Ý tưởng 2.2 Cơ sở lý thuyết TỔ CHỨC CẤU TRÚC DỮ LIỆU VÀ THUẬT TOÁN 3.1 Phát biểu toán 3.2 Cấu trúc liệu 3.3 Thuật toán CHƯƠNG TRÌNH VÀ KẾT QUẢ 4.1 Tổ chức chương trình 4.2 Ngôn ngữ cài đặt 4.3 Kết 4.3.1 Giao diện chương trình 4.3.2 Kết thực thi chương trình 4.3.3 Nhận xét đánh giá KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết luận 5.2 Hướng phát triển TÀI LIỆU THAM KHẢO PHỤ LỤC i DANH MỤC HÌNH VẼ No table of figures entries found ii Đồ án lập trình tính tốn LỜI MỞ ĐẦU Như biết, sống xoay quanh tốn học, Đại số tuyến tính trung tâm hầu hết lĩnh vực toán học Khơng dừng lại đó, Đại số tuyến tính cịn ứng dụng vào hầu hết ngành khoa học kĩ thuật Hóa học, Hình học, Lý thuyết đồ thị, Xã hội học (Kinh tế, ), Nén ảnh, Nhận diện khuôn mặt, Ngay lập trình máy tính, tính tốn biểu diễn dạng số, dạng dãy số mảng số, việc hiểu ứng dụng khái niệm liên quan đến đại số nhân tố định giúp người kỹ sư giải tốn Với tầm ảnh hưởng gần bao quát vậy, hiển nhiên việc tính tốn phương trình tuyến tính khó khăn lớn người đòi hỏi nhiều thời gian nghiên cứu tìm hiểu tính tốn Nhưng đây, với phát triển mạnh mẽ Công nghệ thơng tin, việc tính tốn nghiên cứu Đại số tuyến tính trở nên dễ dàng hơn, vài giây chí để máy tính tính tốn hay nhiều phương trình tuyến tính theo nhiều phương pháp Gauss, Cramer, Mục tiêu: Để hoàn thành tốt mục tiêu mà đồ án đề trên, ta phải tiếng hành cơng việc sau: - Tìm hiểu đường hệ phương trình tuyến tính - Tìm hiểu phương pháp Gauss – Jordan, phương pháp Cramer - Triển khai ví dụ tính tay cụ thể (với hệ phương trình tuyến tính tự chọn): + Giải hệ phương trình tuyến tính phương pháp Gauss + Giải hệ phương trình tuyến tính phương pháp Cramer - Xây dựng thuật toán Đánh giá độ phức tạp - Lập trình triển khai thuật toán - Đánh giá kết Phạm vi đồi tượng nghiên cứu: Giải hệ phương trình tuyến tính phương pháp Gauss phương pháp Cramer Phương pháp nghiên cứu: Để thực công việc , em sử dụng phương pháp ngiên cứu: -Phương pháp phân tích tổng hợp lý thuyết Đồ án lập trình tính tốn -Phương pháp nghiên cứu tài liệu -Phương pháp hỏi ý kiến giảng viên hướng dẫn Cấu trúc đồ án môn học: Cấu trúc đồ án gồm chương sau: Chương 1: TỔNG QUAN ĐỀ TÀI Chương 2: CƠ SỞ LÝ THUYẾT -Cơ sở lý luận cho việc xây dựng hệ thống thông tin:Lý thuyết tổ chức cấu trúc liệu thuật toán Chương 3: TỔ CHỨC CẤU TRÚC DỮ LIỆU VÀ THUẬT TỐN -Tiến hành xây dựng thuật tốn Chương 4: CHƯƠNG TRÌNH VÀ KẾT QUẢ Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Đồ án lập trình tính tốn TỔNG QUAN ĐỀ TÀI {Nội dung A {Font: Time New Roman; thường; cỡ chữ: 13; dãn dòng: 1,3; lề: justified} CƠ SỞ LÝ THUYẾT Ý tưởng ● ● Viết hàm tìm nghiệm ma trận phương pháp Gauss – Jordan: ○ Biến đổi ma trận thành ma trận bậc thang ○ Tìm nghiệm ma trận Viết hàm tìm nghiệm ma trận phương pháp Cramer: ○ Tính định thức ma trận ○ Tìm nghiệm ma trận 2.2 Cơ sở lý thuyếts 2.2.1 Phương pháp Gauss – Jordan Phương pháp khử Gauss-Jordan phương pháp để giải hệ phương trình đại số tuyến tính dạng ma trận Đây phương pháp phát triển dựa phương pháp khử Gauss Mục tiêu: biến đổi ma trận dạng ma trận đường chéo để giải ma trận mà không cần phải qua bước tính định thức 2.2.2 Định thức Xét ma trận vuông cấp n : Với số hạng aij (số hạng nằm hàng i cột j), ma trận nhận từ A cách bỏ hàng thứ i cột thứ j gọi ma trận bù A số hạng aij , ký hiệu Aij Đồ án lập trình tính tốn Ví dụ: cho ma trận vng cấp 3: Ta thành lập ma trận bù cấp 2, chẳng hạn Định nghĩa định thức ma trận vuông: Định thức ma trận vuông A∈M n,ký hiệu det(A) hay |A|, số thực định nghĩa quy nạp theo n sau : ● Với n = 1, nghĩa A = a11, det(A) = a11 ● Với n≥2, A = (aij)n ×n, : det(A) = (−1)1+1 a11det( A11)+(−1)1+2 a12det( A12)+…+ (−1)1+n a1 ndet( A1 n) n ⇔det(A) = ∑❑(−1)1 + j a1 jdet( A1 j) j=1 Định lý khai triển định thức theo hàng hay cột cho ma trận A = (aij)n ×n, 1≤ i0, j0 ≤n Khi đó: n det(A) = ∑❑(−1)i + j a io + j det( Ai j) (1.1) j=1 n det(A) = ∑❑(−1)i + j j0det( Ai j0) (1.2) i=1 công thức (1.1) gọi công thức khai triển theo hàng iovà công thức (1.2) công thức khai triển theo cột j0 ví dụ: Tính định thức: Đồ án lập trình tính tốn Tính định thức ma trận A Chúng ta khai triển định thức theo hàng 1: Các tính chất định thức: (I) det( At ) = detA ví dụ: (II) Nếu đổi chỗ hai hàng (hoặc cột) định thức định thức đổi dấu (IV) định Hệ Quả: (1) Nếu phần tử hàng có thừa số chung ta đưa thừa số ngồi dấu định thức (2) det(λA) = λndet(A), λ ∈R (3) Nếu A có hàng khơng định thức khơng (4) Nếu A có hai hàng hay tỉ lệ với định thức khơng ví dụ: Đồ án lập trình tính tốn (V) thức Nếu thêm vào hàng định thức bội λ hàng khác định khơng đổi ví dụ: (VI) Định thức ma trận chéo tích phần tử đường chéo ví dụ: -Định thức ma trận tam giác tích phần tử đường chéo ví dụ: (VII) Cho A, B ma trận vuông cấp n Khi det(AB) = det(A).det(B) ví dụ: cho ma trận det(A) = 5; det(B) = (-3) det(AB) = -15 = 5.(-3) = det(A).det(B) Đồ án lập trình tính tốn 2.2.3 Phương pháp Cramer Hệ phương trình Cramer hệ phương trình tuyến tính có số phương trình số ẩn số định thức ma trận hệ số khác ví dụ: cho hệ phương trình Hệ phương trình có phương trình, ẩn det(A) = = ≠ nên hệ phương trình Cramer Các phương pháp giải hệ phương trình cramer Ngồi phương pháp chung phương pháp khử ẩn liên tiếp Gauss trình bày phần trên, hệ Cramer có thêm hai phương pháp sau: I) ma Phương pháp Dùng ma trận nghịch đảo A−1 để giải phương trình trận: AX=B⇔X= A−1B II) Phương pháp Dùng định thức (công thức Cramer) Xét Ai, i = ,n ma trận nhận từ A cách thay cột thứ i cột hệ số tự Khi đó, hệ Cramer có nghiệm xi = det (Ai) , i = ,n det ( A) ví dụ: Cho hệ phương trình tuyến tính: Đồ án lập trình tính tốn Dùng định thức(cơng thức Cramer) để tìm nghiệm phương trình: Nghiệm phương trình là: x 1= det (A ) det ( A) TỔ CHỨC CẤU TRÚC DỮ LIỆU VÀ THUẬT TOÁN Phát biểu tốn Đầu vào(input): o Nhập từ bàn phím từ file có sẵn số ẩn hệ phương trình ma trận hệ phương trình Đầu ra(output): o In hình nghiệm ma trận o Lưu nghiệm vào file output có sẵn (/data/result.out) 3.2 Cấu trúc liệu Mảng, mảng chiều 3.3 Thuật tốn Trình bày thuật tốn phân tích độ phức tạp thuật tốn Minh CHƯƠNG TRÌNH VÀ KẾT QUẢ Tổ chức chương trình Ngơn ngữ cài đặt Chương trình sử dụng ngơn ngữ C++ biên dịch GCC phiên 9.2.0 Đồ án lập trình tính tốn 4.3 Kết 4.3.1 Giao diện chương trình Màn hình console: Hình 4.1 Màn hình giao diện chương trình Tại giao diện chính, người dùng nhập từ bàn phím lựa chọn 1, hay ứng với giải nghiệm phương pháp Gauss – Jordan, giải nghiệm phương pháp Cramer kết thúc chương trình Nếu chọn 2, hình console chuyển tới giao diện nhập liệu Đồ án lập trình tính tốn Hình 4.2 Màn hình giao diện nhập liệu chương trình Nếu chọn (Nhập liệu thủ cơng), chương trình u cầu nhập số ẩn hệ phương trình hệ số Nếu chọn (Đọc liệu từ file có sẵn), chương trình yêu cầu nhập tên file Hình 4.3 Nhập liệu phương pháp thủ công 10 Đồ án lập trình tính tốn Hình 4.4 Nhập liệu phương pháp đọc từ file Hình 4.5 File chứa liệu đầu vào 4.3.2 Kết thực thi chương trình - Kết giải phương pháp Gauss – Jordan: 11 Đồ án lập trình tính tốn Hình 4.6 Kết thực thi phương pháp Gauss – Jordan - Kết giải phương pháp Cramer: 12 Đồ án lập trình tính tốn Hình 4.7, 4.8 Kết thực thi phương pháp Cramer 13 Đồ án lập trình tính tốn - Kết file output: 4.3.3 Nhận xét đánh giá KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết luận Hướng phát triển 14 Đồ án lập trình tính toán TÀI LIỆU THAM KHẢO [1] Tên tác giả, Tên tài liệu, Tên nhà xuất bản, năm xuất [2] Tên chủ sở hữu, Tên viết, url, ngày truy cập 15 Đồ án lập trình tính tốn PHỤ LỤC Sinh viên bỏ Code phần vào {Font: Time New Roman; thường; cỡ chữ: 12; dãn dòng: 1,3; lề: justified} 16 ... det(A).det(B) Đồ ? ?n lập trình tính t? ?n 2.2.3 Phương pháp Cramer Hệ phương trình Cramer hệ phương trình tuy? ?n tính có số phương trình số ? ?n số định thức ma tr? ?n hệ số khác ví dụ: cho hệ phương trình Hệ phương. .. ch? ?n) : + Giải hệ phương trình tuy? ?n tính phương pháp Gauss + Giải hệ phương trình tuy? ?n tính phương pháp Cramer - Xây dựng thuật to? ?n Đánh giá độ phức tạp - Lập trình tri? ?n khai thuật t? ?n - Đánh giá... phương trình có phương trình, ? ?n det(A) = = ≠ n? ?n hệ phương trình Cramer Các phương pháp giải hệ phương trình cramer Ngồi phương pháp chung phương pháp khử ? ?n li? ?n tiếp Gauss trình bày ph? ?n tr? ?n,