CÁC TÍNH NĂNG CƠ BẢN CỦA MAPATH...5 PHẦN B: ỨNG DỤNG CỦA MAPLE TRONG MỘT SỐ VẤN ĐỀ CỦA ĐẠI SỐ TUYẾN TÍNH...6 1... Để hiểu hơn về vấn đề này em xin chọn đề tài : “ Ứng dụng Maple trong mộ
Trang 1Trường Đại Học Công Nghệ Thông Tin
BÀI THU HOẠCHMÔN LẬP TRÌNH SYMBOLIC CHO TRÍ TUỆ
Trang 3MỤC LỤC
LỜI CẢM ƠN 2
LỜI MỞ ĐẦU 3
PHẦN A: GIỚI THIỆU 4
1 GIỚI THIỆU VỀ MAPLE 4
2 GIỚI THIỆU VỀ LẬP TRÌNH TRONG MAPATH 4
3 CÁC TÍNH NĂNG CƠ BẢN CỦA MAPATH 5
PHẦN B: ỨNG DỤNG CỦA MAPLE TRONG MỘT SỐ VẤN ĐỀ CỦA ĐẠI SỐ TUYẾN TÍNH 6
1 CÁC PHÉP TOÁN ĐẠI SỐ TRÊN MA TRẬN VÀ VECTƠ 6
1.1 Một số lệnh tạo ma trận cấp mxn: 6
1.2 Tạo vectơ 7
1.3 Các phép tính trên ma trận và vectơ 7
1.4 Tìm vết của ma trận (tổng các phần tử thuộc đường chéo chính) 11
1.5 Tạo ma trận con từ một ma trận cho trước 11
1.6 Tạo một vectơ từ một ma trận: 12
1.7 Trích một dòng, cột của ma trận: 12
1.8 Hoán vị dòng, cột của một ma trận: 13
1.9 Tìm ma trận chuyển vị: 13
1.10 Tìm ma trận liên hợp: 14
1.11 Tìm ma trận đặc trưng: 14
1.12 Tìm đa thức đặc trưng của một ma trận: 15
1.13 Biến đổi ma trận về dạng bậc thang 15
1.14 Phép khử Gauss-Jordan 15
1.16 Tìm vectơ riêng của ma trận A 16
1.17 Tìm giá trị riêng của ma trận A 16
1.18 Tìm hạng của ma trận A 17
1.19 Tính định thức của ma trận A 17
1.20 Tìm ma trận nghịch đảo của ma trận A 18
1.21 Biến đổi ma trận về dạng tam giác 18
2 GIẢI PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH 19
2.1 Lập hệ phương trình tuyến tính từ các hệ số của ma trận: 19
2.2 Giải hệ phương trình đại số tuyến tính 20
KẾT LUẬN 21
TÀI LIỆU THAM KHẢO 22
Trang 4Tuy nhiên, do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình, nhưng chắc rằng bài viết khó tránh khỏi thiếu sót Em rất mong nhận được sự góp ý và bảo tận tình của thầy và các bạn để bài viết của em có thể hoàn thiện hơn.
Em xin chân thành cảm ơn./.
Hà Nội, tháng 1 năm 2013
Học viên thực hiện
Trịnh Ngọc Thư
Trang 5LỜI MỞ ĐẦU
Chúng ta đang sống trong thế kỷ thứ 21 thế kỷ của sự bùng nổ về công nghệ mà đỉnh cao là công nghệ thông tin Công nghệ thông tin đã và đang ứng dụng nhiều vào phương pháp học tập, nghiên cứu Kèm theo đó nó đang đổi mới nghệ thuật giảng dạy vốn mang sắc màu truyền thống, nay đã được điểm thêm những nét mới đầy hấp dẫn và hiệu quả.
Có một thực tế là học sinh và cả sinh viên đang ngày càng nhàm chán hơn với cách dạy và học truyền thống giờ đây người học nhìn thấy được những minh họa sinh động rõ ràng và dễ hiểu Đồng thời không phải lặp đi lặp lại một cách thật nhàm chán các tính toán hay các phép biến đổi nặng nề mà không hiểu được bản chất thật sự.
Hiện nay ở Việt Nam chúng ta đã có những phần mềm nổi tiếng hỗ trợ giáo viên, học sinh, sinh viên trong giảng dạy và học tập, như Maple Để hiểu hơn về vấn đề
này em xin chọn đề tài : “ Ứng dụng Maple trong một số vấn đề của đại số tuyến
tính”
Trang 6PHẦN A: GIỚI THIỆU
1 GIỚI THIỆU VỀ MAPLE
Maple là một hệ thống tính toán trên các biểu thức đại số và minh họa toán rất mạnh
mẽ được phát triển bởi các nhà nghiên cứu của Đại học Waterloo (Canada) từ năm 1980 vàđược thương mại hoá bởi công ty Warterloo Maple Inc.(http://www.maplesoft.com), phiênbản Maple đầu tiên ra đời năm 1980, đến nay đã phát triển đến phiên bản 13 (2009) và ngàycàng hoàn thiện hơn Maple có cách cài đặt đơn giản, chạy được trên tất cả các hệ điều hành,
cấu trúc linh hoạt dễ sử dụng, đặc biệt có trình trợ giúp Help nên tạo điều kiện cho người
dùng dể sử dụng Từ phiên bản 7 Maple đã cung cấp các công cụ trực quan, các gói lệnh tựhọc đối với toán phổ thông và đại học Với ưu điểm đó thì Maple trở thành sự lựa chọn sửdụng của nhiều nước trên thế giới
Một số tính năng cơ bản của Maple như sau:
- Là một hệ thống tính toán trên các biểu thức đại số;
- Có thể thực hiện hầu hết các phép toán cơ bản trong chương trình toán học phổ thông
2 GIỚI THIỆU VỀ LẬP TRÌNH TRONG MAPATH
Một chương trình tính toán thường có ba phần:
Trang 7Tên_chương_trình:=proc(các đối số)
Local các biến;
thuật toán xử lý;
end;
3 CÁC TÍNH NĂNG CƠ BẢN CỦA MAPATH
Là một hệ thống các toán trên các biểu thức đại số;
Có thể thực hiện được hầu hết các phép toán cở bản trong chương trình toán đại học vàsau đại học;
Cung cấp các công cụ minh họa hình học thuận tiện gồm: vẽ đồ thị tĩnh và động của các đường và mặt được cho bởi các hàm tùy ý trong nhiều hệ tọa độ khác nhau;
Một ngôn ngữ lập trình đơn giản và mạnh mẽ có khả năng tương tác với ngôn ngữ lập trình khác;
Cho phép trích xuất ra các định dạng khác nhau như LaTex, Word, HTML, …
Một công cụ biên soạn giáo án và bài giảng điện tử, thích hợp với các lớp học tương tác trực tiếp
Một trợ giáo hữu ích cho học sinh vào sinh viên trong việc tự học
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.Ngoài ra, Maple còn cho phép ta tìm ra giá trị riêng, vectơ riêng, đa thức đặc trưng, tìm dạngchính tắc của ma trận và tính rất nhiều ma trận đặc biệt như Hilbert, Toeplitz v/v…
Các lệnh của đại số tuyến tính được cài sẵn trong gói công cụ linalg do đó trước khi sửdụng ta phải nạp gói công cụ này vào trong bộ nhớ bằng lệnh:
>with(linalg):
Trong phạm vi phụ lục này sẽ giới thiệu đôi nét về ứng dụng của chương trình Mapletrong một số phép toán đại số trên ma trận và vectơ, cũng như việc giải một hệ phương trìnhtuyến tính đơn giản Để biết thêm các ứng dụng khác của chương trình Maple, sinh viên cóthể tham khảo ở các tài liệu khác
Trang 8PHẦN B: ỨNG DỤNG CỦA MAPLE TRONG MỘT SỐ VẤN ĐỀ CỦA
Ngoài ra, tạo ma trận cấp mxn với các phần tử của ma trận là các giá trị hàm của f xác
định trên các chỉ số hàng và cột của ma trận, ta thực hiện như sau:
Trang 9 vector(n, K): Tạo vectơ với các phần tử được xác định trong K.
Vector [O](n,init): Tạo một vectơ với các phần tử ban đầu được xác định trong init.Trong đó:
Trang 111.3.3 Tích của hai ma trận:
Có thể dùng một trong hai hàm sau:
Multiply(A,B,…): Nhân các ma trận A, B, … với nhau
evalm(A&*B&*C…): Nhân các ma trận A, B, C với nhau bằng lệnh đánh giá evalm Khi đó, máy sẽ thực hiện phép nhân này từ trái sang phải
Ví dụ: Nhân hai ma trận sau đây:
Chú ý: Khi nhân và tính tổng cùng một lúc bằng lệnh lượng giá, thì máy sẽ thực hiện theo
thứ tự nhân trước rồi cộng trừ sau
1.3.4 Tính tích trong của ma trận và vectơ
Trang 121.3.6 Tích vô hướng hai vectơ
Cú pháp: dotprod(u, v) hoặc dotprod(u, v, orthogonal)
Trang 13Chú ý: Đối với số phức tích vô hướng của u và v bằng tổng các tích của u[i] nhân với liên
hiệp phức của v[i]: u v. u i(conjugate( ))v i
Nếu trong lệnh có thêm tham số orthogonal thì tích được tính như tổng của u[i] và v[i]:
Trang 14Trong đó:
+ A là ma trận cho trước
+Rrange, Crange: Khoảng chỉ số dòng, cột
+Rlist, Clist: Danh sách chỉ số dòng, cột
row(A, i): Trích dòng thứ i của ma trận A
row(A, i k): Trích từ dòng i đến dòng k của ma trận A
col(A, i): Trích từ cột thứ i của ma trận A
Trang 15 col(A, i k): Trích từ cột thứ i đến cột thứ k của ma trận A
swaprow(A, r1, r2): Hoán vị 02 dòng r1 và r2 của ma trận A
swapcol(A, c1, c2): Hoán vị 02 cột c1 và c2 của ma trận A
Trang 171.12 Tìm đa thức đặc trưng của một ma trận:
Cú pháp: charpoly(C, x) Tìm đa thức đặc trưng của ma trận C trình bày kết quả theo biến
0 1 0
917
Trang 18- r cho biết hạng của ma trận
0 1 0
917
Trang 203 8 3
8
-7 8
3 8 3
4
-3 4
1 4
1.21 Biến đổi ma trận về dạng tam giác
Trang 212 GIẢI PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH
2.1 Lập hệ phương trình tuyến tính từ các hệ số của ma trận:
Vars: Tên các biến của hệ phương trình
b: Vectơ phải của hệ
Trang 222.2 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 = u có nhiều phương pháp giải khác nhau thông qua các 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, u)
Trang 23KẾT LUẬN
Bài thu hoạch của em đã tìm hiểu được một số ứng dụng của Maple trong một
số vấn đề của đại số tuyến tính Từ những kết quả này, em nhận thấy rằng nếu khai thác tốt tính năng của maple sẽ đem lại một công cụ rất hiệu quả trong dạy học, trong nghiên cứu khoa học và trong nhiều lĩnh vực khác nữa Maple là nguồn mở cho phép người dùng tạo ra các lệnh riêng của mình bằng các mô đun lệnh có sẵn và ráp nối bằng các lệnh đơn giản.
Em xin cảm ơn thầy đã cho em một môn học thật là bổ ích, để em có thêm kiến thức trong bước đường nghiên cứu khoa học của mình.
Trang 24TÀI LIỆU THAM KHẢO
[1] Corless R M., Essential Maple 7, An Introduction for Scientific Programmers,
Springer, 2002
[2] Phạm Huy Điển, Tính toán, lập trình và giảng dạy toán học trên Maple, NXB KH và
KT, 2002
[3] Putz J., Maple Animation, Charman & Hall/CRC, 2003
[4] Nguyễn Chánh Tú, Ứng dụng Maple trong đổi mới phương pháp học tập và giảng dạytoán học, Kỷ yếu Hội thảo KH, ĐHSP Huế, 4/2004
[5] Waterloo Maple , Maple 9, Learning Guide, 2004
[6] Waterloo Maple , Maple 7, Programming Guide, 2004
[7] Zhonggang Zeng, Scientific Computing with Maple Programming, 2001
[8] http://maplevn2008.wordpress.com