Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
220 KB
Nội dung
TRƯỜNG ĐẠI HỌC SƯ PHẠM HUẾ KHOA TOÁN SỬ DỤNG PHẦN MỀM MAPLE ĐỂ GIẢI QUYẾT CÁC VẤN ĐỀ TRÊN MA TRẬN VÀ ỨNG DỤNG VÀO GIẢI HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH Giảng viên hướng dẫn Lớp tốn 3B - nhóm 09 Nguyễn Đăng Minh Phúc Nguyễn Ngọc Tư Nguyễn Như Thứ Phan Quốc Luân Lương Ngọc Tuấn Huế, ngày 20 tháng năm 2013 MỤC LỤC LỜI NÓI ĐẦU .1 I Giới thiệu phần mềm maple Maple 2 Ứng dụng chương trình Maple số vấn đề đại số tuyến tính II Các phép toán đại số ma trận vectơ Một số lệnh tạo ma trận cấp m×n Các phép tính ma trận vectơ 2.1 So sánh hai ma trận 2.2 Tổng hai ma trận 2.3 Tích hai ma trận .5 Tìm vết ma trận (tổng phần tử thuộc đường chéo chính).6 Tạo ma trận từ ma trận cho trước Trích dịng, cột ma trận Hốn vị dịng, cột ma trận .8 Tìm ma trận chuyển vị 8 Tìm ma trận liên hợp 9 Tìm ma trận đặc trưng 10 Tìm đa thức đặc trưng ma trận 11 Biến đổi ma trận dạng bậc thang 12 Phép khử Gauss-Jordan 10 13 Tìm vectơ riêng ma trận A 11 14 Tìm giá trị riêng ma trận A .11 15 Tìm hạng ma trận A 12 17 Tìm ma trận nghịch đảo ma trận A 12 18 Biến đổi ma trận dạng tam giác 13 III Giải phương trình đại số tuyến tính 13 Lập hệ phương trình tuyến tính từ hệ số ma trận 13 Giải hệ phương trình đại số tuyến tính 14 IV Kết luận 16 V Tài liệu tham khảo 16 LỜI NÓI ĐẦU Từ tốn học hình thành phát triển việc nghiên cứu vấn đề tốn học ln thu hút nhiều nhà tốn học người có lịng đam mê toán học, chẳng hạn việc giải toán đó.Tuy nhiên, vấn đề đặt tìm cách thức hiệu nhanh chóng để đến kết cụ thể dễ hiểu cho bạn đọc Bên cạnh cách thức tính tốn cổ điển lâu với phát triến khoa học việc giải vấn đề tốn học phát triến với nhiều cách thức thuận tiện mà hiệu Cũng lí nhóm thực đề tài ” Sử dụng phần mềm Maple để thực phép toán đại số ma trận va ứng dụng vào giải hệ phương trình đại số tuyến tính ” cách để giải tốn hệ phương trình đại số tuyến tính Đề tài giúp sử dụng phần mềm maple để thực hiên thao tác ma trận như: tìm hạng, tìm ma trận khả nghịch, tìm đa thức đặc trưng,…và ứng dụng để giải hệ phương trình đại số tuyến tính Trong lúc thực đề tài khơng thể tránh khỏi sai sót mong bạn đọc góp ý, xin cảm ơn I Giới thiệu phần mềm maple: Maple: Là phần mềm Toán học Đại Học Tổng HợpWaterloo(Canada) xây dựng đưa vào sử dụng năm 1985 Sau nhiều lần cải tiến phát triển qua nhiều phiên khác ngày hoàn thiện Maple chạy tất hệ điều hành, có trình trợ giúp dễ sử dụng Từ phiên 7, Maple cung cấp ngày nhiều công cụ trực quan, gói lệnh tự học gắn liền với tốn phổ thơng đại học Ưu điểm khiến ngày có nhiều nước giới lựa chọn sử dụng Maple dạy-học tốn tương tác trước địi hỏi thực tiễn phát triển giáo dục - Chức Maple: • Thực tính tốn với khối lượng lớn, với thời gian nhanh độ xác cao • Sử dụng gói chuyên dụng Maple để giải tốn cụ thể như: vẽ đồ thị (gói plots), hình học giải tích (gói geometry), đại số tuyến tính (gói linalg), Giải tích (gói student), phương trình vi phân(gói DEtools), lý thuyết số (gói numtheory), Dữ liệu rời rạc (gói DiscreteTransforms), • Thiết kế đối tượng chiều; • Minh họa hình học thuận tiện gồm: vẽ đồ thị tĩnh động đường mặt cho hàm tùy ý nhiều hệ tọa độ khác nhau; • Tính tốn biểu thức đại số; • Có thể thực hiệc hầu hết phép tốn chương trình tốn đại học sau đại học; • Ngơn ngữ lập trình đơn giản mạnh mẽ, có khả tương tác với ngơn ngữ lập trình khác; • Một cơng cụ biên soạn giáo án giảng điện tử, thích hợp với lớp học tương tác trực tiếp; • Một cơng cụ hữu ích cho học sinh sinh viên việc tự học; • Và vấn đề khác - Bạn dễ dàng tìm phiên maple giáo trình hướng dẫn sử dụng tai trang: www.maplesoft.com Các bạn download maple 9.5 tại: http://www.mediafire.com/?dvqp1r94szor4c9 Ứng dụng chương trình Maple số vấn đề đại số tuyến tính: - Chương trình Maple cho phép ta tính định thức ma trận, giải hệ phương trình tuyến tính Ngồi ra, Maple cịn cho phép ta tìm giá trị riêng, vectơ riêng, đa thức đặc trưng, tìm dạng tắc ma trận tính nhiều ma trận đặc biệt Hilbert, Toeplitz , v.v… - Các lệnh đại số tuyến tính cài sẵn gói cơng cụ linalg trước sử dụng ta phải nạp gói cơng cụ vào nhớ lệnh: >with(linalg): - Trong phạm vi phụ lục giới thiệu đôi nét ứng dụng chương trình Maple số phép tốn đại số ma trận vectơ, việc giải hệ phương trình tuyến tính đơn giản Để biết thêm ứng dụng khác chương trình Maple, sinh viên tham khảo tài liệu khác II Các phép toán đại số ma trận vectơ: Một số lệnh tạo ma trận cấp m×n: Cú pháp: >matrix(m, n, L); Trong đó: + L: Bảng liệt kê phần tử ma trận theo thứ tự từ trái sang phải từ xuống + L = [[a11 , a12 , , a1n ],[a21 , a22 , , a2 n ], ,[am1 , am , , amn ]] + Trong trường hợp L xác định phần tử cụ thể ta bỏ qua số m, n Ví dụ: Tạo ma trận dịng, cột sau (m = 3, n = 4) >matrix(3,4,[[1,2,1,2],[3,5,4,6],[3,4,0,2]]); bỏ số hàng, cột >matrix([[1,2,1,2],[3,5,4,6],[3,4,0,2]]); Được kết quả: 1 2 3 3 Ngoài ra, tạo ma trận cấp mxn với phần tử ma trận giá trị hàm f xác định số hàng cột ma trận, ta thực sau: Ví dụ: Tạo ma trận f (1,1) C= f (2,1) f (1, 2) f (2, 2) >C:=matrix(2,2,f); Để tạo ma trận lệnh tạo mảng, ta sử dụng cú pháp: array(1 m,1 n,L) với L phần tử ma trận Ví dụ: >A:=array(1 3,1 2,[1,2],[2,6],[4,23]]); 1 A := 23 Các phép tính ma trận vectơ: 2.1 So sánh hai ma trận: Để so sánh hai ma trận A B có số hàng số cột ta dùng lệnh sau: equal(A, B); Ví dụ: >A:=matrix([[1,2],[3,4]]); >B:=matrix(2,2,[1,2],[3,4]]); equal(A,B); Ta kết 1 A := 3 1 B := 3 true 2.2 Tổng hai ma trận: - Dùng lệnh đánh giá evalm để tính tổng hai ma trận Cú pháp: >evalm(expr) Trong expr biểu thức tổng, hiệu, tích ma trận Ví dụ: Tính tổng ma trận sau: >restart: >with(linalg): C:=matrix([[2,3],[4,7]]); E:=matrix([[1,a],[9,1]]); F:=matrix([[b,0],[1,0]]); 2 3 C := 4 7 1 a E := 9 b F := 1 >evalm(C+E); 3 + a 13 >evalm(C+2*E-F); − b + 2a 21 2.3 Tích hai ma trận: Có thể dùng hai hàm sau: >Multiply(A,B,…): Nhân ma trận A, B, … với >evalm(A&*B&*C…): Nhân ma trận A, B, C với lệnh đánh giá evalm Khi đó, máy thực phép nhân từ trái sang phải Ví dụ: Nhân hai ma trận sau đây: A := [3, 4] 1 B := 2 Ta thực sau: >A:=array([3,4]); >B:=array([1,2]); >evalm(B&*A); Ta kết quả: A: = [3, 4] B:=[1,2] 11 Hoặc dùng lệnh multiply >multiply(A,B); 11 Chú ý: Khi nhân tính tổng lúc lệnh lượng giá, máy thực theo thứ tự nhân trước cộng trừ sau Tìm vết ma trận (tổng phần tử thuộc đường chéo chính): Cú pháp: > trace (T) với T ma trận Ví dụ: TÌm vết ma trận sau: >A:=matrix(2,2,[1,2,4,a]); 1 A := 4 a >trace(A); 1+ a Tạo ma trận từ ma trận cho trước: Cú pháp: submatrix(A, Rrange, Crange); submatrix(A,RList,CList); Trong đó: + A ma trận cho trước, +Rrange, Crange: Khoảng số dòng, cột +Rlist, Clist: Danh sách số dòng, cột Ví dụ: Tạo ma trận P từ ma trận A >with(linalg); A:=matrix(2,3,[8,2,5,2,0,3]); 8 5 A := 3 >P:=submatrix(A,1 2,2 3); 5 P := 3 >P:=submatrix(A,[1,2],[1]); 8 P := 2 Trích dịng, cột ma trận: Cú pháp: row(A, i): Trích dịng thứ i ma trận A row(A, i k): Trích từ dịng i đến dịng k ma trận A col(A, i): Trích từ cột thứ i ma trận A col(A, i k): Trích từ cột thứ i đến cột thứ k ma trận A Trong đó: - A ma trận - i, k số nguyên Ví dụ: >A:=matrix(3,3,[2,2,5,9,8,5,2,7,2]); 2 5 A := 2 2 >u:=row(A,3); u:=[2, 7, 2] >v:=row(A,1 3); v:=[2, 2, 5],[9,8,5],[2,7,2] Hoán vị dòng, cột ma trận Cú pháp: swaprow(A, r1, r2): Hốn vị 02 dịng r1 r2 ma trận A swapcol(A, c1, c2): Hoán vị 02 cột c1 c2 ma trận A Ví dụ: >A:=matrix(3,3,[2,2,5,9,8,5,2,7,2]); 2 5 A := 2 2 >B:=swaprow(A, 2, 3); 2 B := 2 5 Tìm ma trận chuyển vị: Cú pháp: transpose (A); Ví dụ: >A:=matrix(3,3,[2,2,5,9,8,5,2,7,2]); 2 5 A := 2 >B:=transpose(A); 2 2 B := 5 2 8 Tìm ma trận liên hợp: Cú pháp: adjoint(A); Ví dụ: Tìm ma trận liên hợp ma trận A >A:=matrix(2,2,[5,1,2,3]); 5 1 A := 2 3 >adjoint(A); −1 −2 Tìm ma trận đặc trưng: Cú pháp: charmat(C, x) Tìm ma trận đặc trưng ma trận C trình bày kết theo biến x Ví dụ: >C:=matrix(3,3,[2,2,3,2,3,4,5,0,9]); 2 3 C := 5 >charmat(C,lambda); −3 λ − −2 −2 λ − − −5 λ − 9 10 Tìm đa thức đặc trưng ma trận: Cú pháp: charpoly(C, x) Tìm đa thức đặc trưng ma trận C trình bày kết theo biến x Ví dụ: Tìm đa thức đặc trưng ma trận C trên: >charpoly(C, lambda); λ − 14λ + 32λ − 13 11 Biến đổi ma trận dạng bậc thang: Cú pháp: >with(linalg); >rref(A); Ví dụ: >with(linalg); >A:=matrix(3,4,[2,1,3,2,3,5,2,1,1,2,3,5]); 2 2 A = 3 1 1 >rref(A); 1 0 0 0 −20 17 12 Phép khử Gauss-Jordan: Cú pháp: >with(linalg); >gaussjord(A, r); Trong đó: - A ma trận cần biến đổi - r cho biết hạng ma trận Ví dụ: >with(linalg); >A:=matrix(3,4,[2,1,3,2,3,5,2,1,1,2,3,5]); 2 A := 1 5 >gaussjord(A, r); 10 1 0 0 0 −20 17 >r; 13 Tìm vectơ riêng ma trận A: Cú pháp: >with(linalg); >eigenvectors(A); Ví dụ: >A:=matrix(3,3,[1,-3,3,3,-5,3,6,-6,4]); 1 −3 A := −5 −6 >v:=[eigenvectors(A)]; v:= 14 Tìm giá trị riêng ma trận A: Cú pháp: >with(linalg); >eigenvalues(A); Ví dụ: >A:=matrix(3,3,[1,-3,3,3,-5,3,6,-6,4]); −3 A := −5 −6 >e:=eigenvalues(A); e:=4,-2, 11 15 Tìm hạng ma trận A: Cú pháp: >With(linalg); >rank(A); Ví dụ: >A:=matrix(3,3,[1,-3,3,3,-5,3,6,-6,4]); −3 A := −5 −6 >rank(A); 16 Tính định thức ma trận A: Cú pháp: >With(linalg); >det(A); Ví dụ: >A:=matrix(3,3,[1,-3,3,3,-5,3,6,-6,4]); 1 −3 A := −5 −6 >det(A); 16 17 Tìm ma trận nghịch đảo ma trận A: Cú pháp: >with(linalg); >Inverse(A); Ví dụ: >A:=matrix(3,3,[1,-3,3,3,-5,3,6,-6,4]); −3 A := −5 −6 12 >inverse(A); 18 Biến đổi ma trận dạng tam giác: Cú pháp: >with(linalg); >gausselim(A,r,d); Trong đó: - A ma trận vuông, - r, d tham số cho biết hạng định thức A (có khơng) Ví dụ: >with(linalg); >A:=matrix(3,3,[1,-3,3,3,-5,3,6,-6,4]); 1 −3 A := −5 −6 >B:=gausselim(A,’r’,’d’); >r; >d; 16 III Giải phương trình đại số tuyến tính: Lập hệ phương trình tuyến tính từ hệ số ma trận: Cú pháp: 13 >with(linalg); >geneqns(A,vars,b); Trong đó: - A: ma trận, - Vars: Tên biến hệ phương trình, - b: Vectơ phải hệ Ví dụ: >with(linalg); >A:=matrix(3,3,[3,1,0,3,1,1,1,3,5]); b:=array([2,9,2]); 3 0 A := 3 1 1 b:= [2, 9, 2] >geneqns(A,[x,y,z],b); Giải hệ phương trình đại số tuyến tính: Phương trình đại số tuyến tính có dạng Ax = b có nhiều phương pháp giải khác thông qua phép biến đổi Cú pháp lệnh trực tiếp giải hệ phương trình đại số tuyến tính là: >linsolve(A, b); Trong đó: + A: ma trận xác định vế trái hệ phương trình; + b: Vectơ xác định vế phải 3 x + y = 3 x + y + z = x + y + 5z = Ví dụ: Giải hệ phương trình: >with(linalg); >A:=matrix(3,3,[3,1,0,3,1,1,1,3,5]); b:=array([2,9,2]); 14 3 0 A := 3 1 1 b:= [2, 9, 2] >geneqns(A,[x,y,z],b); >linsolve(A,b); Vậy nghiệm hệ là: x = 39/8; y = -101/8; z = 15 IV Kết luận Qua ví dụ ứng dụng phần mềm Maple việc giải số vấn đề đại số tuyến tính, đặc biệt việc vận dụng phần mềm Maple vào việc giải hệ phương trình đại số tuyến tính cách hiệu thấy phần mềm tiện ích thuận tiện cho việc giải tốn, cần sử dụng cách thục phần mềm vào việc giải tốn khơng giải hệ phương trình mà cịn nhiều ứng dụng khác Có thể nói phương tiện cần thiết cho học sinh sinh viên V Tài liệu tham khảo - http://www.maplesoft.com - http://www.mediafire.com/?dvqp1r94szor4c9 - Tài liệu ứng dụng chương trình Maple số vấn đề đại số tuyến tính 16 ... nhiều cách thức thuận tiện mà hiệu Cũng lí nhóm chúng tơi thực đề tài ” Sử dụng phần mềm Maple để thực phép toán đại số ma trận va ứng dụng vào giải hệ phương trình đại số tuyến tính ” cách để giải. .. đảo ma trận A 12 18 Biến đổi ma trận dạng tam giác 13 III Giải phương trình đại số tuyến tính 13 Lập hệ phương trình tuyến tính từ hệ số ma trận 13 Giải hệ phương trình đại số tuyến. .. thiệu phần mềm maple Maple 2 Ứng dụng chương trình Maple số vấn đề đại số tuyến tính II Các phép toán đại số ma trận vectơ Một số lệnh tạo ma trận cấp m×n Các