Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 43 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
43
Dung lượng
1,17 MB
Nội dung
TRƯỜNG ĐẠI HỌC ĐÀ LẠT KHOA TOÁN - TIN HỌC Y Z VÕ TIẾN GIỚI THIỆU PHẦN MỀM TOÁN HỌC (Bài Giảng Tóm Tắt) Lưu hành nội bộ Y Đà Lạt 2008 Z MỤC LỤC NỘI DUNG TRANG Chương I : Các tính toán cơ bản 2 A. Số học 2 I. Giới thiệu 2 II. Tính toán số học thông dụng 3 B. Đại số 8 C. Vẽ đồ thị 11 Chương 2: Phép tính vi- tích phân 16 1. Tính giới hạn 16 2. Tính đạo hàm 16 3. Tính tích phân 18 4. Một số ứng dụng 19 Chương 3: Đại số tuyến tính và hình học giải tích 26 A. Hình học giải tích 26 1. Các tính toán trong hình học phẳng 26 2. Các tính toán trong hình học không gian 33 B. Đại số tuyến tính 36 1.Tạo Vector, matrận 36 2. Thao tác trên ma trận 37 3. các phép toán trên ma trận 37 4. Tìm cơ sở 37 5. Một số toán tử 38 6. Đa thức đặc trưng 38 7. Hệ phương trình tuyến tính 38 8. Một số ma trận đặc biệt 38 Chương 4: Phương trình vi phân 40 1. Ký hiệu 40 2. Giải phương trình, hệ phương trình vi phân 40 3.Thừa số tích phân 40 4.Phân loại 40 5.Vẽ đồ thị nghiệm 40 6. Phương trình đạo hàm riêng 41 Tài liệu tham khảo 42 2 CHƯƠNG 1. CÁC TÍNH TOÁN CƠ BẢN A. SỐ HỌC: I. GIỚI THIỆU VỀ MAPLE • Maple là một phần mềm Toán học do Đại Học Tổng Hợp Waterloo(Canada) xây dựng và đưa vào sử dụng năm 1985. Sau nhiều lần cải tiến và phát triển qua nhiều phiên bản khác nhau và ngày càng được hoàn thiện, hiện nay đã có Maple 11. • Với phần mềm Maple, chúng ta có thể: + Thực hiện các tính toán với khối lượng lớn, với thời gian nhanh và độ chính xác cao. + Sử dụng các gói chuyên dụng của Maple để giải quyết các bài toá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ế các đối tượng 3 chiều. + Và các vấn đề khác,… • Lệnh của Maple : phải kết thúc bằng ; hay : và enter. Chú ý nhóm lệnh: SHIFT+ENTER ¾ Tính toán các số lớn, các biểu thức cần độ chính xác cao > 100!; > 2^64; > evalf(Pi,500); ¾ Vẽ đồ thị các hàm số > with(plots); Warning, the name arrow has been redefined animate animate3d animatecurve arro w changecoords complexplo t complexplot3d,, ,, , , ,[ conformal conformal3d contourplot contourplot3d coordplot coordplot3d,,, ,,, cylinderplot densityplot display display3d fieldplot fieldplot3d gradplot,,,,,,, gradplot3d implicitplot implicitplot3d inequal listcontplot listcontplot3d,, ,,, , listdensityplot listplot listplot3d loglogplot logplot matrixplot odeplot pareto,, , ,, , ,, pointplot pointplot3d polarplot polygonplot polygonplot3d polyhedra_supported,,, , , , polyhedraplot replot rootlocus semilogplot setoptions setoptions3d spacecurve,, , , , , , sparsematrixplot sphereplot surfdata textplot textplot3d tubeplot,,,,,] > plot(x^3+4*x^2-1,x=-10 5,y=-10 15,thickness=2,numpoints=1000); Và : > with(plottools); Warning, the name arrow has been redefined 3 arc arrow circle cone cuboid curve cutin cutout cylinde r dis k dodecahedron,,,, ,,,, ,, ,[ ellipse ellipticArc hemisphere hexahedron homothety hyperbola icosahedron,, , ,,, , line octahedron pieslice point polygon project rectangle reflect rotate scale,,,,,,,,,, semitorus sphere stellate tetrahedron torus transform translate vrml,, , ,, , ,] > c := circle([1,1], 1, color=red): > plots[display](c); > with(plottools): > c := disk([1,1], 5, color=red): > plots[display](c); ¾ Tính đạo hàm, tích phân các hàm số > with(student); D Dif f Doublein t I nt L imit L inein t Produc t Sum Triplein t changeva r ,, ,, , , ,, , ,[ completesquare distance equate integrand intercept intparts leftbox leftsum,,, , ,,,, makeproc middlebox middlesum midpoint powsubs rightbox rightsum,,,,,,, showtangent simpson slope summand trapezoid,,, , ] > diff(sin(2*x^2-1),x): > int(sin(x)*cos(x)^2,x); ¾ Thiết kế đối tượng 3 chiều: >tubeplot([10*cos(t),10*sin(t),0,t=0 2*Pi,radius=2*cos(7*t),numpoints=120,tubepoin ts=24],scaling=CONSTRAINED); >tubeplot({[10*cos(t),10*sin(t),0,t=0 2*Pi,radius=2*cos(7*t),numpoints=120,tubepoi nts=24],[0,10+5*cos(t),5*sin(t),t=0 2*Pi,radius=1.5,numpoints=50,tubepoints=18]}, scaling=CONSTRAINED); Chú ý : + Bắt đầu một tính toán mới dùng : restart; để xóa các dữ liệu cũ. + Mở gói : with(têngói); Đóng 1gói : unwith(têngói ); + Hiển thị các gói đang mở : packages(); II. TÍNH TOÁN SỐ HỌC THÔNG DỤNG 1. Tính toán số học thông dụng: • Các phép toán số học: +, -, *, /, ^ hay ** • Các phép toán logic : not, and, or, implies, xor và các hằng: true, false, FAIL. • Các phép toán so sánh : <, <=, >, >=, =, và <> Chú ý : Các ký hiệu : %, %%, %%% • Một số hàm thư viện : - abs(x) - Gía trị tuyệt đối. - binomial(n, r) - Tổ hợp 4 - trunc(x) : số ngun lớn nhất, nhỏ hơn hoặc bằng x nếu >= 0, trunc(x)=-trunc(-x)với x<0. - round(x) làm tròn thành số ngun gần x nhất. - frac(x) phần thập phân của x ,dạng phân số , frac(x) = x - trunc(x). - floor(x) Số ngun lớn nhất, nhỏ hơn hoặc bằng x. - ceil(x) Số ngun nhỏ nhất, lớn hơn hoặc bằng x. - exp(x), hàm e x , e = 2.718281828 - n! hay factorial(n) : hàm giai thừa - ilog[b](x) hàm cho phần ngun của logarit cơ số b, mặc nhiên cơ số exp(1). Nếu x thực, ilog[b](x) trả về r mà b^r <= abs(x) < b^(r+1). • ilog2(x) số ngun logarit cơ số 2 của x. Nếu x số thực và r = ilog2(x), thì r hoặc nguyên hoặc giá trò kí hiệu đặc biệt thỏa 2^r <= abs(x) < 2^(r+1). Nếu x số phức, ilog2(x) trả về max(ilog2(Re(x)), ilog2(Im(x))). Nếu x là kí hi ệu đặc biệt, thì kết quả chỉ định được trả vềâ'. 1. ilog2(undefined) = undefined 2. ilog2(+-infinity) = infinity 3. ilog2(+-0) = -infinity • ilog10(x) trả về số ngun của logarit cơ số 10 của x. 1. ilog10(undefined) = undefined 2. ilog10(+-infinity) = infinity 3. ilog10(+-0) = -infinity Vídụ: > ilog2(10); cho 3 - ln(x) logarit Nepe (cơ số exp(1) = 2.7182818284590452354 ) • log[b](x) = y <==> x = b^y. với log[b](x) = ln(x)/ln(b). • log10(x) = log[10](x). • max(x1, x2, ); min(x1, x2, ); maximum/minimum của dãy giá trị thực. Chú ý : max(); cho -∞ và min() cho ∞ - signum() Hàm dấu. - sqrt(x) Căn bậc 2 - surd(x,n) Căn bậc n của x, n lẻ -∞ < x <+∞ - root(x,n) hay root[n](x) root(x,n,symbolic) hay root[n](x,symbolic) : Căn bậc n của của biếu thức đại số. Chú ý : root(x,n) = exp(1/n * ln(x)) 5 - Các hàm lượng giác và hyperbolic lượng giác: sin , cos, tan, sec,csc, cot, sinh, cosh, tanh, sech, csch, coth - Hàm lượng giác ngược và hyperbolic lượng giác ngược: arcsin , arccos, arctan, arcsec, arccsc, arccot, arcsinh, arccosh, arctanh, arcsech, arccsch , arccoth Ví dụ : > (-10+5^2)*(4-sqrt(36)); > 7!!; > cot(Pi/4); 2. Tính toán với độ chính xác theo yêu cầu • Hàm evalf - Cú pháp 1: evalf(bieu_thuc) - tính toán chính xác giá trị của biểu thức và biểu diễn kết quả với mặc định là 10 chữ số. Ta có thể thay mặc định bằng Digits=n; - Cú pháp 2: evalf(bieu_thuc, k) - tính toán chính xác giá trị của biểu thức và biểu diễn kết quả với k chữ số. > sqrt(2)/surd(5,3); > evalf(%); > evalf(Pi,500); > evalf(exp(1),100); 3. Các thao tác với số nguyên tố - Phân tích một số n thành thừa số nguyên tố: hàm ifactor(n); - Kiểm tra m ột số n có phải là số nguyên tố không?: hàm isprime(n); - Tìm số nguyên tố đứng sau một số n cho trước: hàm nextprime(n); - Tìm số nguyên tố đứng trước một số n cho trước: hàm prevprime(n); - Tìm ước số chung lớn nhất của 2 số nguyên dương a, b: hàm igcd(a,b); - Tìm bội số chung nhỏ nhất của 2 số nguyên dương a, b: hàm ilcm(a,b); - Tìm số dư khi chia a cho b: hàm irem(a,b); - Tìm thương nguyên khi chia a cho b: hàm iquo(a,b); > isprime(2^64-1); > ifactor(122333444455555666666777777788888888999999999); > igcd(157940,78864); > ilcm(12,15); > prevprime(1234567); > nextprime(1234567); > nextprime(%); > irem(145,7); > iquo(145,7); > y:=irem(145,7,'x'); >x; 4. Giải phương trình nghi ệm nguyên • Lệnh isolve: 6 - Cú pháp 1: isolve(phuong_trinh/he_phuong_trinh); - Cú pháp 2: isolve(phuong_trinh/he_phuong_trinh, danh_sach_tham_so); > isolve({x^2+y^2=50,x+y=8},(x,y}); > isolve(x^2+y^2=5,{x,y}); • Giải PT hay hệ PT theo modulo : msolve(eqns,vars,m); hay msolve(eqns,m); Ví dụ : > msolve({3*x-4*y=1,7*x+y=2},19); > msolve(8^j=2,x,17); • Tính toán theo modulo : e mod m tương đương `mod`(e, m) modp(e, m) :∈ [0,abs(m)-1] mods(e, m) : ∈[-iquo(abs(m)-1,2), iquo(abs(m),2)] Ví dụ : > modp(12,7); cho 5 > 12 mod 7; cho 5 > mods(12,7); cho -2 5. Giải công thức truy hồi(đệ qui): • Lệnh rsolve: - Cú pháp: rsolve(pt/he_pt_truy_hoi, ten_day_so); > rsolve({f(n)=f(n-1)+f(n-2),f(0)=1,f(1)=1},f(n)); > rsolve({f(n)=2*f(n-1)},f(n)); > rsolve({g(n)=3*g(n/2)+5*n},g); > rsolve(f(n)-f(n-1)=n^3,f); > simplify(%); > eqn:=f(n)=f(n-1)+4*n: > rsolve(eqn,f); > simplify(%); > A:=rsolve({f(n)=f(n-1)+f(n-2),f(0)=1,f(1)=1},f(k)); > h:=unapply(A,k); > h(5); > eval(A,k=5); subs(k=5,A); 6. Khái niệm biến số, hằng số - Trong Maple, biến số không cần khai báo, định nghĩa trước, dùng lúc nào khai báo lúc đó, Maple nhớ và ghi lại trong quá trình làm việc. - Biến số, hằng số được đặt tên thỏa mãn một số quy tắ c sau: + Không bắt đầu bằng chữ số. Bắt đầu bằng ký tự chữ. + Không chứa khoảng trắng và một số ký tự đặc biệt như: %,^,&,*,$,#, + Không được trùng với tên một số hàm và lệnh của Maple: D, sin, cos, ln, min, max, for,if, while, I, Pi, - Một biến số sẽ trở thành hằng số ngay khi nó được gán cho một giá trị nào đó. - Nếu muốn biến một hằng số trở lại biến số, ta dùng phép gán: ten_bien:='ten_bien'; > isolve({x+y=36,2*x+4*y=100}): > x:=2; 7 > isolve({x+y=36,2*x+4*y=100}): > x:='x'; > isolve({x+y=36,2*x+4*y=100}); • Hằng : I, Pi , exp(1), infinity, true, false, FAIL. Chú ý : 1/ > 2e-3; cho .002 > -2.3e4; cho -23000 Và .2 , 2. là 0.2 , 2 0 2/ Dùng cặp ` ` để đặt tên "sai" . VD : `day la ten ` 3/ Để biến trở lại tên ta dùng : unassign('name1', 'name2', ); assign(a, B); hay assign(a = B); cho a := B; assign(A, B) ; A, B là các đối tượng,v d: > assign(('a', 'b') = (3, 4)); assigned(n); kiểm tra n đã gán trị chưa. 7. Tính tổng và tích • Tính tổng: sum (tính trực tiếp ra kết quả) ; hoặc Sum(biểu diễn dạng công thức); Cú pháp: sum(bieu_thuc_trong_tong, bien =gia_tri_dau gia_tri_cuoi); Sum(bieu_thuc_trong_tong, bien =gia_tri_dau gia_tri_cuoi); Hay add(bt, i=m n); • Tính tích: product (tính trực tiếp ra k ết quả); hoặc Product (biểu diễn dạng công thức); Cú pháp: product(bieu_thuc_trong_tong, bien =gia_tri_dau gia_tri_cuoi); Product(bieu_thuc_trong_tong, bien =gia_tri_dau gia_tri_cuoi); Hay mul(bt, i=m n); Chú ý: giá trị vô cùng được biểu diễn bằng từ khóa infinity > Sum(x^2,x=1 5); > value(%); > sum(x^2,x=1 5); > Sum(1/(x^2),x=1 infinity); > value(%); > Product((i^2+3*i-11)/(i+3),i=0 10); > value(%); > product((i^2+3*i-11)/(i+3),i=0 10); >Sum( 2^(2*k)/Pi^(1/2),k=0 infinity) =sum(2^(2*k)/Pi^(1/2),k=0 infinity); Chú ý : > sum(i^2,i); tương đương > sum(k^2,k=1 i-1); 8. Tập hợp, dãy, danh sách. • Tập hợp : dùng {}, các phép toán : member, union, intersect, minus, subset. Ví dụ : > {a,b} union {b,c}; > {a,b} intersect {b,c}; > {a,b} minus {b,c}; • Dãy : seq(bt, i=1 n); seq(f, i = x) hay bt$i=1 n; > seq( sin(Pi*i/6), i=0 6 ); 8 ,, ,, ,,0 1 2 1 2 31 1 2 3 1 2 0 > Y := [seq( i^2, i=X )]; := Y [],,,, , ,0149162536 > [seq( [X[i],Y[i]], i=1 nops(X) )]; [],,,, , ,[],00 [ ],11 [ ],24 [ ],39 [ ],416 [ ],525 [ ],636 • Danh sách : Dùng [ ], các phép toán : nops(L), op(i,L) chú ý :op(L) cho dãy. op(L1,L2); L1,L2 là các danh sách Ví dụ : > u := [1,4,9]; > op(2 3,u); cho 4,9 > op(-1,u); cho 9 > [op(u),16]; > w := f(g(a,b),h(c,d,e,j,k,l)); > op(1,op(2,w)); c > op([2,1],w); c > op([2,2 4],w); ,,dej > op([-1,-1],w); l Lệnh zip(f, u, v); zip(f, u, v, d); thực hiện phép toán f trên 2 danh sách u,v. Với d là giá trị mặc nhiên cho dữ liệu danh sách ngắn hơn. Chú ý : select(f, e, b1, , bn); chọn dữ liệu từ biểu thức remove(f, e, b1, , bn); di chuyển dữ liệu từ biểu thức selectremove(f, e, b1, , bn): chọn và di chuyển dữ liệu từ biểu thức f : biểu thức logic; e: biểu thức bất kỳ, b1, ,bn : các tùy chọn Ví dụ : > integers := [$10 20]; := integers [],,,,,,,,,,10 11 12 13 14 15 16 17 18 19 20 > select(isprime, integers); cho [],,,11 13 17 19 > remove(isprime, integers); cho [],,,,,,10 12 14 15 16 18 20 > selectremove(isprime, integers); cho ,[],,,11 13 17 19 [ ],,,,,,10 12 14 15 16 18 20 B. ĐẠI SỐ : 1. Khai triển, đơn giản và phân tích biểu thức đại số • Định giá biểu thức : value(%); • Khai triển biểu thức đại số - Cú pháp: expand(bieu_thuc_dai_so); > expand(bt); > bt:=(x+y)^15; 9 > expand(bt); • Phân tích đa thức thành nhân tử Cú pháp: factor(bieu_thuc_dai_so); > factor(x^4-10*x^3+35*x^2-50*x+24); • Đơn giản biểu thức đại số Cú pháp: simplify(bieu_thuc_dai_so); > P:=1/(a*(a-b)*(a-c))+1/(b*(b-a)*(b-c))+1/(c*(c-b)*(c-a)); > simplify(P); > bt:=cos(x)^5+sin(x)^4+2*cos(x)^2-2*sin(x)^2-cos(2*x); > simplify(bt); • Tối giản phân thức Cú pháp: normal(phan_thuc); chú ý : radnormal(btchuacan); > tu := x^3-y^3; > mau := x^2+x-y-y^2; > phanthuc := tu/mau; > normal(phanthuc); Chú ý : numer(PT); denom(PT); • Thay giá trị cho biến trong 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; bt := x 2 -1 > subs(x=2,bt); cho 3 > subs( {x=y, y=x}, [x,y] ); Chú ý : eval(BT,x=a);# Tính toán biểu thức khi x=a hay Eval(bt,x=a); > poly := x*y+3*z+2; := poly + + x y 3 z 2 > eval(poly,[x=2,y=3,z=t]); + 83t > expr := sin(x)/cos(x); := expr ()sin x ()cos x > subs(x=0,expr); ()sin 0 ()cos 0 > eval(expr,x=0); 0 • Chuyển đổi dạng biểu thức Cú pháp: convert(bieu_thuc, kieu_chuyen_doi); Một số kiểu chuyển đổi: abs,algebraic, and, array, base, binary, binomial, boolean_function, boolean_operator, bytes, Chebyshev, compose, confrac, D, decimal, degrees, diff, dimensions, elementary, exp, expln, expsincos, factorial, float, fullparfrac, hex, hexadecimal,Int, int, list, listlist,ln, Matrix,matrix,metric, name,octal, or, parfrac, [...]... ( x − 1 )3 + ( x − 1 )4 − ( x − 1 )5 + ( x − 1 )6 − ( x − 1 )7 + ( x − 1 )8 − ( x − 1 )9 26 CHƯƠNG 3 ĐẠI SỐ TUYỀN TÍNH VÀ HÌNH HỌC GIẢI TÍCH A HÌNH HỌC GIẢI TÍCH: with(geometry); hay with(geom3d); 1 Các tính toán trong hình học phẳng: • Khởi tạo các hàm tính toán trong hình học phẳng: > with(geometry): • Các hàm trên đối tượng điểm - Định nghĩa điểm: point(ten_diem, hoanh_do, tung_do); - Hiển thị tọa... plot([x^2,sin(x)],x=-2 2,color=[red,green]): > with(plots): >polarplot(1); > polarplot([cos(t),sin(t),t=0 4*Pi],color=gold); 13 >polarplot({t,[2*cos(t),sin(t),t=-Pi Pi]},t=-Pi Pi,numpoints=50); > # Vẽ lá Maple > S := t->100/(100+(t-Pi/2)^8): R := t -> S(t)*(2-sin(7*t)-cos(30*t)/2): > polarplot([R,t->t,-Pi/2 3/2*Pi],numpoints=2000,axes=NONE); 14 • Vẽ đồ thị của hàm số không liên tục Khi vẽ đồ thị của một... trên khoảng a b hay x = a b hay {x=a b, y=c d, } Chú ý : lhs(expr); rhs(expr); isolate(eqn, expr); Ví dụ : > isolate(x^2-3*x-5,x^2); x2 = 3 x + 5 • Tính toán số phức: đơn vị ảo I, dùng các phép tính số học bình thường, Tính toán tổng quát dùng: evalc(bt); Phần ảo: Im(bt); phần thực :Re(bt); Số phức liên hợp : conjugate(x); Tính modun : abs(sphức); Tính argument: argument(x); Chuyển số phức sang tọa độ... intersection(K,d1,d2); > coordinates(K); > FindAngle(d1,d2); > distance(A,d1); > distance(B,d2); > projection(N,B,d2); > coordinates(N); > reflection(B1,B,d2); > coordinates(B1); - Phương trình của đối tượng hình học : Equations(obj,[x,y]); Ví dụ: > point(A,0,0):point(B,1,1): > line(l,[A,B]); l > Equation(l,[x,y]); −x + y = 0 - Vẽ các đường : draw(obj, ); draw([obj_1, ,obj_n], ); Ví dụ : > with(geometry): # Định... vertex_1_h1 , vertex_2_h1 ], [ [ 0, -2 ], [ 0, 2 ] ] > asymptotes(h1), map(Equation,asymptotes(h1)); 2 2 [ asymptote_1_h1 , asymptote_2_h1 ], ⎡ y + x = 0, y − x = 0 ⎤ ⎢ ⎥ ⎢ ⎥ 3 3 ⎣ ⎦ 2 Các tính toán trong hình học không gian: Khởi tạo > with(geom3d); Warning, these names have been rebound: AreCollinear, AreConcurrent, AreConjugate,AreParallel, ArePerpendicular, DefinedAs, Equation, FindAngle, GlideReflection, . khảo 42 2 CHƯƠNG 1. CÁC TÍNH TOÁN CƠ BẢN A. SỐ HỌC: I. GIỚI THIỆU VỀ MAPLE • Maple là một phần mềm Toán học do Đại Học Tổng Hợp Waterloo(Canada) xây dựng và đưa vào sử dụng năm. Chương 3: Đại số tuyến tính và hình học giải tích 26 A. Hình học giải tích 26 1. Các tính toán trong hình học phẳng 26 2. Các tính toán trong hình học không gian 33 B. Đại số tuyến tính. TRƯỜNG ĐẠI HỌC ĐÀ LẠT KHOA TOÁN - TIN HỌC Y Z VÕ TIẾN GIỚI THIỆU PHẦN MỀM TOÁN HỌC (Bài Giảng Tóm Tắt)