NGUYỄN HỮU ĐIỂN
THỰC HÀNH TÍNH TỐN
TRONG MAPLE
NHÀ XUẤT BẢN ĐẠI HỌC QUỐC GIA HÀ NỘI
NỘI DUNG
Mục lục . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
Lời nói đầu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
Những kí hiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
Danh sách hình. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
Danh sách bảng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
Chương 1. Các lệnh tương tác với Maple . . . . . . . . . . . . . . . . . .
21
1.1. Thực hiện phép toán số học trong Maple. . . . . . . . . . . . . . . . .
21
1.2. Biến số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
1.3. Các hàm toán học của Maple . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
1.4. Các hằng số toán học của Maple . . . . . . . . . . . . . . . . . . . . . . . . .
27
1.5. Dấu ngoặc đơn và độ ưu tiên phép toán . . . . . . . . . . . . . . . . . .
27
1.6. Những thành phần của biểu thức . . . . . . . . . . . . . . . . . . . . . . . .
29
1.7. Dãy biểu thức . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
1.8. Cấu trúc tập hợp và danh sách trong Maple . . . . . . . . . . . . .
34
1.9. Tính tốn số với độ chính xác bất kỳ . . . . . . . . . . . . . . . . . . . . .
36
1.10. Định nghĩa hàm đơn giản trong Maple . . . . . . . . . . . . . . . . .
37
1.11. Lệnh alias đặt bí danh các hàm và ký hiệu . . . . . . . . . . . . .
39
1.12. Sửa chữa lỗi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
1.13. Đưa kết quả ra bằng print và lprint . . . . . . . . . . . . . . . . . . . .
41
1.14. Bài tập có lời giải . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
1.15. Bài tập tự giải . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
Chương 2. Maple với giải tích sơ cấp. . . . . . . . . . . . . . . . . . . . . . .
45
2.1. Giải các phương trình đại số . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
2.2. Phép thế biểu thức bằng hàm subs . . . . . . . . . . . . . . . . . . . . . .
49
2.3. Giải số các phương trình . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
2.4. Tính giới hạn các hàm số thực và số phức. . . . . . . . . . . . . . . .
53
2.5. Tính tổng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
2.6. Chuỗi nguyên . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
2.7. Tính đạo hàm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
2.8. Tính tích phân xác định và không xác định . . . . . . . . . . . . . .
59
2.9. Giải phương trình sai phân bằng rsolve . . . . . . . . . . . . . . . . .
60
2.10. Hàm thực hiện trên mọi phần tử biểu thức . . . . . . . . . . . . .
62
3
4
Thực hành tính tốn
2.11. Bài tập có lời giải . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
2.12. Bài tập tự giải . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
Chương 3. Maple với đại số sơ cấp . . . . . . . . . . . . . . . . . . . . . . . . .
67
3.1. Rút gọn biểu thức bằng simplify . . . . . . . . . . . . . . . . . . . . . . . . .
68
3.2. Khai triển một tích ra thừa số . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
3.3. Kết hợp các số hạng đa thức bằng combine . . . . . . . . . . . . . .
70
3.4. Giản ước các phân thức bằng normal . . . . . . . . . . . . . . . . . . . .
73
3.5. Tổ chức đa thức bằng collect . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
3.6. Sắp xếp các số hạng bằng sort . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
3.7. Phân tích đa thức ra thừa số . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
3.8. Chuyển đổi giữa các dạng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
3.9. Tìm hệ số của đa thức. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
3.10. Bài tập có hướng dẫn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
3.11. Bài tập tự giải . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
Chương 4. Maple với đại số tuyến tính . . . . . . . . . . . . . . . . . . . .
85
4.1. Bảng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
86
4.2. Mảng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
4.3. Tạo hệ thống chỉ số cho mảng và bảng . . . . . . . . . . . . . . . . . . .
91
4.4. Ma trận và vectơ cùng các phép toán . . . . . . . . . . . . . . . . . . . .
92
4.5. Gói lệnh đại số tuyến tính trong Maple . . . . . . . . . . . . . . . . . .
95
4.6. Toán tử tạo cấu trúc ma trận và vectơ . . . . . . . . . . . . . . . . . .
101
4.7. Gọi lệnh của gói lệnh thơng qua with . . . . . . . . . . . . . . . . . . .
105
4.8. Gói lệnh đại số tuyến tính mới . . . . . . . . . . . . . . . . . . . . . . . . . .
106
4.9. Bài tập luyện tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
108
4.10. Bài tập tự giải . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
110
Chương 5. Vẽ hình trong Maple . . . . . . . . . . . . . . . . . . . . . . . . . . .
113
5.1. Một số hệ tọa độ trong không gian hai chiều . . . . . . . . . . .
113
5.2. Hàm vẽ đồ thị trong không gian hai chiều . . . . . . . . . . . . . .
119
5.3. Hàm polarplot vẽ đồ thị trong tọa độ cực . . . . . . . . . . . . . . .
124
5.4. Ánh xạ bảo giác . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
127
5.5. Một số lệnh khác vẽ đồ thị trên mặt phẳng . . . . . . . . . . . . .
128
Mục lục
5
5.6. Đồ thị trong không gian ba chiều . . . . . . . . . . . . . . . . . . . . . . .
130
5.7. Các lệnh vẽ đồ thị đặc biệt trong không gian . . . . . . . . . . .
139
5.8. Vẽ khối đa diện . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
145
5.9. Làm hoạt hình đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
148
5.10. Bài tập có lời giải . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
154
5.11. Bài tập tự giải . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
155
Chương 6. Lập trình trong Maple . . . . . . . . . . . . . . . . . . . . . . . . .
157
6.1. Cơ sở dữ liệu của Maple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
158
6.2. Các câu lệnh có cấu trúc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
158
6.3. Toán tử break và next trong while - for . . . . . . . . . . . . . . . . .
164
6.4. Tạo lập thủ tục hàm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
165
6.5. Tạo lập thủ tục đơn giản trong Maple . . . . . . . . . . . . . . . . . .
167
6.6. Biến cục bộ, hàm return và hàm error . . . . . . . . . . . . . . . . . .
168
6.7. Những tốn tử tính tốn trong Maple . . . . . . . . . . . . . . . . . .
175
6.8. trace và printlevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
177
6.9. Xem mã thư viện nguồn của Maple . . . . . . . . . . . . . . . . . . . . .
181
6.10. Chuyển mã Maple ra C, fortran, latex. . . . . . . . . . . . . . . . .
182
6.11. Một số thuật toán cổ điển . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
186
6.12. Phương pháp Newton trong giải tích số . . . . . . . . . . . . . . .
192
6.13. Bài tập luyện tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
196
6.14. Bài tập tự giải . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
198
Chương 7. Maple với phương trình vi phân. . . . . . . . . . . . . .
201
7.1. Lệnh biểu diễn đạo hàm và tích phân . . . . . . . . . . . . . . . . . .
201
7.2. Giải phương trình vi phân . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
206
7.3. Nghiệm giải tích của phương trình vi phân. . . . . . . . . . . . .
208
7.4. Giải số phương trình vi phân . . . . . . . . . . . . . . . . . . . . . . . . . . .
212
7.5. Gói lệnh Detools vẽ đồ thị nghiệm . . . . . . . . . . . . . . . . . . . . . .
215
7.6. Vi phân của hàm nhiều biến . . . . . . . . . . . . . . . . . . . . . . . . . . . .
219
7.7. Tích phân của hàm nhiều biến . . . . . . . . . . . . . . . . . . . . . . . . .
222
7.8. Giải tích vectơ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
223
7.9. Chuỗi và tích vectơ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
226
7.10. Biến đổi tích phân . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
230
6
Thực hành tính tốn
7.11. Bài tập có lời giải . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
232
7.12. Bài tập tự giải . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
234
Chương 8. Lời giải và gợi ý bài tập . . . . . . . . . . . . . . . . . . . . . . .
237
8.1. Lời giải bài tập chương 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
237
8.2. Lời giải bài tập chương 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
238
8.3. Lời giải bài tập chương 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
240
8.4. Lời giải bài tập chương 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
241
8.5. Lời giải bài tập chương 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
242
8.6. Lời giải bài tập chương 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
248
8.7. Lời giải bài tập chương 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
250
Phụ lục A. Giao diện của Maple 17 . . . . . . . . . . . . . . . . . . . . . . .
255
A.1. Cài đặt Maple 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
255
A.2. Giao diện của Maple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
256
A.3. Định dạng dữ liệu đầu vào và đầu ra của Maple 17 . . . .
257
A.4. Chuyển đổi các dạng biểu thức toán . . . . . . . . . . . . . . . . . . . .
258
A.5. Lệnh phím tắt quan trọng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
261
Phụ lục B. Thư viện gói lệnh của maple 17 . . . . . . . . . . . . . .
263
B.1. Những chú ý về gói lệnh của Maple 17 . . . . . . . . . . . . . . . . .
263
B.2. Gói lệnh Student . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
264
B.3. Danh sách gói lệnh trong Maple 17 . . . . . . . . . . . . . . . . . . . .
265
Phụ lục C. Các lệnh thường dùng maple . . . . . . . . . . . . . . . . .
273
Phụ lục D. Gói lệnh đại số tuyến tính . . . . . . . . . . . . . . . . . . . .
283
Phụ lục E. Gói lệnh vẽ đồ thị plots . . . . . . . . . . . . . . . . . . . . . . .
305
Tài liệu tham khảo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
321
Danh mục từ khóa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
323
LỜI NĨI ĐẦU
Ngày nay máy tính đã thâm nhập vào hầu hết các lĩnh vực khoa
học và đời sống. Nhiều chương trình ứng dụng đã được phát triển
liên quan tới quản lý dữ liệu, in ấn, đồ họa, sử lý ảnh... Riêng đối với
ngành tốn đã có những sản phẩm phần mềm mang tính phổ dụng
như Mathematica, Matlab, Maple,... và nhiều chương trình chun
dụng cho từng bộ mơn của tốn học. Những phần mềm trên giúp ích
rất nhiều cho việc giảng dạy toán, học toán cũng như việc ứng dụng
toán trong các ngành kỹ thuật, kinh tế, và vì thế tại các nước phát
triển chúng trở thành cẩm nang của nhiều sinh viên, kỹ sư và các
ngành nghiên cứu khoa học. Ngày nay đã có phiên bản 17 của Maple
tốt hơn rất nhiều so với trước kia.
Maple là một hệ phần mềm chun dụng cho tính tốn bao gồm
các tính tốn thuần túy bằng ký hiệu tốn học, các tính tốn số và
các tính tốn bằng đồ thị. Sản phẩm này do trường Đại học Tổng hợp
Waterloo (Canada) và trường đại học kỹ thuật Zurich (ETZ) xây dựng
và đưa vào thương mại đầu tiên năm 1985. Qua nhiều lần cải tiến,
hiện nay Maple 17 đã được phổ biến rộng rãi trên thế giới. Những
đặc tính căn bản của Maple 17 là dễ sử dụng, địi hỏi cấu hình máy
khơng lớn, đáp ứng nhu cầu tính tốn của nhiều đối tượng. Ngồi
ra Maple 17 cịn được thiết kế thích hợp với chế độ tương tác người
và máy, cho phép người dùng phát triển các mơđul chun dụng, lập
trình hoặc thư viện riêng ngay trong phần mềm của chúng.
Dưới đây xin giới thiệu các tính năng của Maple thơng qua một
số ví dụ tính tốn cụ thể. Sau khi chúng ta khởi động chương trình
Maple, trên màn hình xuất hiện cửa sổ vùng làm việc với dấu nhắc
[>_ ở góc trên bên trái, báo hiệu Maple đã sẵn sàng thực hiện các
lệnh được đưa vào sau dấu nhắc. Trong các ví dụ dưới đây, liền sau
dấu [> là câu lệnh do chúng ta gõ vào bằng bàn phím (kết thúc câu
lệnh bằng dấu ;), nếu đưa lệnh nhiều dịng màn hình nhấn phím
[Shift] đồng thời với nhấn phím [Enter] để vào tiếp tục lệnh. Sau đó
chúng ta nhấn phím [Enter], Maple sẽ thực hiện lệnh và cho hiển
thị kết quả tính tốn tại dịng ngay sau đó.
Lời nói đầu
8
Ví dụ
1 -Tính tổng lập phương các số nguyên từ 1 tới 100:
>S := sum (i^3, i =1..100);
S:= 25502500
2 - Phân tích tổng S trên ra thừa số nguyên tố:
>ifactor (S);
(2)2 (5)4 (101)2
3 - Giải hệ phương trình tuyến tính với ba ẩn và một tham số :
ax + 3y + 3z
x − y + az
3x − 2y + z
= 10
=2
=6
>solve({a*x+3*y+3*z=10, x-y+a*z=2, 3*x-2*y+z=6}, {x, y, z})
{x =
−5 + 19a
−16a2 + 3a + 15
−5 + 19a
,y =
,x =
}
a (4 + a )
a (4 + a )
a (4 + a )
4 - Đưa vào một phương trình vi phân
d2
d
(y( x )) + 2 (y( x ))) + y = e−x
2
dx
dx
bằng cách gán vào một biến:
>de :=diff( y(x), x, x)+2* diff( y(x), x)+y(x) = exp(-x);
de :=
d2
d
(y( x )) + 2 (y( x ))) + y = e−x
2
dx
dx
5 - Giải phương trình vi phân ở ví dụ trên với điều kiện ban đầu:
y(0) = 1, y0 (0) = 0
>soln := dsolve({de, y(0)=1, D(y)(0)=0}, y(x));
soln := y( x ) =
1 2
x exp(− x ) + exp(− x ) + exp(− x ) x
2
6-Vẽ đồ thị nghiệm của phương trình vi phân nói trên:
Lời nói đầu
9
>plot(rhs(soln), x=0..8);
7. Giải phương trình phi tuyến cot( x + 18 ) = x với độ chính xác là
40 chữ số sau dấu phảy:
>Digits := 40;
Digits := 40
>fsolve(cot(x + Pi/8) = x, x);
.6218013732036774103273149629860812356122
>Digits := 10:
>fsolve(cot(x + Pi/8) = x, x);
.6218013732
8. Giải phương trình sai phân với điều kiện ban đầu:
6 f (n + 3) − 103 f (n + 2) + 144 f (n + 1) = 47 f (n)
với f (0) = 1, f (1) = 2, f (2) = 4.
>reqn := 6*f(n+3) - 103*f(n+2) + 144*f(n+1) = 47*f(n);
reqn := 6 f (n + 3) − 103 f (n + 2) + 144 f (n + 1) = 47 f (n)
>rsolve({reqn, f(0) = 1, f(1) = 2, f(2) = 4}, f(n));
1
47
− n−
2
3
Lời nói đầu
10
9. Tính tích phân
R∞
0
2
e− x ln x dx.
>int(exp(-x^2)*ln(x), x=0..infinity);
1√
1√
−
πγ −
π ln(2)
4
2
10. Định nghĩa một ma trận dùng lệnh trong gói lệnh đại số tuyến
tính LinearAlgebra:
>with(LinearAlgebra):
>A := matrix(4, 4, [ -26, -28, 89, -456, 104, 258, 70,
3132, 40, 88, -266, 1109, 2, 1, -4, 26]);
26 −28
89
−456
104 258
70
3132
A :=
40
88 −266 1109
−2
1
−4
26
11- Xác định một ma trận Toeplitz 3 × 3 chiều với giá trị ban đầu
là a, b, c
>T := toeplitz([a,b,c]);
a b c
T := b a b
c b a
12- Tính giá trị riêng của ma trận T nói trên
>eigenvals(T);
1
1
1
1
a − c, a + c + (c2 + 8b2 )1/2 , a + c − (c2 + 8b2 )1/2
2
2
2
2
13- Vẽ hai hình lồng nhau trên cùng một hệ tọa độ trong không
gian ba chiều:
>with(plots):
>tubeplot({[10*cos(t),10*sin(t),0,
t=0..2*Pi, radius= 2+cos(7*t),
numpoint=120, tubepoints=24],
[0,10+5*cos(t), 5*sin(t), t=0..2*Pi,
numpoint=50,tubepoints=18]},
scaling=CONSTRAINED);
radius= 1.5,
Như chúng ta đã thấy qua các ví dụ trên, việc giao tiếp và thực
hiện theo ý đồ toán học của ta nhờ Maple khá dễ dàng. Tài liệu này
Lời nói đầu
11
gồm những hướng dẫn các chức năng tính tốn của Maple. Thơng
qua hướng dẫn cụ thể ta có thể bước đầu sử dụng Maple giải một
số bài toán thông thường hoặc tự kiểm tra các kiến thức phổ thơng,
tốn cao cấp thơng qua các ví dụ. Nội dung cơ bản này được trình
bày trong Chương 1 Các lệnh tương tác với Maple, Chương 2 Maple
với giải tích sơ cấp, Chương 3 Maple với đại số sơ cấp, Chương 4
Maple với đại số tuyến tính, Chương 5 giới thiệu các tính năng đồ họa
trong khơng gian hai chiều và ba chiều, đây cũng là một trong các ưu
điểm nổi bật của Maple. Chương 6 lập trình bằng ngơn ngữ Maple,
Chương 7 là ứng dụng các chương trước để khảo sát giải phương
trình vi phân và giải tích nhiều biến. Cuối cùng là các phụ lục về gói
lệnh vẽ đồ thị (plots), gói lệnh đại số tuyến tính (LinearAlgebra), và
danh sách các gói lệnh thường dùng.
Mỗi phần đều có cơng thức chung và sau đó là ví dụ cụ thể chia
ra từng bước A, B, C.... Sau dấu [> là bắt đầu lệnh cịn các dịng sau
đó là tiếp tục lệnh hoặc trong nhóm lệnh cùng thực hiện; kết quả là
dòng cuối cùng của các dòng lệnh.
Những năm gần đây Maple đã được phổ biến trong các trường
đại học ở Việt Nam. Những tài liệu sử dụng Maple và khai thác
Maple trong giảng dạy và nghiên cứu đã có bằng tiếng Việt như
[1],[2],[3],[4],[6]. Rất nhiều tài liệu nước ngoài bằng tiếng Anh
về ứng dụng Maple trong nghiên cứu và học tập, tôi chỉ liệt kê
một số cuốn quan trọng như [13], [9], [10], [11], [13], [14], [15],
[16],[17],[18],[19],[20],[21],[22]. Ngày nay cũng có rất nhiều trang
web dành cho học tập và trao đổi kinh nghiệm về sử dụng Maple
như [24], [25], [26],...Tác giả đã xem xét lại nội dung cuốn sách sử
dụng Maple [2] của mình, kết hợp với những tiến bộ của phần mềm
Maple 17 và kết hợp với các tài liệu đã chỉ ra ở trên để soạn ra tài
liệu này. Phần lập trình đã nghiên cứu và nhiều bài tập lập trình
trên cơ sở cuốn sách của tác giả [5]. Phần vẽ đồ thị đã thể hiện các
hệ tọa độ phẳng, khơng gian và vẽ hình trên các hệ tọa độ này. Phần
khối đa diện đều và làm hoạt hình được đưa vào với ví dụ cụ thể.
Tác giả đã sử dụng Maple 17 kiểm tra các lệnh và chương trình
trong cuốn sách này. Phần mềm Maple 17 phiên bản 32 bit chạy
trên Windows 7 phiên bản 64 bit rất ổn định và tốt. Mọi trao đổi sai
sót và bình luận nội dung cuốn sách này với tác giả tại trang Web:
Phương pháp đại lượng bất biến
12
.
Tác giả cám ơn Lãnh đạo Khoa Toán - Cơ - Tin học,Trường
ĐHKHTN, ĐHQGHN Hà nội đã tạo điều kiện cho tôi dạy môn "Thực
hành tính tốn" và thành lập các hội đồng kiểm định nội dung cuốn
sách này. Tác giả chân thành cảm ơn PGS. TS. Tạ Duy Phượng và
PGS. TS. Đặng Đình Châu đã đọc và cho rất nhiều ý kiến chỉ dẫn về
sai sót trong bản thảo để kịp thời sửa chữa.Tơi cũng cám ơn Trung
tâm Tính tốn Hiệu năng cao, ĐHKHTN và các sinh viên đã học
mơn "Thực hành tính tốn".
Hà Nội, ngày 27 tháng 11 năm 2013
Nguyễn Hữu Điển
NHỮNG KÍ HIỆU
Trong cuốn sách này ta dùng những kí hiệu với các ý nghĩa xác
định trong bảng dưới đây:
N
R
C
{...}
[...]
∩
∪
\
>
i
␣
⇒
.
PT
ĐK
KBT
<Đối số>
tập hợp số tự nhiên
tập hợp số thực
tập hợp số phức
Ký hiệu tập hợp
Ký hiệu danh sách
Giao tập hợp
Hợp tập hợp
Trừ tập hợp
Dấu bắt đầu nhập lệnh của Maple
Đơn vị ảo
Ký tự trắng
Kết quả của lệnh.
Bài tập
phương trình
điều kiện
khoảng biến thiên
Đối số có thể là biến, hằng, hàm số, hệ phương
trình...
DANH SÁCH CÁC HÌNH
5.1 Hệ tọa độ polar và đồ thị trong polar . . . . . . . . . . . . . 118
5.2 Hệ tọa độ elliptic và đồ thị trong elliptic . . . . . . . . . . . 118
5.3 Đồ thị danh sách điểm . . . . . . . . . . . . . . . . . . . . . 121
5.4 Đồ thị giao động tắt dần . . . . . . . . . . . . . . . . . . . . 121
5.5 Đồ thị parabol . . . . . . . . . . . . . . . . . . . . . . . . . . 122
5.6 Đồ thị với style=point . . . . . . . . . . . . . . . . . . . . . . 122
5.7 Đồ thị với giá trị mặc định của numpoints . . . . . . . . . . 122
5.8 Đồ thị trong khoảng hẹp . . . . . . . . . . . . . . . . . . . . 123
5.9 Vẽ hai đồ thị trên một hệ tọa độ . . . . . . . . . . . . . . . . 123
5.10 Đồ thị hàm đặc biệt y = sin x/x . . . . . . . . . . . . . . . . 124
5.11 Đồ thị các hàm cos x và sin x với nhiều tùy chọn . . . . . . . 124
5.12 Vẽ đồ thị theo thông số t . . . . . . . . . . . . . . . . . . . . 125
5.13 Vẽ đồ thị theo thông số lượng giác . . . . . . . . . . . . . . . 125
5.14 Đường tròn đơn vị trên hệ tọa độ Đề các . . . . . . . . . . . 126
5.15 Đường tròn đơn vị trên hệ tọa độ cực . . . . . . . . . . . . . 126
5.16 Hệ tọa độ cartesian . . . . . . . . . . . . . . . . . . . . . . . 126
5.17 Hệ tọa độ bipolar . . . . . . . . . . . . . . . . . . . . . . . . 126
5.18 Hệ tọa độ polar . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.19 Vẽ đồ thị theo tọa độ cực nhiều hàm . . . . . . . . . . . . . 127
5.20 Vẽ đồ thị theo tọa độ cực hàm t2
1
5.21 Đồ thị hàm số . . . . . . . . .
z
z−i
5.22 Đồ thị hàm số
. . . . . . .
z+i
5.23 Dùng lệnh listplot. . . . . . . . .
. . . . . . . . . . . . . . . . 127
. . . . . . . . . . . . . . . . 128
. . . . . . . . . . . . . . . . 128
. . . . . . . . . . . . . . . . 129
5.24 Dùng lệnh pointplot . . . . . . . . . . . . . . . . . . . . . . . 129
5.25 Nối 8 điểm trên đường tròn. . . . . . . . . . . . . . . . . . . 130
5.26 Nối 200 điểm trên đường tròn. . . . . . . . . . . . . . . . . . 130
5.27 Hệ tọa độ rectangular . . . . . . . . . . . . . . . . . . . . . . 132
5.28 Hệ tọa độ cylindrical . . . . . . . . . . . . . . . . . . . . . . 132
5.29 Hệ tọa độ spherical . . . . . . . . . . . . . . . . . . . . . . . 132
5.30 Đồ thị hàm số | x − y| + | x + y| . . . . . . . . . . . . . . . . . 133
13
14
Thực hành tính tốn
5.31 Hai đồ thị trong khơng gian ba chiều. . . . . . . . . . . . . 133
5.32 Đồ thị với miền xác định ẩn . . . . . . . . . . . . . . . . . . 134
5.33 Đa đồ thị trên một hệ tọa độ. . . . . . . . . . . . . . . . . . . 134
5.34 Tùy chọn scaling = unconstrained . . . . . . . . . . . . . . . 136
5.35 Tùy chọn scaling = constrained . . . . . . . . . . . . . . . . 136
5.36 plot3d tùy chọn axes = box . . . . . . . . . . . . . . . . . . . 136
5.37 plot3d tùy chọn view=0..40 . . . . . . . . . . . . . . . . . . . 136
5.38 Chọn style = point . . . . . . . . . . . . . . . . . . . . . . . . 137
5.39 Chọn style = patch . . . . . . . . . . . . . . . . . . . . . . . . 137
5.40 Tùy chọn style = wireframe . . . . . . . . . . . . . . . . . . 137
5.41 Chọn style = hidden . . . . . . . . . . . . . . . . . . . . . . . 137
5.42 plot3d tùy chọn axes = none . . . . . . . . . . . . . . . . . . 138
5.43 plot3d tùy chọn axes = frame
. . . . . . . . . . . . . . . . . 138
5.44 plot3d tùy chọn axes = box . . . . . . . . . . . . . . . . . . . 138
5.45 plot3d tùy chọn axes = normal . . . . . . . . . . . . . . . . . 138
5.46 Biểu diễn nhiều đồ thị trên một hệ tọa độ . . . . . . . . . . 139
5.47 Đồ thị hàm thông số . . . . . . . . . . . . . . . . . . . . . . . 139
5.48 plod3d tùy chọn style = patchcontour . . . . . . . . . . . . . 140
5.49 plod3d tùy chọn góc nhìn orientation . . . . . . . . . . . . . 140
5.50 plod3d tùy chọn filled = true . . . . . . . . . . . . . . . . . . 140
5.51 plod3d tùy chọn filled = false . . . . . . . . . . . . . . . . . . 140
5.52 tubeplot tùy chọn style=contour . . . . . . . . . . . . . . . . 141
5.53 tubeplot tùy chọn style = patch nét lưới
. . . . . . . . . . . 141
5.54 tubeplot tùy chọn tiêu đề . . . . . . . . . . . . . . . . . . . . 141
5.55 tubeplot vẽ nhiều hàm một lúc . . . . . . . . . . . . . . . . . 141
5.56 tubeplot chọn vị trí của ba hình. . . . . . . . . . . . . . . . . 142
5.57 tubeplot vẽ bốn khuyên . . . . . . . . . . . . . . . . . . . . . 142
5.58 tubeplot vẽ hình xoắn . . . . . . . . . . . . . . . . . . . . . . 142
5.59 tubeplot vẽ đối xứng . . . . . . . . . . . . . . . . . . . . . . . 142
5.60 tubeplot vẽ ba khuyên lồng nhau . . . . . . . . . . . . . . . 143
5.61 tubeplot vẽ đường xoắn . . . . . . . . . . . . . . . . . . . . . 143
Danh sách hình
5.62 sphereplot vẽ hàm x =
5.63 sphereplot vẽ hàm x =
15
q
3 sin2 y − 1) . . . . . . . . . . . . . 144
p
5 cos2 y − 1) . . . . . . . . . . . . . 144
5.64 Khối hình nón cylinderplot mở . . . . . . . . . . . . . . . . . 144
5.65 Khối tròn theo từng nấc . . . . . . . . . . . . . . . . . . . . 144
5.66 Mơ hình sóng giao thoa . . . . . . . . . . . . . . . . . . . . . 145
5.67 Khối MetabiaugmentedTruncatedDodecahedron . . . . . . 147
5.68 Khối đa diện echidnahedron . . . . . . . . . . . . . . . . . . 147
5.69 Hoạt hình danh sách khối đa diện
. . . . . . . . . . . . . . 148
5.70 Vẽ hoạt hình với khung 50 ảnh . . . . . . . . . . . . . . . . 150
5.71 Vẽ hoạt hình hàm có thơng số . . . . . . . . . . . . . . . . . 150
5.72 Vẽ hoạt hình đồ thị chuyển động lên. . . . . . . . . . . . . . 151
5.73 Vẽ hoạt hình đồ thị chuyển động trịn . . . . . . . . . . . . . 151
5.74 Khung hình đầu tiên của dãy hoạt hình. . . . . . . . . . . . 153
5.75 Khung hình thứ 18 của dãy 25 hình . . . . . . . . . . . . . 153
5.76 Hoạt hình dùng lệnh animate3d . . . . . . . . . . . . . . . . 153
5.77 Hoạt hình trên hàm vẽ hình 3D. . . . . . . . . . . . . . . . . 153
6.1 Ví dụ phép lặp Newton . . . . . . . . . . . . . . . . . . . . . 195
7.1 Nghiệm của bài toán Côsi . . . . . . . . . . . . . . . . . . . 210
7.2 Nghiệm gần đúng và nghiệm chính xác . . . . . . . . . . . 212
7.3 Đồ thị nghiệm của phương trình vi phân theo giải số . . . . 213
7.4 Đồ thị của nghiệm theo cách giải số và nghiệm gần đúng . 214
7.5 Đồ thị của nghiệm giải số và nghiệm gần đúng . . . . . . . 215
7.6 Đồ thị của nghiệm giải số vẽ bằng DEplot . . . . . . . . . . 216
7.7 Ảnh pha khơng mũi tên của hệ phương trình vi phân . . . 217
7.8 Ảnh pha vectơ trường mũi tên của hệ phương trình vi phân 218
7.9 Lệnh phaseportrait vẽ pha cho hệ phương trình . . . . . . 218
7.10 Đồ thị hàm sai số er f ( x ) . . . . . . . . . . . . . . . . . . . . 228
7.11 Đồ thị hàm khai triển theo Fourier . . . . . . . . . . . . . . 229
16
Thực hành tính tốn
7.12 Các đồ thị của một hàm khai triển theo Fourier với bậc
khác nhau . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
8.1 Lời giải bài 5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . 242
8.2 Lời giải bài 5.2 . . . . . . . . . . . . . . . . . . . . . . . . . . 242
8.3 Lời giải bài 5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . 243
8.4 Lời giải bài 5.4 . . . . . . . . . . . . . . . . . . . . . . . . . . 243
8.5 Lời giải bài 5.5 . . . . . . . . . . . . . . . . . . . . . . . . . . 243
8.6 Lời giải bài 5.6 . . . . . . . . . . . . . . . . . . . . . . . . . . 243
8.7 Lời giải bài 5.7 . . . . . . . . . . . . . . . . . . . . . . . . . . 244
8.8 Lời giải bài 5.8 . . . . . . . . . . . . . . . . . . . . . . . . . . 244
8.9 Lời giải bài 5.9 . . . . . . . . . . . . . . . . . . . . . . . . . . 244
8.10 Lời giải bài 5.10 . . . . . . . . . . . . . . . . . . . . . . . . . 244
8.11 Lời giải bài 5.11 . . . . . . . . . . . . . . . . . . . . . . . . . 245
8.12 Lời giải bài 5.12 . . . . . . . . . . . . . . . . . . . . . . . . . 245
8.13 Hoạt hình chuyển động . . . . . . . . . . . . . . . . . . . . . 245
8.14 Ví dụ vẽ đồ thị hàm theo ẩn số phụ . . . . . . . . . . . . . . 245
8.15 Đồ thị xoắn Cornu Spiral . . . . . . . . . . . . . . . . . . . . 246
8.16 Đồ thị xoắn Cornu Spiral . . . . . . . . . . . . . . . . . . . . 246
8.17 Đồ thị con bướm . . . . . . . . . . . . . . . . . . . . . . . . . 246
8.18 Đồ thị Umbilic Torus . . . . . . . . . . . . . . . . . . . . . . 247
8.19 Đồ thị Hyperboloid . . . . . . . . . . . . . . . . . . . . . . . 247
8.20 Nghiệm của phương trình vi phân giải bằng phương
pháp khác nhau. . . . . . . . . . . . . . . . . . . . . . . . . 252
8.21 Nghiệm của phương trình vi phân thường.
. . . . . . . . . 252
8.22 Hoạt hình của nghiệm phương trình vi phân thường,
ảnh thứ 23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
A.1 Biểu tượng Maple trên Desktop . . . . . . . . . . . . . . . . 256
A.2 Maple trên Menu:Start . . . . . . . . . . . . . . . . . . . . . 256
A.3 Giao diện chính của Maple 17 . . . . . . . . . . . . . . . . . 256
A.4 Nút công cụ ở chế độ văn bản . . . . . . . . . . . . . . . . . 257
Danh sách hình
17
A.5 Nút cơng cụ ở chế độ đồ thị . . . . . . . . . . . . . . . . . . . 257
A.6 Định dạng input Maple và 2D Math Output . . . . . . . . . 258
A.7 Định dạng trong khi soạn thảo Maple . . . . . . . . . . . . 259
A.8 Chuyển đổi biểu thức 1D Math sang 2D Math Input . . . . 260
A.9 Chuyển đổi biểu thức 2D Math sang 1D Math Input . . . . 260
A.10 Chuyển đổi biểu thức 1D Math sangLATEX . . . . . . . . . . 261
A.11 Chuyển đổi biểu thức 2D Math sang LATEX . . . . . . . . . . 261
C.1 Lệnh vẽ đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . 280
E.1 Lệnh animate . . . . . . . . . . . . . . . . . . . . . . . . . . 305
E.2 Lệnh animate3d . . . . . . . . . . . . . . . . . . . . . . . . . 305
E.3 Lệnh animatecurve . . . . . . . . . . . . . . . . . . . . . . . 305
E.4 Lệnh arrow . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
E.5 Lệnh changecoords . . . . . . . . . . . . . . . . . . . . . . . 306
E.6 Lệnh complexplot . . . . . . . . . . . . . . . . . . . . . . . . 306
E.7 Lệnh complexplot3d . . . . . . . . . . . . . . . . . . . . . . . 307
E.8 Lệnh conformal . . . . . . . . . . . . . . . . . . . . . . . . . 307
E.9 Lệnh conformal3d . . . . . . . . . . . . . . . . . . . . . . . . 307
E.10 Lệnh contourplot . . . . . . . . . . . . . . . . . . . . . . . . 307
E.11 Lệnh contourplot3d . . . . . . . . . . . . . . . . . . . . . . . 308
E.12 Lệnh densityplot . . . . . . . . . . . . . . . . . . . . . . . . . 308
E.13 Lệnh display . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
E.14 Lệnh dualaxisplot . . . . . . . . . . . . . . . . . . . . . . . . 309
E.15 Lệnh fieldplot . . . . . . . . . . . . . . . . . . . . . . . . . . 309
E.16 Lệnh fieldplot3d . . . . . . . . . . . . . . . . . . . . . . . . . 309
E.17 Lệnh gradplot . . . . . . . . . . . . . . . . . . . . . . . . . . 310
E.18 Lệnh gradplot3d . . . . . . . . . . . . . . . . . . . . . . . . . 310
E.19 Lệnh implicitplot . . . . . . . . . . . . . . . . . . . . . . . . 310
E.20 Lệnh implicitplot3d . . . . . . . . . . . . . . . . . . . . . . . 310
E.21 Lệnh inequal . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
E.22 Lệnh intersectplot . . . . . . . . . . . . . . . . . . . . . . . . 311
18
Thực hành tính tốn
E.23 Lệnh listcontplot . . . . . . . . . . . . . . . . . . . . . . . . . 312
E.24 Lệnh listcontplot3d . . . . . . . . . . . . . . . . . . . . . . . 312
E.25 Lệnh listplot . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
E.26 Lệnh listplot3d . . . . . . . . . . . . . . . . . . . . . . . . . . 313
E.27 Lệnh loglogplot . . . . . . . . . . . . . . . . . . . . . . . . . 313
E.28 Lệnh logplot . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
E.29 Lệnh matrixplot . . . . . . . . . . . . . . . . . . . . . . . . . 314
E.30 Lệnh plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
E.31 Lệnh odeplot . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
E.32 Lệnh pareto . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
E.33 Lệnh plotcompare . . . . . . . . . . . . . . . . . . . . . . . . 315
E.34 Lệnh pointplot . . . . . . . . . . . . . . . . . . . . . . . . . . 315
E.35 Lệnh pointplot3d . . . . . . . . . . . . . . . . . . . . . . . . 315
E.36 Lệnh polarplot . . . . . . . . . . . . . . . . . . . . . . . . . . 315
E.37 Lệnh polygonplot . . . . . . . . . . . . . . . . . . . . . . . . 316
E.38 Lệnh polygonplot3d . . . . . . . . . . . . . . . . . . . . . . . 316
E.39 polyhedra_supported . . . . . . . . . . . . . . . . . . . . . . 317
E.40 Lệnh polyhedraplot . . . . . . . . . . . . . . . . . . . . . . . 317
E.41 Lệnh rootlocus . . . . . . . . . . . . . . . . . . . . . . . . . . 317
E.42 Lệnh semilogplot . . . . . . . . . . . . . . . . . . . . . . . . 317
E.43 Lệnh setoptions . . . . . . . . . . . . . . . . . . . . . . . . . 318
E.44 Lệnh setoptions3d . . . . . . . . . . . . . . . . . . . . . . . . 318
E.45 Lệnh spacecurve . . . . . . . . . . . . . . . . . . . . . . . . . 319
E.46 Lệnh sparsematrixplot . . . . . . . . . . . . . . . . . . . . . 319
E.47 Lệnh surfdata . . . . . . . . . . . . . . . . . . . . . . . . . . 319
E.48 Lệnh textplot . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
DANH SÁCH CÁC BẢNG
1.1 Ký hiệu các phép tốn thơng thường trong Maple . . . . . . 22
1.2 Các hàm toán học trong Maple . . . . . . . . . . . . . . . . 25
1.3 Các hàm đặc biệt của toán học trong Maple . . . . . . . . . 26
1.4 Các hằng số toán học của Maple . . . . . . . . . . . . . . . . 28
1.5 Kiểu biểu thức trong Maple . . . . . . . . . . . . . . . . . . 29
1.6 Kiểu biểu thức lôgic trong Maple . . . . . . . . . . . . . . . 30
1.7 Toán tử tập hợp trong Maple . . . . . . . . . . . . . . . . . . 34
2.1 Giá trị tham số tuỳ chọn cho hàm fsolve. . . . . . . . . . . 52
2.2 Các giá trị tuỳ chọn của limit. . . . . . . . . . . . . . . . . . 55
3.1 Các lệnh cơ bản trong đại số sơ cấp . . . . . . . . . . . . . . 67
3.2 Các giá trị tham số <Qui tắc> của simplify . . . . . . . . . 68
3.3 Cách thu gọn biểu thức bằng combine . . . . . . . . . . . . 71
3.4 Các tùy chọn chuyển đổi của hàm convert . . . . . . . . . . 80
4.1 Bảng Wavelength . . . . . . . . . . . . . . . . . . . . . . . . 86
4.2 Những hàm chỉ số trong Maple . . . . . . . . . . . . . . . . 91
4.3 Toán tử cho ma trận và vectơ với hàm evalm . . . . . . . . 93
4.4 Các toán tử cho vectơ và ma trận . . . . . . . . . . . . . . . 96
4.5 Các hàm toán học cho vectơ và ma trận . . . . . . . . . . . 96
4.6 Các toán tử vi phân trên ma trận và vectơ. . . . . . . . . . 99
4.7 Các toán tử dùng để tính tập vectơ cơ sở. . . . . . . . . . . . 100
4.8 Tìm số chiều của ma trận và vectơ. . . . . . . . . . . . . . . 101
4.9 Các toán tử về cấu trúc trên ma trận và vectơ. . . . . . . . 102
5.2 Lưới tọa độ trong các hệ tọa độ trên mặt phẳng . . . . . . . 117
5.3 Đồ thị hàm cos( x + x cos x ) trong các hệ tọa độ . . . . . . . 119
5.4 Các tùy chọn cho hàm plot. . . . . . . . . . . . . . . . . . . 120
5.5 Các tùy chọn khác cho hàm conformal. . . . . . . . . . . . 128
5.6 Những tùy chọn cho plot3d . . . . . . . . . . . . . . . . . . 134
5.7 Khối đa diện đều . . . . . . . . . . . . . . . . . . . . . . . . . 146
19
20
Thực hành tính tốn trong Maple
5.8 Chức năng của nút hoạt hình . . . . . . . . . . . . . . . . . 149
6.1 Một số toán tử trong Maple. . . . . . . . . . . . . . . . . . . 175
7.1 Lệnh dsolve có tuỳ chọn. . . . . . . . . . . . . . . . . . . . . 206
B.1 Các gói lệnh phiên bản cũ được thay thế . . . . . . . . . . . 263
B.2 Các thành phần gói lệnh Student. . . . . . . . . . . . . . . . 264
B.3 Danh sách các gói lệnh của Maple 17. . . . . . . . . . . . . 265
CHƯƠNG
1
CÁC LỆNH TƯƠNG TÁC VỚI MAPLE
1.1. Thực hiện phép toán số học trong Maple . . . . . . . . . . . . . . . .
21
1.2. Biến số. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Các hàm toán học của Maple . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
25
1.4. Các hằng số toán học của Maple . . . . . . . . . . . . . . . . . . . . . . . .
27
1.5. Dấu ngoặc đơn và độ ưu tiên phép toán . . . . . . . . . . . . . . . .
27
1.6. Những thành phần của biểu thức . . . . . . . . . . . . . . . . . . . . . . . .
1.7. Dãy biểu thức . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
32
1.8. Cấu trúc tập hợp và danh sách trong Maple . . . . . . . . . . . . .
34
1.9. Tính tốn số với độ chính xác bất kỳ . . . . . . . . . . . . . . . . . . . . . .
1.10. Định nghĩa hàm đơn giản trong Maple . . . . . . . . . . . . . . . . . .
1.11. Lệnh alias đặt bí danh các hàm và ký hiệu . . . . . . . . . . . . .
1.12. Sửa chữa lỗi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
37
39
39
1.13. Đưa kết quả ra bằng print và lprint . . . . . . . . . . . . . . . . . . . . . .
1.14. Bài tập có lời giải . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.15. Bài tập tự giải . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
43
44
Chương này giới thiệu sử dụng Maple trong chế độ tương tác trực
tiếp giữa người sử dụng và Maple. Cuộc đối thoại giữa người sử dụng
với Maple thông qua lệnh gõ từ bàn phím vào dấu nhắc >_ và kết thúc
lệnh bằng dấu ; cuối cùng nhấn phím [Enter]. Maple sẽ thực hiện
lệnh và trả lời ngay trên dòng tiếp theo. Sau đó Maple cho hiện dấu
nhắc >_ để chờ lệnh mới. Từ chương này chúng ta sẽ tìm hiểu trong
Maple gồm có những thành phần gì? Những phương thức thể hiện
của chúng ta theo ngôn ngữ của Maple ra sao? Maple đưa ra kết quả
thế nào khi chúng ta nhập sai lệnh của Maple?...
1.1. Thực hiện phép toán số học trong Maple
Trước hết, ta có thể sử dụng Maple để làm các phép tính số học
thơng thường (cộng, trừ, nhân, chia) đối với các số nguyên, phân số,
đa thức, các hàm hữu tỷ hoặc một kiểu dữ liệu của Maple trong biểu
thức tốn học ta muốn tính tốn. Ta chỉ việc đánh lệnh tính tốn
dưới dạng một biểu thức tốn học.
22
Chương 1. Các lệnh tương tác với Maple
Ví dụ 1.1. Gõ biểu thức, đánh dấu ; ở cuối biểu thức và ấn phím
[Enter]
>32 + 12;
44
Chú ý 1.1 Đừng quên dấu chấm phẩy ";". Nếu ta quên dấu ";" thì
Maple sẽ đáp lại bằng con trỏ nhấp nháy ở dòng tiếp và chờ nhập
tiếp dữ liệu coi như tiếp tục dòng trên. Khi đó ta có thể đánh lại dấu
";" và ấn phím [Enter] để Maple thực hiện tính tốn.
Chú ý 1.2 Có thể sử dụng trình đơn Edit để biên tập các câu
lệnh, hoàn toàn tương tự như khi sử dụng MS Word về cắt, dán và
sao chép biểu thức.
Bảng 1.1. Ký hiệu các phép tốn thơng thường trong Maple
Phép toán
Cộng
Trừ
Nhân
Chia
Chia lấy dư
Chia lấy nguyên
Mũ
Giá trị tuyệt đối
Giai thừa
Ký hiệu phép
tốn
trong
Maple
+
*
/
iquo(...)
irem(...)
^ hoặc **
abs(...)
!
Ví dụ
Kết
quả
>2 + 2;
>10 - 4;
>3*5*8;
>35/2;
>iquo(17,3);
>irem(10, 7);
>7^2; hoặc >7**2;
>abs(-6);
>4!;
4
6
120
17.5
2
1
49
6
24
Chú ý 1.3 Những người mới sử dụng Maple đôi khi gõ 2␣x, x2,
x␣2 với ý hiểu là 2 nhân x. Tuy nhiên trong biểu thức lệnh phải đánh
2*x hoặc x*2 thì Maple mới hiểu.
Khi ta thực hiện dãy các câu lệnh kế tiếp nhau, chúng ta có thể
tận dụng kết quả của phép tính trước đó bằng ký hiệu % (Xem Ví dụ
1.2). Nếu ta khơng muốn in kết quả ra màn hình ta có thể kết thúc
câu lệnh bằng dấu ":" thay cho dấu ";".
Ta có thể kéo dài biểu thức tính tốn của mình ra nhiều dịng.
Maple sẽ khơng thực hiện bất kỳ một cơng việc tính toán nào cho tới
khi ta đánh dấu ";" tại cuối biểu thức và ấn phím [Enter].
1.2. Biến số
23
Ví dụ 1.2. Tính tốn một vài biểu thức toán học đơn giản.
A. Sử dụng kết quả phép tính trước đó. Chú ý dấu "%" trong biểu
thức
>2 + abs(-2);
4
>(4 + (%+ 6) / 999999-32516);
28
967483
B. Chúng ta sử dụng dấu ":" để tránh việc in ra số quá lớn.
>2*3*4*5*6*7*8*9*10*11*12*13*14*15*16*17*18*19
*20*21*22*23*24:
C. Chúng ta lại sử dụng nó trong việc tính tốn tiếp theo dùng dấu
"%".
>% - 24!;
0
1.2. Biến số
Ta có thể gán kết quả đã tính tốn vào một ký hiệu để sử dụng lại
chúng sau này, như S:=sum (i^3, i=1..100); đó chính là việc gán
giá trị này cho một biến số S trong Maple. Nhưng không giống như
các ngôn ngữ lập trình khác Maple có thể sử dụng những biến này
theo nghĩa ẩn số của toán học. Lệnh gán giá trị vào biến
<Tên biến>:= <Biểu thức>;
Chúng ta dùng ký hiệu <....> viết trong cơng thức có thể thay
đổi được trong lệnh đối với Maple. Biến trong Maple thông thường
được bắt đầu bằng một chữ cái, có thể dài tới 498 ký tự gồm chữ cái,
chữ số hoặc dấu ngạch dưới. Tất nhiên khơng nên tạo ra các biến có
độ dài tối đa, chúng nên được tạo lập sao cho thuận lợi để gõ vào và
dễ nhớ. Những tên biến của Maple có thể được tạo lập bởi một dãy
các ký tự nằm trong dấu nháy đơn. Những tên trong dấu nháy đơn
có thể bao gồm bất kỳ ký tự bàn phím nào (kể cả dấu trắng). Sau đây
là một vài ví dụ về tên biến trong Maple:
Ví dụ 1.3. expr1, x, T, Formula_47
d2DYDX, ‘a funny name?‘, ‘The answer is=‘
‘SessionLog.m‘
24
Chương 1. Các lệnh tương tác với Maple
Chú ý 1.4 Maple phân biệt chữ hoa và chữ thường. Ví dụ xyz và
xyZ là hai biến khác nhau.
Chú ý 1.5 Dấu nháy đơn tạo ra một đường biên giới xung quanh
tên biến nhưng không phải là thành phần của tên biến. Maple suy
xét ‘x‘ để hiểu rằng nó có nghĩa là biến x. Nhưng ‘1‘ khác 1. Ký tự số
không là tên biến và nó khơng thể gán giá trị được. Việc gán các biến
không chứa giá trị nào ta phải ln thực hiện lại lệnh >restart;.
Ví dụ 1.4. Gán giá trị
A. Biến Tong là nhãn của công thức cộng hai biến bien1và bien2
>Tong:= bien1 + bien2;
Tong := bien1 + bien2
B. Chúng ta gán giá trị cho hai biến bien1, bien2
>bien1:=3000;bien2:= 26400;
bien1 := 3000
bien2 := 26400
C. Giá trị của Tong bây giờ là tổng giá trị của bien1 và bien2
>Tong:= bien1 + bien2;
29400
D. Nếu chúng ta thay đổi giá trị của một trong hai biến bien1 hoặc
bien2
>bien1:= 3500;
bien1 := 3500
E. Giá trị của Tong cũng sẽ thay đổi theo.
>Tong:= bien1 + bien2;
29900
F. Tạo ra một tên biến chứa cả dấu trắng
>‘Total energy‘:= tong * 40;
Total energy := 1196000
Maple có một số biến tồn cục cài sẵn để điều khiển các phép
tốn và kết quả tính tốn như order, Digits,... chúng ta có thể thay
đổi giá trị mặc định các biến này và sẽ kiểm nghiệm các biến này ở
phần sau.
1.3. Các hàm toán học của Maple
25
1.3. Các hàm toán học của Maple
Maple có sẵn các hàm tốn học chuẩn, chúng ta chỉ việc sử dụng
khi ta có biến đối số.
Bảng 1.2. Các hàm toán học trong Maple
Hàm
Tên trong Maple
e x (Hàm số mũ)
exp(x)
ln x (Lôgarit tự nhiên)
ln(x) hoặc log(x)
log10 x (Lôgarit cơ số mười)
log10(x)
logb x (Lôgarit cơ số b)
log[b](x)
√
x (căn bậc hai)
sqrt(x)
| x | (giá trị tuyệt đối)
abs(x)
Giá trị lớn nhất, nhỏ nhất
min, max
Làm tròn x thành số nguyên
round(x)
Phần nguyên của x
trunc(x)
Phần thập phân của x
frac(x)
Ước chung lớn nhất
gcd(a,b,...)
Bội chung nhỏ nhất
lcm(a,b,...)
sin, cos, tan
sin(x), cos(x), tan(x)
sec, csc, cot
sec(x), csc(x), cot(x)
1
với Re z ≥ 0
signum(z) = −1 với Re z < 0 signum(z)
z
giá trị khác
|z|
Hàm lượng giác ngược
arcsin(x),arccos(x),
arctan(x),arcsec(x),
arccsc(x), arccot(x)
Hàm hyperbolic
sinh(x),cosh(x),tanh(x),
sech(x),csch(x),coth(x)
Hàm hyperbolic ngược
arcsinh(x),arccosh(x),
arctanh(x),arcsech(x),
arccsch(x), arccoth(x)
Giai thừa n!
n!
n Hệ số của nhị thức Newton
Cm
binomial(n, m)
Tính a modul b
a mod b hoặc mod(a, b)
UCLN của a và b mod p
Gcd(a, b) mod p
Hàm Bernoulli bậc n
bernoulli(n)
Hàm Euler bậc n
euler(n)
Hàm Gamma
GAMMA