Tiểu luận môn LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG Tìm hiều về phần mềm toán học Maple

25 965 0
Tiểu luận môn LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG Tìm hiều về phần mềm toán học Maple

Đ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

Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm MỤC LỤC Lời nói đầu Maple hệ thống tính tốn biểu thức đại số minh họa toán học mạnh mẽ Maple cung cấp nhiều cơng cụ trực quan, gói lệnh tự học gắn liền với tốn học phổ thơng đại học Qua q trình nghiên cứu Maple, tơi nhận thấy ngồi tính tính tốn mạnh tốn học, Maple cịn ngơn ngữ lập trình hướng thủ tục Thủ tục dãy lệnh người dùng định sẵn để xử lý Mục tiêu báo cáo sử dụng phần mềm Maple để phân tích tốn khảo sát hàm số Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm Tơi xin chân thành cảm ơn PGS.TS Đỗ Văn Nhơn tận tình truyền đạt kiến thức quý báo Chân thành cảm ơn! Vũ Công Tâm TP.HCM 31-01-2013 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm CHƯƠNG I: TỔNG QUAN VỀ MAPLE I.1 GIỚI THIỆU VỀ MAPLE Maple phần mềm tính tốn hãng Maple Soft, phận chủ yếu liên hợp công ty Waterloo Maple phát triển Cho đến Maple phát triển qua nhiều phiên khác ngày hoàn thiện Với phần mềm Maple, có thể: + Thực tính tốn với khối lượng lớn, với thời gian nhanh độ xác cao Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm + Sử dụng gói chuyên dụng Maple để giải tố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ế đối tượng chiều + v.v I.2 CÁC LỆNH CƠ BẢN TRONG MAPLE 1.2.1 Tính tốn số học thơng dụng ￧Các phép toán số học: +, -, *, / ￧Lũy thừa: ^, giai thừa: x! ￧Logarit: ln(x), log[a](b), exp(x) ￧Các hàm lượng giác: sin(x), cos(x), tan(x), cot(x), ￧Một số hàm khác: abs(x) - |x|, sqrt(x) - bậc x 1.2.2 Tính tốn với độ xác theo u cầu Lệnh evalf - Cú pháp 1: evalf(bieu_thuc) - tính tốn xác giá trị biểu thức biểu diễn kết với mặc định 10 chữ số - Cú pháp 2: evalf(bieu_thuc, k) - tính tốn xác giá trị biểu thức biểu diễn kết với k chữ số > Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm > evalf(Pi); > evalf(cos(1) + sin(1)*I); > evalf(3/4*x^2+1/3*x-sqrt(2)); 1.2.3 Các thao tác với số nguyên Phân tích số n thành thừa số nguyên tố: lệnh ifactor(n); > ifactor( -144 ); > expand( ); > ifactor( 60, easy ); > ifactor( 4/11 ); > n := 1842140223038358851257: > ifactor( n, easy ); > ifactor( n ); Kiểm tra số n có phải số nguyên tố không?: lệnh isprime(n); > isprime(17); > isprime(21); Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm > isprime(11!+1); > isprime(2^30*3^30+7); Tìm số nguyên tố đứng sau số n cho trước: lệnh nextprime(n); > nextprime(1); > nextprime(0); Tìm số nguyên tố đứng trước số n cho trước: lệnh prevprime(n); > prevprime(3); > prevprime(25); Tìm ước số chung lớn số nguyên dương a, b: lệnh gcd(a,b); > gcd(6,-8,a,b); > a; > b; Tìm bội số chung nhỏ số nguyên dương a, b: lệnh lcm(a,b); > lcm(6,-8,3,4,12); > gcd(x^2-y^2,x^3-y^3,c,d); Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm > c; > d; Tìm số dư chia a cho b: lệnh irem(a,b); > irem(-23,4); > iquo(-23,4); > irem(23,-4); Tìm thương nguyên chia a cho b: lệnh iquo(a,b); > irem(23,4,'q'); > q; > iquo(23,4,'r'); > r; 1.2.4 Giải phương trình Lệnh isolve: - Cú pháp 1: isolve(phuong_trinh/he_phuong_trinh); - Cú pháp 2: isolve(phuong_trinh/he_phuong_trinh, ); > isolve(3*x-4*y=7); Tìm hiều phần mềm tốn học Maple Vũ Công Tâm > isolve(3*x-4*y=7,a); > isolve({3*x-4*y=7,x+y=14}); 1.2.5 Khái niệm biến số, số Trong Maple, biến số sử dụng thoải mái mà không cần khai báo, định nghĩa trước: Biến số, số đặt tên thỏa mãn số quy tắc sau: + Không bắt đầu chữ số + Không chứa khoảng trắng số ký tự đặc biệt như: %,^,&,*,$,#, + Không trùng với tên số hàm lệnh Maple: sin, cos, ln, min, max, Một biến số trở thành số gán cho giá trị Nếu muốn biến số trở lại biến số, ta dùng phép gán: ten_bien:='ten_bien'; 1.2.6 Triển khai biểu thức: expand(expr, expr1, expr2, , exprn) > expand((x+1)*(x+2)); > expand((x+1)/(x+2)); > expand(1/(x+1)/x); > expand(sin(x+y)); Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm > expand(cos(2*x)); > expand(exp(a+ln(b))); > expand((x+1)*(y+z)); Expand khai triển biểu thức khơng thể khai triển giữ nguyên giá trị > expand(ln(x/(1-x)^2)); > assume(x,real); > expand(ln(x/(1-x)^2)); Một số hàm nâng cao: > expand(BesselJ(2,t)); > expand(LegendreQ(2,t)); > expand(JacobiP(3,1,1/4,t)); 1.2.7 Phân tích đa thức thành nhân tử Cú pháp: factor(a) factor(a, K) > factor(6*x^2+18*x-24); > factor(6); > ifactor(6); Tìm hiều phần mềm tốn học Maple Vũ Công Tâm > factor((x^3-y^3)/(x^4-y^4)); > factor(x^3+5.0); > factor(x^3+5,complex); > factor(y^4-2,sqrt(2)); > alias(alpha = RootOf(x^2-2)): > factor(y^4-2,alpha); > factor(x^3+y^3); > factor(x^3+y^3,(-3)^(1/2)); 1.2.8 Đơn giản biểu thức đại số Cú pháp: simplify(bieu_thuc_dai_so); > simplify(4^(1/2)+3); > simplify(exp(a+ln(b*exp(c)))); > simplify(sin(x)^2+ln(2*x)+cos(x)^2); > simplify(sin(x)^2+ln(2*x)+cos(x)^2,trig); > simplify(sqrt(x^2),assume=positive); > eqns:= {sin(x)^2 +cos(x)^2=1}: > e:=sin(x)^3-11*sin(x)^2*cos(x)+3*cos(x)^3-sin(x)*cos(x)+2; 10 Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm > simplify(e,eqns); > simplify(e,eqns, [sin(x),cos(x)]); 1.2.9 Tối giản phân thức Cú pháp: normal(phan_thuc); > normal( x^2-(x+1)*(x-1)-1 ); > normal( (x^2-y^2)/(x-y)^3 ); > normal( (f(x)^2-1)/(f(x)-1) ); > normal( {2/x + y/3 = 0, 1/x-5/x^2 =1} ); > normal( sin(x*(x+1)-x) ); > normal( 1/x -1/x^2 g:=[seq(7*i*x/(i^2*x+1)+1/x, i=1 4)]; > normal(g); > normal( 1/x+x/(x+1) ); > normal( 1/x+x/(x+1), expanded ); 11 Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm 1.2.10 Thay giá trị cho biến biểu thức Cú pháp: subs(bien = gia_tri , bieu_thuc); > bt := x^2-1; > subs(x=2,bt): > bt := x^2-1; 1.2.11 Chuyển đổi dạng biểu thức Cú pháp: convert(bieu_thuc, kieu_chuyen_doi); Chuyển đổi kiểu liệu từ kiểu sang kiểu khác: 0F1 1F1 2F1 `*` `+` `0F1` `1F1` `2F1` Abel Abel_RNF abs Airy algebraic and arabic arctrig arctrigh arithop Array array base Bessel Bessel_related binary binomial boolean_function boolean_operator bytes Chebyshev compose confrac conversion_table csccot Cylinder D decimal degrees DESol dif dimensions 12 Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm disjcyc Ei Ei_related elementary Elliptic_related elsymfun equality erf erf_related erfc exp expln expsincos factorial FirstKind float FormalPowerSeries FromMma FromMmaNotebookfullparfrac function_rules GAMMA GAMMA_related global Hankel Heaviside Heun hex horner hypergeom int Int iupac Kelvin Kummer Legendre lessequal lessthan linearODE list listlist listlist(deprecated) ln local mathorner matrix Matrix MatrixPolynomialO bject MeijerG metric metric(deprecated) MobiusR MobiusX MobiusY mod2 ModifiedMeijerG multiset name NormalForm numericproc octal ODE ODEs or package parfrac permlist phaseamp PhysicsVectors piecewise PLOT3Doptions PLOToptions polar POLYGONS polynom PolynomialIdeal 13 Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm power pwlist radians radical rational ratpoly RealRange record relation Riccati roman RootOf SecondKind sectan set signum sincos sqrfree StandardFunctions std stdle string sum Sum surd symbol system table tan temperature to_special_function trig trigh truefalse unit_free units vector Vector Whittaker windchill xor y_x Ví dụ: > convert(9, binary); > convert(Pi,degrees); > convert(22, `units`,`inches`,`m`); > convert("XI",arabic); > convert( [1,2,3,4], `+` ); > f := seq( x[i]^i, i=1 ); > convert([f], `*`); 14 Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm > s := series(f,x,4); > convert(s, polynom); # Drop the order term I.3 CẤU TRÚC DỮ LIỆU I.3.1 Dãy biểu thức ( Expression Sequence) Dãy cấu trúc liệu gồm: Các phần tử ngăn cách dấu , Các phần tử dãy Maple áp dụng định giá đầy đủ định giá dãy I.3.2 Danh sách (List) Danh sách dãy bao cặp dấu ngoặc vuông Các phần tử danh sách co thể Ví dụ > I.3.3 Tập hợp (Set) Tập hợp dãy bao cặp dấu ngoặc nhọn Trong tập hợp thứ tự phần tử không quan trọng Cac phép tóan tập hợp union(hợp),intersect(giao),minus(trừ) Ví dụ 15 Tìm hiều phần mềm tốn học Maple Vũ Công Tâm > I.3.4 Mảng (Array) Mảng cấu trúc liệu bao gồm Một hay nhiều chiều Miền mục chiều phải khỏang số nguyên Các phần tử mảng thứ Cú pháp : > array(indexfcn , bounds ,list); - indexfcn (tùy chọn) : hàm số - bounds (tùy chọn) : dãy khỏang - list (tùy chọn) : danh sách giá trị khởi đầu Ví dụ > v := array(1 4): for i to v[i] := i^2 end do: print(v); I.3.5 Bảng (Table) Bảng cấu trúc liệu mục Cú pháp: > table (F,L); * F (tùy chọn): hàm số * L (tùy chọn): dãy hay tập hợp gồm phần tử bảng Nếu L có dạng danh sách hay tập hợp đẳng thức vế trái số mảng ; phần tử vế phải phần tử bảng Trái lại, số số nguyên 1,2,3 16 Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm indices(bang) : trả dãy số entries(bang) : tra dãy phần tử bảng Các ví dụ > table(); > T:=table([22,42]); T[2]; I.3.6 Các hàm thông dụng cấu trúc liệu a Hàm rand rand(m n)sẽ trả thủ tục gọi sinh số nguyên ngẫu nhiên khỏang m n rand(m n)( ): sinh số nguyên ngẫu nhiên khỏang m n rand( ): sinh số ngun ngẫu nhiên khơng âm có 12 chữ số randomize( ): gieo giống lại sinh số b Hàm tìm max,min dãy Cú pháp: > max( day ); > min( day ); c Hàm map Ví dụ > map(f, x + y*z); d Hàm add,mul add dùng để cộng dãy giá trị mul dùng để nhân dãy giá trị Cú pháp: i in x) e add(f, i = m n) add(f, i = x) add(f, mul(f, i = m n) mul(f, i = x) mul(f, i in x) Hàm subsop 17 Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm Hàm subsop dùng để thay lúc nhiều vị trí biểu thức cấu trúc liệu Cú pháp: > subsop(vt1=bt1,vt2=bt2, ,vtn=btn,bt); I.4 CÁC VÒNG LẶP TRONG MAPLE I.4 I.4.1 Vòng lặp While Cấu trúc cú pháp: While od; I.4.2 Vòng lặp for Cấu trúc cú pháp: for name from start by change to finish statement sequence od; Hoặc dạng phát biểu khác: for name in expression statement sequence od; I.4.3 Lệnh điều kiện if Cấu trúc cú pháp: if condition then statement sequence | elif condition then statement sequence | | else statement sequence | fi; Ghi chú: Các câu lệnh cặp dấu ngoặc đứng lệnh tuỳ chọn Thí dụ: biểu thức | statement | cho biết statement câu lệnh tuỳ chọn 18 Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm I.4.4 Lệnh break Cấu trúc cú pháp: break I.4.5 Lệnh next Cấu trúc cú pháp: next I.4.6 Sử dụng hàm RETURN, ERROR Hàm RETURN sử dụng giá trị hàm trước khỏi chu trình Nếu khơng có lệnh RETURN, chu trình tự động cho kết phép tính cuối chu trình Hàm ERROR sử dụng để đưa thông điệp lỗi hình từ bên chu trình Maple ngơn ngữ lập trình hướng chu trình (procedure) Chúng ta làm việc với Maple hai chế độ khác nhau: Chế độ tương tác trực tiếp thông qua việc nhập lệnh đơn lẻ dấu nhắc lệnh Maple nhận kết lệnh Chế độ chu trình thực cách đóng gói dãy lệnh xử lí cơng việc vào chu trình (procedure) nhất, sau ta cần gọi chu trình Maple tự động thực lệnh có chu trình cách sau trả lại kết cuối Maple chứa lượng lớn hàm tạo sẵn đáp ứng cho u cầu tính tốn khác nhiều lĩnh vực Các hàm lưu trữ gói chu trình (package) người sử dụng dễ dàng gọi đến cần thiết Tuy nhiên, người dùng Maple tự tạo cho riêng gói chu trình trao đổi dùng chung gói chu trình đấy, phục vụ cho cơng việc mang tính đặc thù riêng Các khái niệm cần phải nắm vững để tạo chu trình (procedure) là: Cấu trúc proc() end; với khai báo cấu trúc (global, local, option, ) Các cấu trúc liệu hàm có liên quan (dãy-sequence, tập hợp-set, danh sách-list, mảng-array, bảng-table) 19 Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm Các hàm lập trình (đã nêu trên) hàm liên quan đến việc xử lí liệu (eval, evalf, subs, map, convert, ) I.4.7 Khai báo chu trình Lời gọi khai báo chu trình: procedure_name:=proc(parameter_sequence) [local local_sequence] [global global_sequence] [options options_sequence] statements_sequence; end; Giải thích khai báo: parameter_name: Là dãy kí hiệu, ngăn cách dấu phẩy, chứa tên tham biến truyền cho chu trình local_sequence: Là dãy tên khai báo biến cục chu trình, có giá trị sử dụng phạm vi chu trình xét (local sử dụng để khai báo cho biến sử dụng bên chu trình) global_sequen: Dãy tên biến tồn cục có giá trị sử dụng bên ngồi chu trình options_sequence: Dãy tuỳ chọn cho chu trình statements_sequence: Dãy câu lệnh người lập trình đưa vào Tham biến (parameter) biến đặt hai dấu ngoặc biểu thức proc( ) Tham biến dùng để nhận liệu truyền cho chu trình gọi chu trình Ví dụ ta khai báo chu trình tính tổng số [tong:=proc(x,y) x+y; end.] gọi chu trình để tính tổng hai số 10 ta phải truyền liệu cho tham biến (cho x nhận giá trị 10, y nhận giá trị 5), tức dấu nhắc lệnh ta phải viết tong(10, 5); sau thực chu trình trả lại kết 15 Tham biến có tính cục bộ: chúng sử dụng bên chu trình khai báo, bên ngồi chu trình chúng khơng mang ý nghĩa Kiểu tham biến khai báo trực tiếp I.4.8 Phạm vi biến (biến toàn cục, biến cục tham biến) 20 Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm Biến tồn cục Biến tồn cục khai báo sau từ khoá global khai báo chu trình Biến tồn cục khai báo bên chu trình, có phạm vi giá trị tồn chương trình, tức bên ngồi phạm vi chu trình mà khai báo Biến cục Biến cục khai báo sau từ khố local khai báo chu trình Biến cục có giá trị bên chu trình mà khai báo Ngồi chu trình khơng mang ý nghĩa Tham biến Cũng giống biến cục bộ, tham biến có giá trị bên phạm vi chu trình mà khai báo Sau chu trình kết thúc, chúng khơng giá trị Tham biến sử dụng để trả lại kết quả, ngơn ngữ lập trình truyền thống Ngồi ra, Maple có hàm có khả trả lại nhiều giá trị Ta gộp giá trị vào danh sách để trả lại phần tử CHƯƠNG II: ỨNG DỤNG MAPLE II.1 Mơ tả chương trình Chương trình giải toán hàm số gồm toán nhỏ sau:  Khảo sát vẽ đồ thị hàm số dạng hàm bậc hai chia cho bậc trị tham số m  Tìm giá trị tham số m để hàm số đại cực trị (cực đạ cực tiểu) II.2 Cơ sở lý thuyết II.2.1 Khảo sát hàm số: 21 biết giá Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm - Tìm tập xác định - Nêu tính chất đặc biệt hàm số (nếu có) như: hàm số chẵn, hàm số lẻ, hàm số tuần hoàn - Xét biến thiên hàm số: + Tìm giới hạn vơ cực giới hạn vơ cực (nếu có) hàm số + Tìm đường tiệm cận đồ thị (nếu có) + Lập bảng biến thiên: Gồm: tìm đạo hàm, xét dấu, - Vẽ đồ thị: + Vẽ hệ trục toạ độ Đề vng góc + Xác định điểm đặc biệt: cực trị, điểm uốn, giao điểm với Ox, Oy + Vẽ đường tiệm cận, trục đối xứng (nếu có) + Dựa vào bảng biến thiên điểm, đường xác định để vẽ đồ thị II.2.2 Tìm giá trị tham sơ m để đồ thị có cực trị (cực đại cực tiểu) Để đồ thị hàm số có cực đại cực tiểu phương trình đạo hàm bậc y’=0 có hai nghiệm phân biệt Điều suy y’ phải lớn khơng Giải bất phương trình > theo m Từ suy giá trị m để Delta > 0, giá trị m để phương trình y’=0 có nghiệm phân biệt II.3 Procedure để vẽ đồ thị biện luận m 22 Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm THAM KHẢO [1] PGS.TS Đỗ Văn Nhơn Bài giảng mông lập trình symbolic ĐH CNTT TPHCM [2] Thư viện phần mềm maple [3] http://toan.hoctainha.vn/Thu-Vien/The/khao-sat-va-ve-do-thi-ham-so 23 ... thiện Với phần mềm Maple, có thể: + Thực tính tốn với khối lượng lớn, với thời gian nhanh độ xác cao Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm + Sử dụng gói chun dụng Maple để giải toán cụ thể... CHƯƠNG I: TỔNG QUAN VỀ MAPLE I.1 GIỚI THIỆU VỀ MAPLE Maple phần mềm tính tốn hãng Maple Soft, phận chủ yếu liên hợp công ty Waterloo Maple phát triển Cho đến Maple phát triển qua nhiều phiên khác... isprime(21); Tìm hiều phần mềm tốn học Maple Vũ Cơng Tâm > isprime(11!+1); > isprime(2^30*3^30+7); Tìm số nguyên tố ? ?ứng sau số n cho trước: lệnh nextprime(n); > nextprime(1); > nextprime(0); Tìm số

Ngày đăng: 10/04/2015, 01:31

Từ khóa liên quan

Mục lục

  • CHƯƠNG I: TỔNG QUAN VỀ MAPLE

  • I.1 Giới thiệu về maple

  • I.2 Các lệnh cơ bản trong Maple.

    • 1.2.1 Tính toán số học thông dụng.

    • 1.2.2 Tính toán với độ chính xác theo yêu cầu

    • 1.2.3 Các thao tác với số nguyên.

    • 1.2.4 Giải phương trình.

    • 1.2.5 Khái niệm biến số, hằng số

    • 1.2.6 Triển khai biểu thức:

    • 1.2.7 Phân tích đa thức thành nhân tử

    • 1.2.8 Đơn giản biểu thức đại số

    • 1.2.9 Tối giản phân thức

    • 1.2.10 Thay giá trị cho biến trong biểu thức

    • 1.2.11 Chuyển đổi dạng biểu thức

    • I.3 Cấu trúc dữ liệu.

      • I.3.1 Dãy biểu thức ( Expression Sequence)

      • I.3.2 Danh sách (List)

      • Ví dụ 1

      • I.3.3 Tập hợp (Set)

      • Ví dụ 1

      • I.3.4 Mảng (Array)

      • Ví dụ

        • I.3.5 Bảng (Table)

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

Tài liệu liên quan