1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỒ án lập TRÌNH TÍNH TOÁN giải hệ phương trình đại số tuyến tính (n phương trình, n ẩn) bằng phương pháp cramer, phương pháp gauss – jordan

19 32 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 827,88 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

KHOA CÔNG NGHỆ THÔNG TINĐỒ ÁN LẬP TRÌNH TÍNH TOÁN Giải hệ phương trình đại số tuyến tính n phương trình, n ẩn bằng phương pháp Cramer, phương pháp Gauss – Jordan Người hướng dẫn: ThS...

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN LẬP TRÌNH TÍNH TOÁN

Giải hệ phương trình đại số tuyến tính (n phương trình, n ẩn) bằng 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:

NHÓM: 20.16A

Đà Nẵng, 08/2021

Trang 2

MỤC LỤC i

DANH MỤC HÌNH VẼ ii

LỜI MỞ ĐẦU 1

1 TỔNG QUAN ĐỀ TÀI 2

2 CƠ SỞ LÝ THUYẾT 2

2.1 Ý tưởng 2

2.2 Cơ sở lý thuyết 2

3 TỔ CHỨC CẤU TRÚC DỮ LIỆU VÀ THUẬT TOÁN 2

3.1 Phát biểu bài toán 2

3.2 Cấu trúc dữ liệu 2

3.3 Thuật toán 2

4 CHƯƠNG TRÌNH VÀ KẾT QUẢ 2

4.1 Tổ chức chương trình 2

4.2 Ngôn ngữ cài đặt 2

4.3 Kết quả 2

4.3.1 Giao diện chính của chương trình 2

4.3.2 Kết quả thực thi của chương trình 2

4.3.3 Nhận xét đánh giá 3

5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 3

5.1 Kết luận 3

5.2 Hướng phát triển 3

TÀI LIỆU THAM KHẢO 4

PHỤ LỤC 5

Trang 3

No table of figures entries found.

Trang 4

LỜI MỞ ĐẦU

Như chúng ta đã biết, cuộc sống của chúng ta vốn dĩ xoay quanh toán học, và Đại số

tuyến tính là trung tâm của hầu hết các lĩnh vực toán học Không dừng lại ở đó, Đại số tuyến tính còn được ứng dụng vào trong hầu hết các ngành khoa học và kĩ thuật như

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 cả trong lập trình máy tính, mọi tính toán đều được biểu diễn dưới dạng số, dạng dãy số hoặc mảng số, việc hiểu và ứng dụng được khái niệm liên quan đến đại số là nhân tố quyết định giúp người kỹ sư có thể giải quyết được bài toán Với một tầm ảnh hưởng gần như là bao quát như vậy, hiển nhiên việc tính toán các phương trình tuyến tính cũng là một khó khăn rất lớn đối với con người và đòi hỏi rất nhiều thời gian nghiên cứu và tìm hiểu cũng như là tính toán Nhưng giờ đây, với sự phát triển mạnh

mẽ của Công nghệ thông tin, việc tính toán cũng như nghiên cứu Đại số tuyến tính đã

trở nên dễ dàng hơn, chỉ mất vài giây hoặc thậm chí ít hơn để máy tính có thể tính toán được một hay nhiều phương trình tuyến tính theo nhiều phương pháp như Gauss, Cramer,

Mục tiêu: Để hoàn thành tốt mục tiêu mà đồ án đề ra ở trên, ta phải tiếng hành các

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 bằng 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 bằng phương pháp Gauss

+ Giải hệ phương trình tuyến tính bằng 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 quả

Phạm vi và đồi tượng nghiên cứu: Giải hệ phương trình tuyến tính bằng phương

pháp Gauss và phương pháp Cramer

Phương pháp nghiên cứu: Để thực hiện các công việc trên , em đã sử dụng các

phương pháp ngiên cứu:

-Phương pháp phân tích và tổng hợp lý thuyết

Trang 5

-Phương pháp nghiên cứu tài liệu.

-Phương pháp hỏi ý kiến của giảng viên hướng dẫn

Cấu trúc của đồ án môn học:

Cấu trúc của đồ án gồm những 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 một hệ thống thông tin:Lý thuyết tổ chức cấu trúc dữ liệu và thuật toán

Chương 3: TỔ CHỨC CẤU TRÚC DỮ LIỆU VÀ THUẬT TOÁN

-Tiến hành xây dựng thuật toá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

Trang 6

1 TỔNG QUAN ĐỀ TÀI

{Nội dung A {Font: Time New Roman; thường; cỡ chữ: 13; dãn dòng: 1,3; căn lề: justified}

2 CƠ SỞ LÝ THUYẾT

2 1 Ý tưởng

● Viết hàm tìm nghiệm của ma trận bằng phương pháp Gauss – Jordan:

○ Biến đổi ma trận thành ma trận bậc thang

○ Tìm nghiệm của ma trận

● Viết hàm tìm nghiệm của ma trận bằng phương pháp Cramer:

○ Tính định thức của ma trận

○ Tìm nghiệm của 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 là một phương pháp để giải hệ phương trình đại số tuyến tính ở dạng ma trận Đây là phương pháp được phát triển dựa trên

phương pháp khử Gauss

Mục tiêu: biến đổi ma trận về 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 nào

2.2.2 Định thức

Xét ma trận vuông cấp n :

Với mỗi số hạng a ij (số hạng nằm ở hàng i và cột j), ma trận nhận được từ A bằng cách bỏ đi hàng thứ i và cột thứ j được gọi là ma trận bù của A đối với số hạng a ij

, ký hiệu là A ij

Trang 7

Ví dụ: cho ma trận vuông cấp 3:

Ta có thể thành lập các 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 của ma trận vuông A∈M n,ký hiệu det(A) hay |A|, là số thực được định nghĩa bằng quy nạp theo n như sau :

● Với n = 1, nghĩa là A = a11, thì det(A) = a11

● Với n2, A = (a ij)n ×n, thì :

det(A) = (−1)1+1 a11det( A11)+(−1)1+2 a12det( A12)+…+ (−1)1+n a1 ndet( A1n)

n

det(A) = ∑❑(−1)1 + j a1 jdet( A1 j)

j=1

Định lý khai triển định thức theo một hàng hay một cột bất kỳ

cho ma trận A = (a ij)n ×n, 1≤ i0, j0n Khi đó:

n

det(A) = ∑❑(−1)i0 + j a i o + jdet( A i0 j) (1.1)

j=1 n

det(A) = ∑❑(−1)i + j0 a i j0det( A i j0) (1.2)

i=1

công thức (1.1) gọi là công thức khai triển theo hàng i ovà công thức (1.2) là công thức khai triển theo cột j0

ví dụ: Tính định thức:

Trang 8

Tính định thức của ma trận A Chúng ta khai triển định thức này theo hàng 1:

Các tính chất của định thức:

(II) Nếu đổi chỗ hai hàng (hoặc cột) bất kì của định thức thì định thức đổi dấu

ví dụ:

(IV) Nếu nhân một hàng nào đó của định thức với một số λthì định thức mới bằng λlần

Hệ Quả: (1) Nếu các phần tử của một hàng có thừa số chung thì ta có thể đưa thừa số đó ra ngoài dấu định thức

(2) det(λA) = λ ndet(A), λ ∈R

(3) Nếu A có một hàng bằng không thì định thức của nó bằng

không

(4) Nếu A có hai hàng bằng nhau hay tỉ lệ với nhau thì định thức của nó bằng không

ví dụ:

5

Trang 9

(V) Nếu thêm vào một hàng của định thức bội λ của hàng khác thì định thức không đổi

ví dụ:

(VI) Định thức của ma trận chéo bằng tích các phần tử trên đường chéo chính

ví dụ:

-Định thức của ma trận tam giác bằng tích các phần tử trên đường chéo chính

ví dụ:

(VII) Cho A, B là các ma trận vuông cấp n Khi đó det(AB) =

det(A).det(B) ví dụ: cho 2 ma trận

det(A) = 5; det(B) = (-3) det(AB) = -15 = 5.(-3) = det(A).det(B)

Trang 10

2.2.3 Phương pháp Cramer

Hệ phương trình Cramer là hệ phương trình tuyến tính có số phương trình bằng số

ẩn số và định thức của ma trận các hệ số khác 0

ví dụ: cho hệ phương trình

Hệ phương trình có 3 phương trình, 3 ẩn và det(A) = = 7 0 nên nó là hệ phương trình Cramer

Các phương pháp giải

hệ phương trình cramer

Ngoài phương pháp chung là phương pháp khử ẩn liên tiếp Gauss đã trình bày

ở phần trên, đối với hệ Cramer có thêm hai phương pháp như sau:

I) Phương pháp 1 Dùng ma trận nghịch đảo A−1 để giải phương trình ma trận:

AX=BX= A−1B

II) Phương pháp 2 Dùng định thức (công thức Cramer) Xét A i, i = 1 ,n là ma trận nhận được từ A bằng cách thay cột thứ i bằng cột các hệ số tự do Khi đó, hệ

, i = 1 ,n .

det ( A)

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

Trang 11

Dùng định thức(công thức Cramer) để tìm nghiệm của phương trình: Nghiệm của phương trình là:

x1= det (A1) = -1; x2=det (A2) = 10; x3=det (A3)

3 1 Phát biểu bài toán

Đầu vào(input):

o Nhập từ bàn phím hoặc từ file có sẵn số ẩn của hệ phương trình

và ma trận hệ phương trình

Đầu ra(output):

o In ra màn hình nghiệm của ma trận

o Lưu nghiệm vào file output có sẵn (/data/result.out)

3.2 Cấu trúc dữ liệu

Mảng, mảng 2 chiều

3.3 Thuật toán

Trình bày các thuật toán và phân tích độ phức tạp của các thuật toán

Minh

4 1 Tổ chức chương trình

4 2 Ngôn ngữ cài đặt

Chương trình được sử dụng ngôn ngữ C++ được biên dịch bằng GCC phiên bản

9.2.0

Trang 12

4.3 Kết quả

4.3.1 Giao diện chính của chương trình

Màn hình console:

Hình 4.1 Màn hình giao diện chính 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, 2 hay 3 ứng với giải nghiệm bằng phương pháp Gauss – Jordan, giải nghiệm bằng phương pháp Cramer hoặc kết thúc chương trình Nếu chọn 1 hoặc 2, màn hình console chuyển tới giao diện nhập dữ liệu

Trang 13

Hình 4.2 Màn hình giao diện nhập dữ liệu của chương trình

Nếu chọn 1 (Nhập dữ liệu thủ công), chương trình sẽ yêu cầu nhập số ẩn của hệ

phương trình và các hệ số Nếu chọn 2 (Đọc dữ liệu từ file có sẵn), chương trình

sẽ yêu cầu nhập tên file

Hình 4.3 Nhập dữ liệu bằng phương pháp thủ công

Trang 14

Hình 4.4 Nhập dữ liệu bằng phương pháp đọc từ file

Hình 4.5 File chứa dữ liệu đầu vào

4.3.2 Kết quả thực thi của chương trình

- Kết quả khi giải bằng phương pháp Gauss – Jordan:

Trang 15

Hình 4.6 Kết quả thực thi bằng phương pháp Gauss – Jordan

- Kết quả khi giải bằng phương pháp Cramer:

Trang 16

Hình 4.7, 4.8 Kết quả thực thi bằng phương pháp Cramer

Trang 17

- Kết quả trên file output:

4.3.3 Nhận xét đánh giá

5 1 Kết luận

5 2 Hướng phát triển

Trang 18

TÀI LIỆU THAM KHẢO

[2] Tên chủ sở hữu, Tên bài viết, url, ngày truy cập

Trang 19

PHỤ LỤC

chữ: 12; dãn dòng: 1,3; căn lề: justified}

Ngày đăng: 18/01/2022, 10:09

HÌNH ẢNH LIÊN QUAN

o In ra màn hình nghiệm của ma trận. - ĐỒ án lập TRÌNH TÍNH TOÁN giải hệ phương trình đại số tuyến tính (n phương trình, n ẩn) bằng phương pháp cramer, phương pháp gauss – jordan
o In ra màn hình nghiệm của ma trận (Trang 12)
Hình 4.1. Màn hình giao diện chính chương trình - ĐỒ án lập TRÌNH TÍNH TOÁN giải hệ phương trình đại số tuyến tính (n phương trình, n ẩn) bằng phương pháp cramer, phương pháp gauss – jordan
Hình 4.1. Màn hình giao diện chính chương trình (Trang 13)
Hình 4.2. Màn hình giao diện nhập dữ liệu của chương trình - ĐỒ án lập TRÌNH TÍNH TOÁN giải hệ phương trình đại số tuyến tính (n phương trình, n ẩn) bằng phương pháp cramer, phương pháp gauss – jordan
Hình 4.2. Màn hình giao diện nhập dữ liệu của chương trình (Trang 14)
Hình 4.3. Nhập dữ liệu bằng phương pháp thủ công - ĐỒ án lập TRÌNH TÍNH TOÁN giải hệ phương trình đại số tuyến tính (n phương trình, n ẩn) bằng phương pháp cramer, phương pháp gauss – jordan
Hình 4.3. Nhập dữ liệu bằng phương pháp thủ công (Trang 14)
Hình 4.4. Nhập dữ liệu bằng phương pháp đọc từ file - ĐỒ án lập TRÌNH TÍNH TOÁN giải hệ phương trình đại số tuyến tính (n phương trình, n ẩn) bằng phương pháp cramer, phương pháp gauss – jordan
Hình 4.4. Nhập dữ liệu bằng phương pháp đọc từ file (Trang 15)
Hình 4.5. File chứa dữ liệu đầu vào - ĐỒ án lập TRÌNH TÍNH TOÁN giải hệ phương trình đại số tuyến tính (n phương trình, n ẩn) bằng phương pháp cramer, phương pháp gauss – jordan
Hình 4.5. File chứa dữ liệu đầu vào (Trang 15)
Hình 4.6. Kết quả thực thi bằng phương pháp Gauss – Jordan - ĐỒ án lập TRÌNH TÍNH TOÁN giải hệ phương trình đại số tuyến tính (n phương trình, n ẩn) bằng phương pháp cramer, phương pháp gauss – jordan
Hình 4.6. Kết quả thực thi bằng phương pháp Gauss – Jordan (Trang 16)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w