LẬP TRÌNH SYBOLIC -MAPLE VÀ ỨNG DỤNG

43 361 1
LẬP TRÌNH SYBOLIC -MAPLE VÀ ỨNG DỤNG

Đ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

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN _____  _____ BÀI THU HOẠCH MÔN HỌC LẬP TRÌNH SYBOLIC Đề tài: LẬP TRÌNH SYBOLIC - MAPLE VÀ ỨNG DỤNG Giao viên hướng dẫn : PGS.TS Đỗ Văn Nhơn Học viên thực hiện: Nguyễn Thị Thu Thủy Mã số: CH1101142 Năm 2013 TP. Hồ Chí Minh, tháng 01 năm 2013 MỤC LỤC CHƯƠNG 1 TÍNH TOÁN SYMBOLIC TRONG MAPLE 5 1.1 Giới thiệu Maple 5 1.2 Các hàm tính toán cơ bản 6 1.2.1 Tính toán số chính xác và gần đúng 6 1.2.2 Tính toán symbolic 6 1.2.3 Tính toán số nguyên, số hữu tỉ, số thực, số phức 7 1.2.4 Tính đạo hàm: 9 1.2.5 Tính tổng vô hạn 10 1.2.6 Khai triển Maclaurin 10 1.2.7 Giải phương trình, hệ phương trình (có thể tính theo tham số) 10 1.2.8 Đơn giản biểu thức 10 1.3 Các kiểu cấu trúc cơ bản 11 1.3.1 Sequence (dãy) 11 1.3.2 Lists (danh sách) 12 1.3.3 Sets (tập hợp) 13 1.3.4 Arrays (mảng) 14 1.3.5 Tables (bảng) 15 1.3.6 Strings 15 1.4 Xử lý các biểu thức 16 1.5 Tính toán đa thức 17 1.5.1 Các hàm tiện ích 17 1.5.2 Các toán tử trên các đa thức 19 1.6 Tìm nghiệm phương trình, hệ phương trình, bất phương trình 19 CHƯƠNG 2 CƠ SỞ LẬP TRÌNH SYMBOLIC TRONG MAPLE 21 2.1 Các yếu tố của ngôn ngữ lập trình 21 2.2 Lệnh cơ sở, lệnh điều khiển 21 2.2.1 Lệnh điều kiện IF 21 2.2.2 Vòng lặp While 22 Bài thu hoạch “Lập trình Sybolic – Maple và ứng dụng” GVHD: PGS.TS Đỗ Văn Nhơn SVTH: Nguyễn Thị Thu Thủy 2 2.2.3 Vòng lặp for 22 2.2.4 Lệnh Break 24 2.2.5 Lệnh Next 24 2.2.6 Hàm Return, Error 25 2.3 Thủ tục, hàm hay chu trình (procedure) 25 2.3.1 Cấu trúc thủ tục 26 2.3.2 Cấu trúc chu trình 27 2.4 Giải một số bài tập sử dụng hàm trong Maple 29 2.4.1 Giải phương trình bậc 2 29 2.4.2 Giải hệ phương trình 29 2.4.3 Giải bất phương trình 30 2.4.4 Tìm hình chiếu của 1 đường thẳng 30 CHƯƠNG 3 : LẬP TRÌNH MỘT SỐ ỨNG DỤNG TRONG MAPLE 31 Chương trình xây dựng trên thư viện hỗ trợ tính toán Maple 16. 31 3.1 Giải phương trình bậc 2: 31 3.1.1 Đặt vấn đề bài toán 31 3.1.2 Biểu diễn bài toán 31 3.1.3 Thuật toán 31 3.1.4 Cài đặt thuật toán 32 3.1.5 Chạy thử nghiệm 33 3.2 Giải bài toán đại số vector 2D: 33 3.2.1 Cơ sở lý thuyết về vector 33 3.2.2 Đặt vấn đề bài toán 38 3.2.3 Cài đặt thuật toán 38 3.2.4 Chạy thử nghiệm 39 CHƯƠNG 4 KẾT LUẬN 41 * * * Bài thu hoạch “Lập trình Sybolic – Maple và ứng dụng” GVHD: PGS.TS Đỗ Văn Nhơn SVTH: Nguyễn Thị Thu Thủy 3 LỜI CẢM ƠN Trong suốt thời gian học vừa qua, chúng em đã nhận được sự quan tâm, động viên và tận tình dạy dỗ của thầy, đã cung cấp những kiến thức hết sức bổ ích và cần thiết để chuẩn bị cho các môn học tiếp theo ở khóa học. Chúng em xin chân thành cảm ơn quý thầy cô trường Đại học Công Nghệ Thông Tin, Ban Giám Hiệu đã tạo cho chúng em một môi trường học tập, rèn luyện đạo đức, nhân cách trong suốt thời gian học đã cung cấp những kiến thức cũng như những kinh nghiệm hết sức cần thiết cho việc học tập và nghiên cứu. Đặc biệt, chúng em xin gửi lời cảm ơn chân thành đến PGS.TS Đỗ Văn Nhơn, Thầy đã truyền đạt những kiến thức quý báu về môn học Lập trình Symbolic trong Trí tuệ nhân tạo, tận tình hướng dẫn chúng em thực hiện tiểu luận môn Lập trình Symbolic trong Trí tuệ nhân tạo. Tuy nhiên, do những hạn chế về mặt thời gian, chúng tôi rất mong nhận được sự chỉ bảo tận tình của quý thầy cô và sự phản hồi góp ý của các bạn đối với những thiếu xót còn tồn tại trong đề tài này. Nhóm chúng em rất mong được sự đóng góp nhiệt tình của quý Thầy Cô để bài luận được hoàn thiện hơn. Bài thu hoạch “Lập trình Sybolic – Maple và ứng dụng” GVHD: PGS.TS Đỗ Văn Nhơn SVTH: Nguyễn Thị Thu Thủy 4 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Bài thu hoạch “Lập trình Sybolic – Maple và ứng dụng” GVHD: PGS.TS Đỗ Văn Nhơn SVTH: Nguyễn Thị Thu Thủy 5 CHƯƠNG 1 TÍNH TOÁN SYMBOLIC TRONG MAPLE 1.1 Giới thiệu Maple Maple là hệ thống tính toán trên các biểu thức đại số và minh họa toán học mạnh mẽ của công ty Warterloo Maple Inc. Maple ra đời năm 1991 đến nay đã phát triển đến phiên bản 16. Maple có cách cài đặt đơn giản, chạy được trên nhiều hệ điều hành, có cấu trúc linh hoạt để sử dụng tối ưu cấu hình máy và có trình trợ giúp rất dễ sử dụng. Từ phiên bản 7, Maple cung cấp ngày càng nhiều các công cụ trực quan, các gói lệnh tự học gắn liền với toán học phổ thông và đại học. Ưu điểm đó làm cho nhiều người trên thế giới lựa chọn sử dụng Maple cùng các phần mềm toán học khác áp dụng trong dạy học toán và các công việc tính toán đòi hỏi của thực tiễn và sự phát triển của giáo dục. Có thể nhận thấy rằng ngoài các tính năng tính toán và minh họa rất mạnh mẽ bằng các câu lệnh riêng biệt (thường chỉ cho ta kết quả cuối cùng), Maple còn là một ngôn ngữ lập trình hướng thủ tục (procedure). Thủ tục là một dãy các lệnh của Maple theo thứ tự mà người lập trình định sẵn để xử lí một công việc nào đó, khi thực hiện thủ tục này Maple sẽ tự động thực hiện các lệnh có trong thủ tục đó một cách tuần tự và sau đó trả lại kết quả cuối cùng. Maple có các chức năng cơ bản 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 đượ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ị động và tĩnh của các đường và mặt được cho bởi các hàm tùy ý và trong các hệ tọa độ khác nhau. + Là 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 các ngôn ngữ lập trình khác. Bài thu hoạch “Lập trình Sybolic – Maple và ứng dụng” GVHD: PGS.TS Đỗ Văn Nhơn SVTH: Nguyễn Thị Thu Thủy 6 + Cho phép trích xuất ra các định dạng khác nhau như 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 sinh viên trong việc tự học. 1.2 Các hàm tính toán cơ bản 1.2.1 Tính toán số chính xác và gần đúng - Tính toán biểu thức chính xác dạng số hữu tỉ, căn thức, số phức. - Sử dụng lệnh evalf. Ví dụ: > a := 2^(1/3); evalf(a,20); Kết quả: 1.2.2 Tính toán symbolic - Xác định loại tính toán: dùng lệnh type và whattype Ví dụ: > A := (1+x)^2 *(3-2*x)^2; whattype(A); type(A,`*`); expand(A); Kết quả: Bài thu hoạch “Lập trình Sybolic – Maple và ứng dụng” GVHD: PGS.TS Đỗ Văn Nhơn SVTH: Nguyễn Thị Thu Thủy 7 - Biến và phép gán Ví dụ: > x := 'x': eqn := x^2+y^2 = 2; #x := 'x'; Kết quả: - Toán tử nối tên (concatenation operator) Ví dụ: > a || b; Kết quả: - Ký hiệu "->" trong định nghĩa hàm Ví dụ: > f := (x,y) -> 2*x^2 -3*x*y + 4*y^2; f(m,2*m+1); Kết quả: 1.2.3 Tính toán số nguyên, số hữu tỉ, số thực, số phức Maple được sử dụng giống như 01 máy tính tính toán, nó có khả năng nhận biết được các toán tử như giai thừa, tìm ước chung lớn nhất, bội chung nhỏ nhất, tính toán trên các số nguyên cực lớn - Các tính toán số nguyên gồm: + biểu thức thông thường Ví dụ: nhân 2 số 17x15 > Bài thu hoạch “Lập trình Sybolic – Maple và ứng dụng” GVHD: PGS.TS Đỗ Văn Nhơn SVTH: Nguyễn Thị Thu Thủy 8 + giai thừa, hàm length Ví dụ: Tính giai thừa của 10 và tính chiều dài của 1 số > > + Các hàm: Hàm Ý nghĩa Ví dụ abs Lấy giá trị tuyệt đối > abs(-11); ifactor Phân tích ra thừa số nguyên tố > iquo Lấy số nguyên của phép chia iquo(m, n) iquo(m, n, 'r') > irem(23,4,'q'); > q; > iquo(23,4,'r'); > r; irem Lấy số dư của phép chia irem(m, n) irem(m, n, 'q') gcd Ví dụ: bộ số chung nhỏ nhất của 10 vá 15 là 5 > igcd Ví dụ: bộ số chung nhỏ nhất của a vá b? > a := 3486231590; b := 8500576883815068; d := igcd(a,b); Kết quả: isprime Kiểm tra 1 số có phải là số nguyên hay không? > ithprime Xác định số nguyên tố thứ n (mặc định 2 là số nguyên tố thứ 1) > Bài thu hoạch “Lập trình Sybolic – Maple và ứng dụng” GVHD: PGS.TS Đỗ Văn Nhơn SVTH: Nguyễn Thị Thu Thủy 9 prevprime(n) nextprime(n) Số nguyên tố lớn nhất nhỏ hơn n và nhỏ nhất lớn hơn n > > max Tìm số lớn nhất > min Tìm số nhỏ nhất mod Chia lấy dư > convert Chuyển một số từ dạng này sang dạng khác > convert(9, binary); > convert(1.23456,rational); - Tính toán số phức: bao gồm các hàm toán học + sin, cos, tan, + sinh, cosh, tanh, + arcsin, arccos, arctan, + exp + ln, log[10] + sqrt + round, trunc + Zeta v.v - Và số Pi. Ví dụ: > a := Pi^2+1; evalf(a,30); x := 5; Kết quả: 1.2.4 Tính đạo hàm: Ví dụ: > Diff(sin(x)*ln(x), x); #value(%); [...]... nghiệm các phương trình, bất phương trình và hệ phương trình trong maple cho sử dụng hàm solve và fsolve để tìm nghiệm cho các phương trình trên Ví dụ: Phương trình bậc 2 Bất phương trình > #solve(x^2+x-1=0, x); solve(x^2+m*x+1=0,x); Kết quả: cho 2 nghiệm x1,x2 > Kết quả: 19 GVHD: PGS.TS Đỗ Văn Nhơn SVTH: Nguyễn Thị Thu Thủy Bài thu hoạch Lập trình Sybolic – Maple và ứng dụng Phương trình bậc 6 > solve(... Văn Nhơn SVTH: Nguyễn Thị Thu Thủy Bài thu hoạch Lập trình Sybolic – Maple và ứng dụng CHƯƠNG 3 : LẬP TRÌNH MỘT SỐ ỨNG DỤNG TRONG MAPLE Chương trình xây dựng trên thư viện hỗ trợ tính toán Maple 16 3.1 Giải phương trình bậc 2: 3.1.1 Đặt vấn đề bài toán Giải phương trình bậc 2 một ẩn số như sau: ax2 + bx + c = 0 (a#0) 3.1.2 Biểu diễn bài toán Phương trình bậc 2 một ẩn được biểu diễn như sau: ax2 +... phương trình có hai nghiệm phân biệt + Nếu ∆=0 thì phương trình có nghiệm kép + Nếu ∆ solve( x^6-2*x^2+2*x, x ); Kết quả: Sự dụng fsolve > fsolve( tan(sin(x))=1, x ); Kết quả: > poly := 23*x^5 + 105*x^4 - 10*x^2 + 17*x: fsolve( poly, x, -1 1 ); Kết quả: 20 GVHD: PGS.TS Đỗ Văn Nhơn SVTH: Nguyễn Thị Thu Thủy Bài thu hoạch Lập trình Sybolic – Maple và ứng dụng CHƯƠNG 2 2.1 CƠ SỞ LẬP TRÌNH SYMBOLIC TRONG MAPLE Các yếu tố của ngôn ngữ lập trình 2.2 Lệnh cơ sở, lệnh điều khiển 2.2.1... Lập trình Sybolic – Maple và ứng dụng 2.2.4 Lệnh Break Cấu trúc cú pháp: break Chức năng: Trong lúc vòng lặp while/for đang được thực hiện, nếu lệnh break được gọi thì chương trình sẽ thoát ngay lập tức ra khỏi vòng lặp while/for tận trong cùng nhất mà có chứa lệnh break (vì cũng có thể có nhiều vòng lặp while/for được lồng nhau) Một ví dụ khá điển hình trong việc sử dụng lệnh break là trong quá trình . khác nhau. + Là 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 các ngôn ngữ lập trình khác. Bài thu hoạch Lập trình Sybolic – Maple và ứng dụng GVHD: PGS.TS Đỗ Văn. phương trình, hệ phương trình, bất phương trình Để tìm nghiệm các phương trình, bất phương trình và hệ phương trình trong maple cho sử dụng hàm solve và fsolve để tìm nghiệm cho các phương trình. CÔNG NGHỆ THÔNG TIN _____  _____ BÀI THU HOẠCH MÔN HỌC LẬP TRÌNH SYBOLIC Đề tài: LẬP TRÌNH SYBOLIC - MAPLE VÀ ỨNG DỤNG Giao viên hướng dẫn : PGS.TS Đỗ Văn Nhơn Học viên thực

Ngày đăng: 10/04/2015, 08:06

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

Tài liệu liên quan