YOMEDIA
ADSENSE
HƯỚNG DẪN THỰC HÀNH CƠ BẢN MATHEMATICA
948
lượt xem 117
download
lượt xem 117
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Cánh khai báo m t hàm ộ số mới Khai báo hàm giá trị thực, biến thực Thí dụ1(hàm một biến): hàm f (x) = x.sinx + ln3x.ex.cosx được khai báo bằng lệnh f[x_]:=x*Sin[x]+(Log[x]^3)*(E^x)*Cos[x] Thí dụ 2 (hàm nhiều biến): Các hàm f (x, y) = x.y2 + y.sin2x , g(x, y, z) = x.cotgy + y.cotgz + z.exy được khai báo như sau. f[x_,y_]:= x*y^2+y*(Sin[x])^2 ] g[x_,y_,z_]:=x*Cot[y]+y*Cot[z]+z*E^(x*y)
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: HƯỚNG DẪN THỰC HÀNH CƠ BẢN MATHEMATICA
- 1 HƯỚNG DẪN THỰC HÀNH CƠ BẢN MATHEMATICA I/ Các phép toán số học +, -, *, /, ^ II/Cách khai báo các hàm số cơ bản (có sẵn) Hàm số cơ bản Được khai báo bằng lệnh f ( x) = x f[x_]:=Abs[x] f[x_]:=Sqrt[x] hoặc f[x_]:=x^(1/2) f ( x) = x f[x_]:=x^(m/n) n f ( x) = x m f ( x) = sinx f[x_]:=Sin[x] f ( x) = cosx f[x_]:=Cos[x] f ( x) = tgx f[x_]:=Tan[x] f ( x) = cotgx f[x_]:=Cot[x] f[x_]:=Sec[x] 1 f ( x) = sec x = cosx f[x_]:=Csc[x] 1 f ( x) = csc x = sin x f ( x) = arcsinx f[x_]:=ArcSin[x] f ( x) = arccosx f[x_]:=ArcCos[x] f ( x) = arctgx f[x_]:=ArcTan[x] f ( x) = arccotgx f[x_]:=ArcCot[x] f ( x) = log a x f[x_]:=Log[a,x] f ( x) = lgx f[x_]:=Log[10,x] f ( x) = lnx f[x_]:=Log[E,x] hoặc f[x_]:=Log[x] f ( x) = a x f[x_]:=a^x f ( x) = e x f[x_]:=E^x + e− x f[x_]:=Cosh[x] x f ( x) = ch( x ) = e 2 −x f[x_]:=Sinh[x] x f ( x) = sh( x ) = e −e 2 sh( x ) e x − e− x f[x_]:=Tanh[x] f ( x) = th( x ) = ch( x ) = x − x e +e ch ( x ) e x + e − x f[x_]:=Coth[x] f ( x) = cth( x) = sh( x ) = x − x e −e
- 2 III/Cánh khai báo một hàm số mới 1/ Khai báo hàm giá trị thực, biến thực Thí dụ1(hàm một biến): hàm f ( x) = x.sinx + ln3 x.e x .cosx được khai báo bằng lệnh f[x_]:=x*Sin[x]+(Log[x]^3)*(E^x)*Cos[x] Thí dụ 2 (hàm nhiều biến): Các hàm f ( x, y ) = x. y 2 + y.sin 2 x , g ( x, y, z ) = x.cotgy + y.cotgz + z.e xy được khai báo như sau. f[x_,y_]:= x*y^2+y*(Sin[x])^2 ] g[x_,y_,z_]:=x*Cot[y]+y*Cot[z]+z*E^(x*y) 2/Khai báo hàm thực biến véc tơ Thí dụ 3: Khai báo hàm chuẩn một biến véc f ( x) = x , x = ( x1, x2 ,..., xn )T R n = Max xi ) như sau “giả thiết đã nhập n trước đó”(theo lý thuyết x i {1,...,n} f[x_]:=Max[ Table[ Abs[ x[[i]] ] , {i,1,n}] ] Thí dụ 4: Khai báo hàm chuẩn hai biến véc tơ tơ (áp dụng tính khoảng cách giữa hai điểm x và y trong không gian định chuẩn R n ) f ( x, y ) = x − y , x = ( x1, x2 ,..., xn )T R n , y = ( y1, y2 ,..., yn )T R n “giả thiết đã nhập n trước đó” (theo lý thuyết x − y = Max xi − yi ) i {1,L n} f[x_,y_]:=Max[ Table[ Abs[ x[[i]]-y[[i]] ] ,{i,1,n}] ] Chú ý Giá trị của n có thể lấy bằng lệnh tính số phần tử của ma trận cột x Length[x] Thí dụ 5: Khai báo hàm chuẩn biến ma trận. ( )m n n Cho ma trận A = aij = Max ( , theo lý thuyết Khi đó hàm chuẩn A aij ) . i {1,...,m} j =1 của ma trận này được được khai báo như sau (giả thiết đã nhập trước đó các giá trị của m, n)
- 3 f[A_]:=Max[ Table[ Sum[Abs[A[[i,j]]],{j,1,n}] , {i,1,m}] ] 3/ Khai báo hàm giá trị véc tơ � � �+ y + x.z x � f1 F(x,y,z)= � � �e y.z � Thí dụ 6: � � �siny + y.cosz � ằng lệnh f 2 = x. Khai báo hàm b f3 � x. � � � F[x_,y_,z_]:={ x+y+z , x*E^(y*z) , x*Sin[y]+y*Cos[z] } IV/Giải toán bằng Mathematica 1/ Giải toán đại số và giải tích 1.1/ Vẽ đồ thị hàm số trong mặt phẳng( trong không gian hai chiều) -Vẽ đồ thị hàm một biến y = f ( x ), x [a,b] Plot[ f[x] , {x,a,b} ] -Vẽ trên cùng một hệ trục tọa độ đồ thị của hai hàm số y = f ( x), y = g ( x) , x [a,b] . Plot[ {f[x],g[x]} , {x,a,b} ] -Vẽ đồ thị của hàm cho bởi phương trình tham số ( hoành độ và tung độ là { hàm biến t ) x = x((ty ) , t [a,b] ) y=y ParametricPlot[ {x[t],y[t]} , {t,a,b} ] 1.2/ Vẽ đồ thị hàm số trong không gian ba chiều - Vẽ đồ thị của một hàm hai biến(đồ thị là một mặt trong không gian ba chiều) z = f ( x, y ) , x � a,b], y �[c,d] . [ Plot3D[ f[x,y] , {x,a,b} , {y,c,d} ] - Vẽ đồ thị của một mặt cho bởi phương trình tham số(cả ba tọa độ của điểm thuộc mặt đó đều là hàm của hai biến t,s. (t và s là hai tham số).
- 4 x = x(t , s ) t [a,b] y = y (t , s ) , s [c,d] z = z (t , s ) ParametricPlot3D[ {x[t,s],y[t,s],z[t,s]} , {t,a,b} , {s,c,d}] 1.3/ Các giới hạn xlima f ( x) , x −> a − f ( x) , x −> a + f ( x) , x −>+ f ( x) , x −>− f ( x) lim lim lim lim −> lần lượt được tính bằng các lệnh. Limit[f[x],x->a] Limit[f[x],x->a, Direction->-1] Limit[f[x],x->a, Direction->1] Limit[f[x],x->Infinity] Limit[f[x],x-> -Infinity] 1.4/ Tính đạo hàm cấp n của hàm f ( f có thể có nhiều biến ) theo biến x bằng lệnh D[ f , {x,n} ] D[ f ,x] Chú ý : Nếu tính đạo hàm cấp 1 có thể dùng lệnh 1.5/ Tính đạo hàm của hàm véc tơ � � �+ y + x.z x � f1 � � �e y.z � Thí dụ 7: Cho hàm số F(x,y,z)= f 2 = x. � � �siny + y.cosz � f3 � x. � � � Sau khi khai báo hàm bằng lệnh F[x_,y_,z_]:={x+y+z,x*E^(y*z),x*Sin[y]+y*Cos[z]} �f1 � �f1 � �f1 � �y � �fx � �fz � �f 2 � Ta tính được các ma trận cột � x � � 2 � lần lượt bằng lệnh 2 , và �y � �fz � �f3 � �f3 � 3 �x � �z � �� �� �y � D[F[x,y,z],x] D[F[x,y,z],y] D[F[x,y,z],z] Từ đó muốn tính ma trận đạo hàm
- 5 �f1 � f1 f1 �x � y z ' (x, y, z ) = �f 2 � f2 f2 F �x � y z � � �f3 f3 f3 � �x � y z � � thì dùng lệnh Transpose[ { D[F[x,y,z],x] , D[F[x,y,z],y] , D[F[x,y,z],z] } ] Tuy nhiên, nếu muốn tính F' (1,3,7) ta phải có mẹo nhỏ như sau dh[x_,y_,z_]:=Transpose[{D[F[u,v,w],u] ,D[F[u,v,w],v] ,D[F[u,v,w],w]}]/.{u->x,v->y,w->z} dh[1,3,7] Chú ý: Người đọc tự kiểm tra nếu ta tính F' (1,3,7) bằng một trong hai cách sau thì mắc phải sai lầm gì ? Cách 1: Transpose[{D[F[1,3,7],x] ,D[F[1,3,7],y] ,D[F[1,3,7],z]}] Cách 2: dh[x_,y_,z_]:=Transpose[ {D[F[x,y,z],x] , D[F[x,y,z],y] , D[F[x,y,z],z]} ] dh[1,3,7] 1.5/ Tính nguyên hàm của hàm f ( x) theo biến x bằng lệnh Integrate[ f[x] , x] 1.6/ Tính tích phân của hàm f ( x) , trên đoạn [a,b] (kết quả là số thập phân) bằng lệnh NIntegrate[ f[x] , {x,a,b} ] 2/ Giải toán đại số tuyến tính 2.1/ Khai báo các ma trận biết trước các phần tử
- 6 3 �� � 2 4� 1 4 �� �� � � 5 Thí dụ 8: các ma trận X= [ 2 1 4 3] , Y= � � A = � 2 4 �được khai báo lần 5 12 , �� � 1 7� 2 10 � � �� 21� � lượt bằng lệnh X={2,1,4,3}; Y={{3},{4},{5},{12},{10},{21}}; A={{1,2,4},{5,2,4}, {2,1,7}}; Muốn lấy phần tử thứ k của X ta dùng lệnh X[[k]] Muốn lấy phần tử thứ k của Y ta dùng lệnh Y[[k,1]] Muốn lấy phần tử hàng i cột j của ma trận A ta dùng lệnh A[[i,j]] Chú ý : Trong khai báo trên X được hiểu là ma trận 1 cột 4 hàng, Y được hiểu là ma trận 1 cột 6 hàng, A là ma trận 3 hàng 3 cột. 2.2/ Khai báo ma trận chỉ biết trước cỡ của ma trận, còn giá trị của phần tử trên mỗi hàng, mỗi cột chưa biết. - Sau khi khai báo giá trị của m và n thì khai báo ma trận A có m hàng n cột bằng lệnh. A=Table[a[[i,j]],{i,1,m},{j,1,n}] 2.3/ Khai báo ma trận đặc biệt - ma trận đơn vị cấp n IdentityMatrix[n]
- 7 - ma trận vuông cấp 5 mà các phần tử nằm trên đường chéo lần lượt là a,b,c,d,e. Các phần tử nằm ngoài đường chéo bằng không. DiagonalMatrix[a,b,c,d,e] 2.4/ Các phép toán ma trận - Phép công, trừ và nhân hai ma trận A với B được thực hiện bởi lệnh A+B A-B A.B Chú ý : Nhân hai số thực là dấu sao còn nhân hai ma trận là dấu chấm. - Chuyển vị của ma trận A Transpose[A] - Nếu A là ma trận khả nghịch thì ma trận nghịch đảo được tính Inverse[A] - Nếu A là ma trận vuông thì định thức được tính Det[A] Chú ý: - Có bốn loại móc được sử dụng trong chương trình Mathematica {} cặp móc nhọn [] cặp móc vuông đơn [[ ]] cặp móc vuông kép () cặp móc tròn - Dấu móc vuông đơn [ ] bắt buộc phải dùng khi gọi một hàm có sẵn hoặc khai báo một hàm số mới như trong các thí dụ trên. - [[ ]] bắt buộc được sử dụng khi gọi đến một phần Dấu móc vuông kép tử của một ma trận. - { } được sử dụng theo đúng mẫu Dấu móc nhọn lệnh của phần mềm
- 8 NIntegrate[ f[x] , {x,a,b} ] Thí dụ 9: Lệnh tính tích phân X={2,1,4,3} Lệnh nhập ma trận ở trên - ( ) được sử dụng khi trình bày các biểu thức toán Dấu móc tròn e x +1 + sin3 x Thí dụ 10: Biểu thức được viết trong Mathematica như sau lnx.(tgx + lg 2 x ) ((E^(x+1))+Sin[x]^3)/(Log[x](Tan[x]+Log[x]^2)) Sau khi bấm tổ hợp phím Shift +Enter ta có kết quả Lỗi thường gặp khi gõ công thức trên Gõ sai Gõ đúng e^(x+1) E^(x+1) E^x+1 E^(x+1) E^(x+1) hoặc Exp[x+1] E^[x+1] (Sin[x])^3 hoặc Sin[x]^3 Sin^3[x] Sin(x)^3 Sin[x]^3 sin[x]^3 Sin[x]^3 Log[x] hoặc Log[E,x] Ln(x) ln[x] Log[x] Log^2[x] Log[x]^2 lg[x] Log[10,x] 2.5/ Lệnh giải hệ phương trình A.X=B sau khi đã nhập hai ma trận A và B LinearSolve[A,B]
- 9 V/ Lập trình đơn giản hỗ trợ môn Phương pháp tính Vì hai lý do sau - Thời gian của môn Phương pháp tính chỉ có hạn - Phần mềm Mathematica chỉ là một trong những công cụ hỗ trợ cho môn học cho nên ở đây chúng ta chỉ xét một số lệnh cơ bản đủ để giải quyết các bài toán đặt ra của môn học. Những ai có nhu cầu cao hơn có thể tự học tập thêm qua phần hướng dẫn Help của phần mềm Mathematica 1/ Muốn lặp lại các công việc “việc 1, việc 2, …, việc k” n lần ta dùng lệnh Do như sau Do[việc 1;việc 2;…; việc k, {n}] – các công việc cách nhau bởi dấu chấm phẩy Chú ý – Công việc cuối cùng được kết thúc bởi dấu phẩy Các dạng khác của lệnh Do - Thực hiện công thức theo một chỉ số A[i] trong đó i = 1, n bằng lệnh Do[A[i] ,{i,1,n}] - Thực hiện công thức theo hai chỉ số A[i,j] trong đó i = 1, n , j = 1, m bằng lệnh Do[A[i,j] ,{i,1,n},{j,1,m}] 2/ Chừng nào biểu thức lôgic “bt” còn có giá trị đúng thì ta còn thực hiện lặp lại các công việc “việc 1, việc 2, …, việc k” . Khi đó ta sẽ dùng lệnh While để lập trình như sau While[bt ,việc 1;việc 2;…; việc k] Chú ý: - Sau bt là dấu phẩy. - Giữa hai việc cách nhau bởi dấu chấm phẩy.
- 10 3/ Trong mỗi bươc lặp đôi khi ta cần tăng giá trị của biến nguyên n thêm p đơn vị ta dùng lệnh sau n+=p 4/ - Để in ra màn hình gia trị của một biến x ta dùng lệnh Print như sau Print[x] - Để in ra màn hình một đoạn ký tự ksahhoiuhlszscl ta dùng lệnh Print như sau( trong lệnh Print đoạn ký tự được đặt trong dấu nháy kép) Print["ksahhoiuhlszscl "] Chú ý: -nếu in cả ký tự và biến thì giữa ký tự và biến được cách nhau bởi dấu phẩy Thí dụ lệnh sau sẽ in ra cả ký tự ksahhoiuhlszscl và biến x Print["ksahhoiuhlszscl " , x] - Kết thúc lệnh Print không có dấu chấm phẩy VI. LUYỆN TẬP TRÊN MATHEMATICA 2.2 A/ Vẽ đồ thị -Vẽ đồ thị các hàm trong bài tập 1, 2, 5 trang 90, 91 (giáo trình Doãn Tam Hòe) B/ Tính giới hạn - Làm bài tập 1 trang 112 (giáo trình Doãn Tam Hòe ) C/ Tính đạo hàm - Làm bài tập 2 trang 112, 113 (giáo trình Doãn Tam Hòe ) - (0) −1 ' ' Tính các ma trận F ( X ) và ( F ( X )) , trong đó f ( x, y ) � � 2 + xy + y 2 − 19( x − y )2 � (0) =x F ( X ) = �1 T � X = (19.0,40.0) 1. , � ( x, y ) � � 2 f2 2 � � − xy + y − 7( x − y ) � x �
- 11 x5 4 2 �1 ( x, y, z ) � � 5 − y4 + 2 x 2 y − 2 � f =� � 2. F ( X ) = �2 ( x, y, z ) � � − z + 2 y z − 2 � X (0) = (3,1, −2)T f y , � ( x, y, z ) � �5 f � � − x + 2z x − 2 � 4 2 z �3 � D/ Tính tích phân x3 x4 x3 1 x3 dx dx dx dx dx 1. 2. 3. 4. 5. x ( x + a 2 )2 32 ( x 2 − a 2 )2 ( x 2 − a 2 )2 ( x3 + a 3 ) 2 x + a3 3 1 1 1 x3 dx dx 7. dx dx 6. 8. 9. x ( x + a3 )2 3 3 x ( x − a 4 )2 44 x ( a. x + b ) 2 3 a. x + b (2 x + 3)5 1 x3 10. x. a.x + bdx 11. x3. a.x + bdx 12. dx dx 13. 14. dx 5 (2 x +1) 7. x + 2 a. x + b 7.x + 2 1 x12 3x+4 dx (4 − x 2 )11 dx dx 15. 16. dx 17. 18. 3 (5 x +8)7 (2.x 2 + 3 x −9)13 x3 . (5 − x 2 ) x7 x5 sin 9 (3 x ) 1 x3.sin 7 (3 x) dx 20. dx dx 19. 21. 22. dx (2sin 3 x + 4cos 2 x ) 2 + 7 sin17 (2 x ) x5 2 1 tan 7 3 x dx co tan 7 3 x dx 7 e−2 x 3 tan dx 24. 26. x cos2 3 x dx 27. 23. 25. dx (5sin 3 x + 4)3 2 cos 2 2 x sin 21 3 x x3 2x 28. e−3 x .ln xdx 29. e −3 x −3 5 x −3.ln 5 ( x + x + a 2 )dx 2 x .ln( x + 2) dx 31. .sin 2 xdx 30. x −3 .ln( x + x 2 + a 2 )dx 32. x −6 .ln 5 (3 x + 4)dx 33. 34. x5.arcsin( x )dx 3 2 2 x −a 35. x .arcsin( x )dx 36. x .( x + 9)7 .arcsin( x )dx 37. x5.( x 2 + 9)−4 .arcsin( x )dx −5 5 2 3 3 3 x 20 dx 38. x5.( x 2 + 9)−4 .arccotan( x )dx 39. x8.( x 2 + 9)−4 .arctan( x )dx 40. e x +1 3 3 π /2 π 1 1 4 x2 1+ cos 2 x dx 1 sin 2 xdx arctan x dx 1− x − 2 dx 45. 43. e dx 44. 41. 42. 4 x 2 0 0 0 0 0 π /3 2 3 1 1 e ln(1+ x ) arcsin x dx x sin x dx 1 1 dx dx dx 46. 47. 48. 49. 50 cos 2 x 1+ x 2 x +1 + 5 x +1 1+ x x ln x −π / 3 0 0 0 e
- 12 π /2 π /2 ln 2 1 1 x2 cos3 x dx sin 2 x dx x x cos x dx e − 1dx 52. sin x dx 54. 51. 53. 55. cos x + sin x 1+ x 2 1+ 2 x 3 1− x 2 −π / 2 −1 0 0 0 eπ π 1 e 1 1 e −3 x dx 2 2006 x sin x dx 1 dx 1 − xdx 56. x ln xdx 57. 61. x 58. cos(ln x)dx 59. 60. 1+ e − x x.3 ln x 1+ cos 2 x 0 1 0 0 0 1 2π π 1 x 2006 sin(π x)dx sin(2002 x + sin x)dx 63. ( sin 2006 x − sin 2007 x )dx 64. 62. 0 0 0 E/ Nhập vào các ma trận và thực hiện các tính toán cộng, trừ, nhân ma trận. Tính ma trận chuyển vị, định thức và ma trận ngược của một ma trận nếu có Bài 1: Tính A+B, A-B, 3A , 3A-3B, AT , BT và (3A-3B)T −1� 6 � 4� 1 � � −1� � −1� �3 −2 � − 1 2 � 2� 1 � � B = �1 5 � 1. A = � � B = � 2. A = � � B=� � 3. A = � − 2 4, , , � � � � � −1� − 2 �1 8 � � 1� 2 � 2� 4 − �3 5� � 10 � 1 � � � � −3 4 � � 2 −1 0 1 � 1 −1 1 0 � � 1 1� 2 2 2 1 � � A=� B=� A=� B=� 4. , 5. , � 1 −2 � � 4 9 −6 −7 � �1 −1 4 � − − � 1 −2 0 −1� − �3 1 �3 � � − −1� �2 � 3� 0 � 0 � và B = � 0 � hãy tính Bài 2: Cho A = �1 2 , � � � −4 � �4 −1� − �3 � � � � −3 A+ 1 B 1. 3 A − 2 B 2. 2 A + 4 B 3. 2 2 Bài 3: Tính ma trận C = (cij )m n = A.B . Dùng lệnh Sum[] để tính c12 , c32 và c23 1 � 0 0� � −1 0 � 0 � 1� 2 � 0 0� 5 5 � −8 0 � B = � −8 0 � � 0 2 � B = �3 4 � 1. A = � − A= 0 4 0 � � , � 2. , � � � � � � � −1 7 � � 6� � 0 7� 8 1� 0 0 0 1� � � � � � � � 2� Bài 4: Tính định thức của các ma trận sau −3 6 0 5� � 1 � 0 0� � 3 −7 � � .3 0.2 0.2 � 6 0 � −8� 5 � � 4 13 6 � 0 0� � 0.2 0.2 0.2 � 4. � � 1. � −8 0 � 2. 0 0 3. � � � � − �1 4� 0 7 � � � −6 3 � �0.4 0.4 0.3� − 4 0 0 1� � � � �� � � � 2� 8 6 0 2� �
- 13 Bài 5: Tìm ma trận nghịch đảo nếu có của các ma trận sau − −1 −1� − −3� 2 0 1 1� �1 2 �3 1 1 � � −17 11 � � 2 1� �4 � �3 −3� − −5 −6 − −1 3 0 0 9 2 � � 1. �1 11 −7 � 2. � � 3. � � 4. 1 . � � − − −2 −1 −1� 3 � �1 1� � 0� 1 0 1 0 1 1 0 3 −2 � � � � � � � � � � −1 −5 − −2 4 1 0� 3 3 3� �3 1 0� � � Bài 6: Tính chuẩn của các ma trận trong bài tập 5 theo chuẩn vô cùng Bài 7: Giải hệ phương trình A. X = B bằng lệnh LinearSolve[A, B] 2 0 1 1� �.4 � 1 � � −17 11 � 2 1 �� � � �� 3 0 0 1 2.6 � � �� 2. � � B=� � 1. A = �1 11 −7 �, B = �2 � − − , − −2 − �1 1� �1� 1 0 3 −2 � � �� 3 � � �� � � �� −1 − 4 1 0� �4 � � − −1 −1� − 1 −3� − �1 2 3 �3 1 �2 � �� �4 −6 � �� � 2 −3� �� − −5 − −1 9 2 1 . �3 4 3. A = � �, B = � � �B=� � 4. 3 � , −1 −1� − − � �2 � 1 0� �2 � 0 1 0 1 � � �� � � �� −5 − − −2 − 3 3 3� �7 � �3 1 0� �5 � �
ADSENSE
CÓ THỂ BẠN MUỐN DOWNLOAD
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn