Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
841,5 KB
Nội dung
GV. HƯỚNG DẪN : PGS.TS. ĐỖ VĂN NHƠN HỌC VIÊN : TRẦN THỊ XUÂN MÃ HV : CH1102019 LỚP : CAO HỌC CNTT – K6 BÀI THU HOẠCH MÔN SYMBOLIC VÀ TRÍ TUỆ NHÂN TẠO CHUYÊN ĐỀ TÌM HIỂUCÁCLỆNH CƠ BẢNTRÊNMAPLEVÀỨNGDỤNGMAPLEVỚIMỘTSỐBÀITOÁNCƠBẢN Lập trình Symbolic và trí tuệ nhân tạo PGS. TS. Đỗ Văn Nhơn HÀ NỘI, THÁNG 1 NĂM 2012 MỤC LỤC MỤC LỤC 2 LỜI MỞ ĐẦU 4 I. TỔNG QUAN VỀ MAPLE 5 1. Giới thiệu về Maple 5 3. Tính toán trong maple 6 3.1. Các phép tính số học thông thường 6 3.2. Tính toántrênsố nguyên 7 3.3. Ước lượng đại lượng/biểu thức với độ chính xác tùy ý 8 3.5. Tính tổng/tích hữu hạn ,vô hạn 12 II. LẬP TRÌNH TRÊNMAPLE 13 1. Cáclệnh lập trình cơbản 13 1.1. Vòng lặp While 13 1.2. Vòng lặp for 14 1.3. Lệnh điều kiện if 15 1.4. Lệnh break 15 1.5. Lệnh next 16 1.6. Sử dụngcác hàm RETURN, ERROR 17 2. Cách thiết lập một chu trình 17 2.1. Giới thiệu 17 2.2. Khai báo chu trình 18 2.3. Tham biến 18 2.4. Phạm vi các biến (biến toàn cục, biến cục bộ và tham biến) 19 2.5. Định giá trêncác biến 19 2.6. Các chức năng khác 20 3. Mộtsố hàm tự tạo 22 HÌNH GIẢI TÍCH KHÔNG GIAN 24 1. Các vấn đề cần chú ý khi lập trình giải cácbàitoán mẫu 24 2. Mộtsốbàitoáncơbản về giải tích trong không gian 29 2.1. Đoạn chương trình viết phương trình mặt cầu ngoại tiếp tứ diện 29 2.2. Đoạn chương trình viết phương trình đường vuông góc chung của 2 đường thẳng chéo nhau 30 KẾT LUẬN 34 Trần Thị Xuân- CH1102019 2 Lập trình Symbolic và trí tuệ nhân tạo PGS. TS. Đỗ Văn Nhơn TÀI LIỆU THAM KHẢO 35 Trần Thị Xuân- CH1102019 3 Lập trình Symbolic và trí tuệ nhân tạo PGS. TS. Đỗ Văn Nhơn LỜI MỞ ĐẦU MAPLE là một gói phần mềm toán học thương mại phục vụ cho nhiều mục đích. Nó phát triển lần đầu tiên vào năm 1980 bởi Nhóm Tính toán Hình thức tại Đại học Waterloo ở Waterloo, Ontario, Canada. Phần mềm MAPLE được các nhà khoa học của Canada viết ra để phục vụ cho công tác nghiên cứu toán học, phần mềm nầy rất mạnh, nó có thể giải quyết hầu hết các vấn đề về toán ở phổ thông và đại học. Maple là một hệ thống tính toántrêncá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ên bảnMaple đầu tiên ra đời năm 1980, đến nay đã phát triển và ngày càng hoàn thiện hơn. Maplecó 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. Ưu điểm đó khiến ngày càng có nhiều nước trên thế giới lựa chọn sử dụngMaple trong dạy-học toán tương tác trước đòi hỏi của thực tiễn và sự phát triển của giáo dục. Mặc dù rất nỗ lực, nhưng với sự hiểu biết còn hạn chế nên bài thu hoạch không tránh khỏi nhiều thiếu sót. Em rất mong nhận được những chỉ bảo của Thầy và độc giả. Em xin chân thành cám ơn thầy! Trần Thị Xuân Trần Thị Xuân- CH1102019 4 Lập trình Symbolic và trí tuệ nhân tạo PGS. TS. Đỗ Văn Nhơn I. TỔNG QUAN VỀ MAPLE 1. Giới thiệu về Maple Phần mềm Maple là kết quả của nhóm các nhà khoa học trường Đại học Waterloo - Canada và là một trong những bộ phần mềm toán học được sử dụng rộng rãi nhất hiện nay. MAPLE là phần mềm cómột môi trường tính toán khá phong phú, hỗ trợ hầu hết các lĩnh vực của toán học như: Giải tích số, đồ thị, đại số hình thức do đó ta dễ dàng tính được các giá trị gần đúng, rút gọn biểu thức, giải phương trình, bất phương trình, hệ phương trình, tính giới hạn, đạo hàm, tích phân của hàm số, vẽ đồ thị, tính diện tích, thể tích, biến đổi ma trận, khai triển các chuỗi, tính toán thống kê, xử lý số liệu, số phức, phương trình vi phân, phương trình đạo hàm riêng và lập trình giải cácbàitoánvới cấu trúc chương trình đơn giản. Ngoài ra, với phần mềm này ta dễ dàng biên soạn các sách giáo khoa điện tử với chức năng Hyperlink tạo các siêu văn bản rất đơn giản mà không cần đến sự hỗ trợ của bất kỳ một phần mềm nào khác (chẳng hạn PageText, Word, Frontpage ). Vớicác chức năng trên, MAPLE là công cụ đắc lực hỗ trợ cho những người làm toán. 2. Các tính năng cơbản của Maple - Là một hệ thống tính toántrêncác biểu thức đại số; - Có thể thực hiện hầu hết các phép toáncơbản trong chương trình toán học phổ thông và đại học; - Cung cấp các công cụ minh họa hình học thuận tiện như: Vẽ đồ thị tĩnh hoặc động của các đường, các mặt được cho bởi các hàm tùy ý trong nhiều hệ trục tọa độ khác nhau; - Ngôn ngữ lập trình đơn giản và mạnh mẽ có khả năng tương tác vớicác ngôn ngữ khác 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ớicác lớp học tương tác trực tiếp; - Một chương trình trợ giúp hiệu quả cho giảng viên và sinh viên trong việc dạy và học. Trần Thị Xuân- CH1102019 5 Lập trình Symbolic và trí tuệ nhân tạo PGS. TS. Đỗ Văn Nhơn 3. Tính toán trong mapleMaplecómột khả năng tính toán tuyệt vờicácsố rất lớn với tốc độ nhanh. Khả năng tính toán của Mape cũng rất đa dạng từ các phép tính đơn giản nhất đến các phép tính phức tạp nhất. Tính tóansố học thông thường. Tính tóantrênsố nguyên. Tính tóantrên biểu thức đại số. Tính tổng/tích hữu hạn,vô hạn. Các phép tính vi phân, tích phân. 3.1. Các phép tính số học thông thường - Phần này sẽ trình bày các phép tính số học thông thường vàcác hàm cơbản của Maple. - Bảng các phép tính số học: Phép toán Kí hiệu Phép toán Kí hiệu Phép toán Kí hiệu Cộng + Nhân * Giai thừa ! Trừ - Chia / Mũ ^ - Bảng các hàm thông dụng: Hàm Ý nghĩa Hàm Ý nghĩa Hàm Ý nghĩa abs(x) x sqrt(x) x exp(x) E mũ x ln(x) Log e (x) log10(x) Log 10 (x) log[b](x) Log b (x) trunc(x) Làm tròn x về số nguyên gần 0 hơn round(x) Làm tròn x về số nguyên gần x nhất floor(x) ceil(x) x x max(x 1 ,x 2 ,…) Giá trị lớn nhất của hai hay nhiều số min(x 1 ,x 2 , …) Giá trị nhỏ nhất của hai hay nhiều số - Bảng các hàm lượng giác: Hàm Ý nghĩa Hàm Ý nghĩa Hàm Ý nghĩa sin(x) Sin(x) cos(x) Cosin(x) tan(x) Tg(x) arcsin(x) Arcsin(x) arccos(x) Arccos(x) arctan(x) Arctg(x) Trần Thị Xuân- CH1102019 6 Lập trình Symbolic và trí tuệ nhân tạo PGS. TS. Đỗ Văn Nhơn - Bảng các hằng số thông dụng: Hằng số Ý nghĩa Hằng số Ý nghĩa Hằng số Ý nghĩa Pi Hằng số PI True Hằng logic đúng false Hằng logic sai FAIL Thất bại, sai Infinity Vô cùng ∞ Catalan Hằng Catalan > constants; , , , , , ,false γ ∞ true Catalan FAIL π > 100! + 2^100; 93326215443944152681699238856266700490715968264381621468592963895217599\ 99322991560894146397615651828625369792082722375825118521218451460022\ 8229401496703205376 3.2. Tính toántrênsố nguyên - Các hàm liên quan tính toán: Hàm Ý nghĩa Hàm Ý nghĩa Hàm Ý nghĩa factorial(n) n giai thừa isqrt(n) Căn bậc hai nguyên của n iroot(x,n) Căn bậc n nguyên của x ifactor(n) Phân tích n thành tích các thừa số nguyên tố irem(m,n) irem(m,n,`q`) Số dư khi chia m cho n và thương có thể được chứa trong q iquo(m,n) iquo(m,n,`r`) Thương khi chia m cho n vàsố dư có thể được chứa trong r igcd(x 1 ,x 2 , ) gcd(x 1 ,x 2 ) Ước số chung lớn nhất của hai hay nhiều số ilcm(x 1 ,x 2 , ) lcm(x 1 ,x 2 ) Bội số chung nhỏ nhất của hai hay nhiều số m mod n Số dư khi chia m cho n - Các hàm liên quan tới số nguyên tố: Hàm Ý nghĩa Hàm Ý nghĩa Hàm Ý nghĩa isprime(n) ố ố nextprime(n) ố ố ề prevprime(n) ố ố ềướ ithprime(n) ố ố ứ isqrt(14); 4 iroot(10,2); 3 ifactor(1223334444); ( ) 2 2 ( ) 3 ( ) 101944537 expand(%); 1223334444 irem(2^100,7); Trần Thị Xuân- CH1102019 7 Lập trình Symbolic và trí tuệ nhân tạo PGS. TS. Đỗ Văn Nhơn 2 iquo(2^100,7,`r`); 181092942889747057356671886482 r; 2 igcd(2^200 -1, 2^45-1); % - (2^5-1); 31 0 ilcm(100,x,45); ( )ilcm ,900 x Tìmmộtsố nguyên tố có 10 chữ số nextprime(10^9); 1000000007 isprime(%); true In ra 100 số nguyên tố đầu ên for i from 1 to 100 do print(ithprime(i)); #in ra so nguyen to thu i end do; Chuyển đổi giữa các hệ cơsố (decimal,binary,octal,hex và tùy ý) Dùnglệnh convert(… ) convert(100,binary); 1100100 convert([0,0,1,0,0,1,1],`base`,2,10); [ ], ,0 0 1 3.3. Ước lượng đại lượng/biểu thức với độ chính xác tùy ý - Dùng hàm evalf( ) evalf(bt); # ước lượng bt với độ chính xác qui định bởi biến Digits evalf(bt,n); # ước lượng bt với độ chính xác n Trần Thị Xuân- CH1102019 8 Lập trình Symbolic và trí tuệ nhân tạo PGS. TS. Đỗ Văn Nhơn Ước lượng e với độ chính xác 50 evalf(exp(1),50); 2.7182818284590452353602874713526624977572470937000 Digits; 10 evalf(Pi); 3.141592654 Digits:=30; evalf(Pi); := Digits 30 3.14159265358979323846264338328 3.4. Tính toántrên biểu thức đại số - Biểu thức đại số được cấu tạo nên từ các chất liệu: Các biến số đại số , các hàm. Các hằng số 3,e,Pi … Các phép tóan đại số (+,-,*,/,^ ). Mỗi phép tóancómột độ ưu tiên nhất định giúp chúng ta lượng giá biểu thức. - Nói chung, khái niệm biểu thức đại số trong Maple cũng tương tự như khái niệm biểu thức đại số trong tóan học. Maple hỗ trợ tuyệt vời cho việc thao tác trêncác biểu thức đại số. Khai triển biểu thức: o expand ( bt); bt:=(x+y)^7; := bt ( ) + x y 7 expand(bt); + + + + + + + x 7 7 x 6 y 21 x 5 y 2 35 x 4 y 3 35 x 3 y 4 21 x 2 y 5 7 x y 6 y 7 Đơn giản biểu thức: o simplify(bt); expr:=(x+y)^3 - (x^2 + 2*y^2)*(x+3*y); := expr − ( ) + x y 3 ( ) + x 2 2 y 2 ( ) + x 3 y > simplify(expr); − x y 2 5 y 3 Phân tích biểu thức thành nhân tử: Trần Thị Xuân- CH1102019 9 Lập trình Symbolic và trí tuệ nhân tạo PGS. TS. Đỗ Văn Nhơn o factor(bt); factor(x^5+x+1); ( ) + + x 2 x 1 ( ) − + x 3 x 2 1 Tối giản phân thức: o normal(pt); ts:=(x+y)*(2*x-1); ts:=expand(ts); := ts ( ) + x y ( ) − 2 x 1 := ts − + − 2 x 2 x 2 x y y ms:=(2*x-1)*(x^2-3*y*x+5); ms:=expand(ms); := ms ( ) − 2 x 1 ( ) − + x 2 3 x y 5 := ms − + − + − 2 x 3 6 x 2 y 10 x x 2 3 x y 5 pt:=ts/ms; := pt − + − 2 x 2 x 2 x y y − + − + − 2 x 3 6 x 2 y 10 x x 2 3 x y 5 normal(pt); + x y − + x 2 3 x y 5 Thay thế trong biểu thức: - Các biến đại số trong biểu thức có thể được thay thế bởi các biểu thức khác. Kết quả là chúng ta sẽ thu được biểu thức mới. Việc thay thế này được thực hiện trong Maple bởi lệnh: o eval(bt ,{bien 1 = bt1,bien 2 =bt2,…,bien n =btn}); > expr:=x^3 - 2*x^2*y + 2*z; := expr − + x 3 2 x 2 y 2 z eval(expr,{x=a+b,y=1}); − + ( ) + a b 3 2 ( ) + a b 2 2 z expand(%); + + + − − − + a 3 3 a 2 b 3 a b 2 b 3 2 a 2 4 a b 2 b 2 2 z > W := 3*x^2+8; W := 3 x 2 C 8 Trần Thị Xuân- CH1102019 10 [...]... trên biểu thức đại số, tính tổng/tích hữu hạn, vô hạn, các phép tính vi phân, tích phân Ngoài ra với phần mềm Maple, chúng ta có thể: + Thực hiện các tính toánvới khối lượng lớn, với thời gian nhanh và độ chính xác cao + Sử dụngcác gói chuyên dụng của Maple để giải quyết cácbàitoán cụ thể như: vẽ đồ thị (gói plot), hình học giải tích (gói geometry), đại số tuyến tính (gói linalg), + Thiết kế các. .. dạy toánvà làm toán Nhờ có nó, chúng ta có thể đỡ vất vả hơn rất nhiều, công việc lao động trí óc sẽ đạt được năng suất cao hơn, hiệu quả hơn Vì Maple là một công cụ có khả năng tính toán tuyệt vờicácsố rất lớn với tốc độ nhanh Khả năng tính toán của Mape cũng rất đa dạng từ các phép tính đơn giản nhất đến các phép tính phức tạp nhất: Tính toánsố học thông thường, tính toántrênsố nguyên, tính toán. .. thể làm việc vớiMaple bằng hai chế độ khác nhau: Chế độ tương tác trực tiếp thông qua việc nhập từng lệnh đơn lẻ ngay tại dấu nhắc lệnh của Maplevà nhận được ngay kết quả của lệnh đó Chế độ chu trình được thực hiện bằng cách đóng gói một dãy các lệnh xử lí cùng một công việc vào trong một chu trình (procedure) duy nhất, sau đó ta chỉ cần gọi chu trình này vàMaple tự động thực hiện các lệnh có trong... sử dụng để trả lại kết quả, như các ngôn ngữ lập trình truyền thống Ngoài ra, do Maplecó những hàm có khả năng trả lại nhiều hơn một giá trị Ta có thể gộp các giá trị này vào một danh sách để trả lại như một phần tử 2.5 Định giá trêncác biến Định giá tên hàm và tham biến: Như đã đề cập trước đây, các tên biến trong một biểu thức được Maple định giá trước khi thực hiện các phép tính trên chúng Đối với. .. - III ỨNGDỤNGMAPLEVỚIMỘTSỐBÀITOÁNCƠBẢN HÌNH GIẢI TÍCH KHÔNG GIAN 1 Các vấn đề cần chú ý khi lập trình giải cácbàitoán mẫu Trần Thị Xuân- CH1102019 24 Lập trình Symbolic và trí tuệ nhân tạo Trần Thị Xuân- CH1102019 PGS TS Đỗ Văn Nhơn 25 Lập trình Symbolic và trí tuệ nhân tạo Trần Thị Xuân- CH1102019 PGS TS Đỗ Văn Nhơn 26 Lập trình Symbolic và trí tuệ nhân tạo Trần Thị... việc mang tính đặc thù riêng của mình Các khái niệm cơbản cần phải nắm vững để tạo ra một chu trình (procedure) là: Cấu trúc proc() end; cùng vớicác khai báo trong cấu trúc này (global, local, option, ) Các cấu trúc dữ liệu vàcác hàm có liên quan (dãy-sequence, tập hợp-set, danh sách-list, mảng-array, bảng-table) Các hàm lập trình cơbản (đã nêu ở trên) vàcác hàm liên quan đến việc xử lí dữ liệu... vớisố lần tuỳ ý Từ khoá elif là dạng viết tắt của else if Các biểu thức điều kiện condition được sử dụng trong câu lệnh if phải được tạo thành từ các bất đẳng thức, các đẳng thức (các phép toán quan hệ), các biến số, các phép toán logic, các hàm có giá trị trả lại là giá trị logic Nếu trái lại thì sẽ gây ra lỗi 1.4 Lệnh break Cấu trúc cú pháp: break Trần Thị Xuân- CH1102019 15 Lập trình Symbolic và. .. từng lệnh của một chu trình ra màn hình Lệnh dò trace() hoạt động tương tự như khi ta gán cho biến printlevel mộtsố đủ lớn để có thể hiện ra màn hình tất cả các câu lệnh cũng như điểm vào và điểm ra của hàm mà ta đang thực hiện Trong suốt quá trình thực hiện, các điểm vào, các kết quả của các câu lệnh, các điểm ra của hàm cần dò được hiện ra màn hình Các tham biến được hiện ra ở điểm vào chu trình,... thể hiển thị một phần mã nguồn của các chu trình bằng cách định rõ phạm vi của các dòng cần thể hiện Chúng ta cũng có thể sử dụngcác hàm print() và interface() để đọc mã nguồn của các hàm trong Maple Thông thường thì Maple không hiển thị phần thân của các chu trình đó nếu ta cho hiển thị chúng Muốn làm điều này, ta phải gọi lệnh interface() với tham số verbosepro =2 trước, sau đó dùnglệnh print thì... hình các "vòng lệnh ẩn" ta sử dụng biến printlevel Đây là cách đơn giản nhất để xem xét các quá trình thực hiện lệnh Khi printlevel được gán giá trị âm thì không hiện gì cả, nếu được gán giá trị 0 thì chỉ có kết quả của các câu lệnh được hiện ra Dò từng lệnh trong chu trình: trace(f) trace(f, g, h, ) Tham số: Các hàm f, g, h, là các hàm cần chạy từng bước Lệnh trace cho in cách thức hiện từng lệnh . CNTT – K6 BÀI THU HOẠCH MÔN SYMBOLIC VÀ TRÍ TUỆ NHÂN TẠO CHUYÊN ĐỀ TÌM HIỂU CÁC LỆNH CƠ BẢN TRÊN MAPLE VÀ ỨNG DỤNG MAPLE VỚI MỘT SỐ BÀI TOÁN CƠ BẢN Lập trình. 3.1. Các phép tính số học thông thường - Phần này sẽ trình bày các phép tính số học thông thường và các hàm cơ bản của Maple. - Bảng các phép tính số học: