Tải bản đầy đủ (.pdf) (33 trang)

Giáo trình tự học maple

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (578.73 KB, 33 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC HUẾ
HUỲNH THẾ PHÙNG
HƯỚNG DẪN
SỬ DỤNG MAPLE
Huế - 2010
1
Mục lục
1. Giới thiệu phần mềm Maple. . . . . . . . . . . . . . . . . . . . . . . . 2
2. Các thao tác trên tập hợp. . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Định nghĩa tập hợp. . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Các phép toán trên tập hợp. . . . . . . . . . . . . . . . . . . . 3
2.3. Kiểm tra các quan hệ trên tập hợp. . . . . . . . . . . . . . . . 4
3. Giải (hệ) phương trình, (hệ) bất phương trình. . . . . . . . . . . . . . 4
3.1. Giải phương trình, bất phương trình. . . . . . . . . . . . . . . 4
3.2. Giải hệ phương trình, hệ bất phương trình. . . . . . . . . . . . 5
4. Dãy số và chuỗi số. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.1. Tính giới hạn của dãy số. . . . . . . . . . . . . . . . . . . . . 6
4.2. Tính tổng hữu hạn hoặc vô hạn. . . . . . . . . . . . . . . . . . 6
5. Vec-tơ và ma trận. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.1. Khai báo vec-tơ. . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.2. Khai báo ma trận. . . . . . . . . . . . . . . . . . . . . . . . . 7
5.3. So sánh hai vec-tơ hoặc hai ma trận. . . . . . . . . . . . . . . 8
5.4. Tính chuẩn của vec-tơ. . . . . . . . . . . . . . . . . . . . . . . 8
5.5. Khoảng cách giữa hai điểm. . . . . . . . . . . . . . . . . . . . 8
5.6. Tích hai vec-tơ. . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.7. Tổng, hiệu hai hoặc nhiều ma trận cùng cỡ. . . . . . . . . . . 9
5.8. Nhân hai hoặc nhiều ma trận có cỡ phù hợp. . . . . . . . . . . 9
5.9. Tích trong của ma trận và vec-tơ. . . . . . . . . . . . . . . . . 9
5.10. Tính định thức ma trận. . . . . . . . . . . . . . . . . . . . . . 9
6. Hàm một biến số, giới hạn và đồ thị. . . . . . . . . . . . . . . . . . . 9


6.1. Định nghĩa hàm một biến số. . . . . . . . . . . . . . . . . . . 9
6.2. Vẽ đồ thị của hàm số trên hệ toạ độ Oxy. . . . . . . . . . . . 10
6.3. Tính giới hạn của hàm một biến số. . . . . . . . . . . . . . . . 13
7. Hàm nhiều biến số, giới hạn và đồ thị. . . . . . . . . . . . . . . . . . 13
7.1. Định nghĩa hàm nhiều biến số. . . . . . . . . . . . . . . . . . . 13
7.2. Vẽ đồ thị của hàm nhiều biến. . . . . . . . . . . . . . . . . . . 14
7.3. Vẽ các đường mức của một hàm hai biến. . . . . . . . . . . . . 15
7.4. Tính giới hạn của hàm nhiều biến. . . . . . . . . . . . . . . . 15
8. Phép tính vi phân. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
8.1. Tính đạo hàm của một hàm số. . . . . . . . . . . . . . . . . . 16
8.2. Gradient, Hessian của hàm nhiều biến. . . . . . . . . . . . . . 17
8.3. Khai triển Taylor. . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.4. Tính giới hạn các dạng vô định. . . . . . . . . . . . . . . . . . 18
9. Tổng quát về vẽ đường và mặt. . . . . . . . . . . . . . . . . . . . . . 18
9.1. Vẽ đường cong trong mặt phẳng. . . . . . . . . . . . . . . . . 19
9.2. Vẽ mặt cong trong không gian. . . . . . . . . . . . . . . . . . 20
9.3. Vận động đồ thị. . . . . . . . . . . . . . . . . . . . . . . . . . 21
10. Phép tính tích phân. . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
10.1. Tích phân hàm một biến. . . . . . . . . . . . . . . . . . . . . 22
10.2. Ứng dụng tích phân xác định. . . . . . . . . . . . . . . . . . . 24
10.3. Tích phân bội trên hộp. . . . . . . . . . . . . . . . . . . . . . 25
10.4. Tích phân lặp. . . . . . . . . . . . . . . . . . . . . . . . . . . 26
11. Phương trình vi phân và Phương trình đạo hàm riêng. . . . . . . . . 27
11.1. Giải phương trình vi phân thường. . . . . . . . . . . . . . . . 27
11.2. Giải hệ phương trình vi phân thường. . . . . . . . . . . . . . . 28
11.3. Vẽ đồ thị nghiệm của hệ phương trình vi phân. . . . . . . . . 29
11.4. Giải phương trình đạo hàm riêng. . . . . . . . . . . . . . . . . 30
Tài liệu tham khảo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1. Giới thiệu phần mềm Maple.
Maple là một trong các phần mềm tính toán phong phú, hỗ trợ cho 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ố tuyến tính, đại số hình thức,
phương trình vi phân, phương trình toán lý, Maple tạo ra một môi trường làm việc
hoàn toàn thoải mái, giúp cho người dùng có thể thực hiện các tính toán trực tiếp
đơn giản hoặc viết các đoạn chương trình tính toán phức tạp. Vì đây không phải là
một cuốn sách chuyên khảo về Maple nên chúng tôi không có tham vọng giới thiệu
quá sâu mà chỉ muốn cho sinh viên làm quen với phần mềm, đủ để giải quyết tốt
những bài toán có liên quan trong phạm vi giáo trình. Sử dụng phần mềm này, sinh
viên không những giải được những bài toán phức tạp mà nếu tính toán bằng tay
3
phải mất hằng tháng trời (hoặc không tính nổi) mà còn giúp sinh viên nhìn thấy
được bản chất của nhiều vấn đề một cách nhanh chóng và sinh động. Thật ra, đây
không phải là phần mềm tính toán duy nhất. Tuy nhiên, nếu biết sử dụng Maple
một cách thành thạo, sinh viên dễ dàng tiếp cận với các chương trình tính toán phổ
biến khác hiện nay như Mathematica, Matlab,
Ta luôn bắt đầu tính toán với việc đưa vào một cụm xử lý (bằng cách nhấn chuột
vào nút có biểu tượng [> hoặc vào chức năng Insert/Execution Group/After
Cusor có sẵn trên thanh lệnh của giao diện) Một dấu nhắc lệnh [> sẽ hiện ra, chờ
đợi ta đưa lệnh vào thực hiện.
Một số điều cần chú ý là: Câu lệnh được viết ra phải tuân thủ nghiêm ngặt là
chữ hoa hay chữ thường, tất cả câu lệnh đều viết bằng tiếng Anh (nhưng không khó
để học thuộc, vì số lượng không nhiều). Kết thúc mỗi câu lệnh đều có dấu ";" hoặc
":" và sau đó nhấn phím Enter. Nếu sử dụng dấu ";" thì kết quả tính toán sẽ hiển
thị ngay dòng dưới, còn nếu sử dụng dấu ":" thì kết quả sẽ không hiện ra.
2. Các thao tác trên tập hợp.
2.1. Định nghĩa tập hợp.
Cú pháp: [> (Tên tập hợp):= {(danh sách các phần tử của tập hợp)};
Ví dụ:
[> A:={1, 2, 3, 4, 15}:
[> B:={a, b, x, y, z};
B := {a, b, x, y, z}

2.2. Các phép toán trên tập hợp.
Ta đã biết 3 phép toán trên tập hợp là ∪ (ký hiệu union), ∩(ký hiệu intersect)
và \ (ký hiệu minus).
Cú pháp: [> (Tập hợp 1) (phép toán) (Tập hợp 2);
Ví dụ:
[> {2, 6, 1, 3 } union {2, 3, 7, 18};
{1, 2, 3, 6, 7, 18}
[> M:={1, 3, 5}:
[> N:={5, 1, 2, 6}:
4
[> P:=M minus N;
P := {3}
2.3. Kiểm tra các quan hệ trên tập hợp.
Ta có 3 phép kiểm tra là ∈ (kí hiệu member), ⊂ (kí hiệu verify(subset)) và
⊃ (kí hiệu verify(superset)). Kết quả ta được true hoặc false.
Cú pháp: [> member(phần tử, tập hợp);
[> verify(Tập hợp 1, Tập hợp 2, ’subset’/’superset’);
Ví dụ:
[> member(3, {1, 3, 5});
true
[> verify({1, 3, 5}, {2, 3, 5}, ’subset’);
false
[> verify({1, 3, 5, 6}, {3, 5}, ’superset’);
true
3. Giải (hệ) phương trình, (hệ) bất phương trình.
3.1. Giải phương trình, bất phương trình.
Cú pháp: [> solve(phương trình/bất phương trình, {biến});
Ví dụ:
[> solve(x*x - 1 = 0, {x});
{x = 1}, {x = −1}

[> ptb3:=u∧3 - 1 = 0:
[> solve(ptb3, {u});
{u = 1}, {u = −
1
2
+
1
2
I

3}, {u = −
1
2

1
2
I

3}
5
[> solve(x*x - 3*x + 2 < 0, {x});
{1 < x, x < 2}
[> bpt:=x*x - 3*x + 2 >= 0;
bpt := 0 ≤ x
2
− 3x + 2
[> solve(bpt, {x});
{x ≤ 1}, {2 ≤ x}
3.2. Giải hệ phương trình, hệ bất phương trình.
Cú pháp: [> solve({danh sách phương trình/bất phương trình}, {ds biến});

Ví dụ:
[> p1:=sqrt(x) + sqrt(2-y)=sqrt(2);
p1 :=

x +

2 − y =

2
[> p2:=sqrt(2-x) + sqrt(y)=sqrt(2);
p2 :=

2 − x +

y =

2
[> solve({p1, p2}, {x, y});
{x = 0, y = 0}, {x = 2, y = 2}
[> q1:=sqrt(4*u-7) < u;
q1 :=

4u − 7 < u
[> q2:=sqrt(u+5) + sqrt(5-u)>4;
q2 := 4 <

u + 5 +

5 − u
[> solve({q1, q2}, {u});

{
7
4
≤ u, u < 4}
6
4. Dãy số và chuỗi số.
4.1. Tính giới hạn của dãy số.
Cú pháp: [> limit(x[n], n=infinity);
Ví dụ:
[> limit ((n+1)/n, n=infinity);
1
Chú ý rằng nếu viết Limit thì chỉ hiện ra công thức hình thức của giới hạn đó. Nếu
muốn tính giới hạn này bằng bao nhiêu ta dùng lệnh value(%). Chẳng hạn:
[> Limit ((n*n+1)/(3-2*n*n), n=infinity);
lim
n→∞
n
2
+ 1
3 − 2n
2
[> value(%);
−2
Ta cũng có thể định nghĩa dãy trước khi gọi thực hiện giới hạn. Ví dụ:
[> y[n]:= (3*n*n-5)/(4*n+5*n*n);
y[n] :=
3n
2
− 5
4n + 5n

2
[> limit(y[n], n=infinity);
3
5
4.2. Tính tổng hữu hạn hoặc vô hạn.
Cú pháp: [> sum(x[n], n=n1 n2); (nếu dùng Sum thì cho ra công thức hình thức)
trong đó, n1 là chỉ số đầu và n2 là chỉ số cuối của tổng cần tính.
Ví dụ:
[> sum(1/(n*(n+1)), n=2 10);
9
22
[> Sum(1/(n*n), n=1 infinity);


n=1
1
n
2
7
[> value(%);
1
6
π
2
5. Vec-tơ và ma trận.
Để thực hiện các thao tác trên vec-tơ và ma trận trước tiên cần khởi động gói
công cụ của đại số tuyến tính linalg bằng lệnh
[> with(linalg);
5.1. Khai báo vec-tơ.
Cú pháp: [> (tên vec-tơ):= [(liệt kê các thành phần của vec-tơ)];

Ví dụ:
[> u:=[1, 2, x∧2];
u := [1, 2, x
2
]
Thật ra, để định nghĩa vec-tơ u như trên ta còn có các cách khai báo khác.
Chẳng hạn:
u:=vector[1, 2, x∧2];
u:=array(1 3, [1, 2, x∧2]);
u:=matrix(1,3, [1, 2, x∧2]);
Tuy nhiên, cách dùng chúng vẫn khác nhau. Mặt khác nếu viết
u:=matrix(3,1, [1, 2, x∧2]); ta được
u :=


1
2
x
2


5.2. Khai báo ma trận.
Cú pháp: [> (tên ma trận):= matrix(m, n, [ liệt kê các thành phần của ma trận]);
Ví dụ:
[> A:=matrix(3, 2, [1, 2, 1, a, x+1, 4]);
A :=


1 2
1 a

x + 1 4


8
5.3. So sánh hai vec-tơ hoặc hai ma trận.
Cú pháp: [> equal(biến 1, biến 2);
Kết quả cho ra true hoặc false.
5.4. Tính chuẩn của vec-tơ.
Cú pháp: [> norm( tên vec-tơ, loại chuẩn); (có ba loại chuẩn là 1, 2, infinity)
Ví dụ:
[> u:=[1, 2, 3]:
[> norm(u, infinity);
3
5.5. Khoảng cách giữa hai điểm.
Điểm được xem như vec-tơ, nên khoảng cách giữa hai điểm cũng là khoảng cách
giữa hai vec-tơ. Ở đây, khoảng cách được tính theo chuẩn Euclide. Trước tiên cần
khởi động gói student:
[> with(student);
Cú pháp: [> distance(vec-tơ 1, vec-tơ 2);
5.6. Tích hai vec-tơ.
Tích vô hướng.
Cú pháp: [> dotprod(vec-tơ 1, vec-tơ 2);/ [> innerprod(vec-tơ 1, vec-tơ 2);
Tích hữu hướng.
Cú pháp: [> crossprod(vec-tơ 1, vec-tơ 2);
Ví dụ:
[> u:=[1, 2, 3]:
[> v:=[2, 0, 1]:
[> dotprod(u,v);
5
[> crossprod(u,v);

[2, 5, −4]
9
5.7. Tổng, hiệu hai hoặc nhiều ma trận cùng cỡ.
Cú pháp: [> evalm(A ± B ± C );
5.8. Nhân hai hoặc nhiều ma trận có cỡ phù hợp.
Cú pháp: [> multiply(A, B, C );
5.9. Tích trong của ma trận và vec-tơ.
Cho u ∈ R
m
, A ∈ R
m×n
, v ∈ R
n
.
Cú pháp: [> innerprod(u, A, v); (sẽ cho ra số thực bằng u
T
Av.)
5.10. Tính định thức ma trận.
Cú pháp: [> det(A);
6. Hàm một biến số, giới hạn và đồ thị.
6.1. Định nghĩa hàm một biến số.
Cú pháp: [> f:=x− > (biểu thức hàm theo x);
Sau đó, muốn tính giá trị hàm tại một điểm x
0
ta chỉ cần viết f (x
0
). Ta có thể dùng
một biến khác thay cho x và tên hàm khác thay cho f. Biểu thức hàm ở đây có thể
một biểu thức đơn giản nhưng cũng có thể là một biểu thức phức tạp như giới hạn,
tổng

Ví dụ:
[> f:= x− > x∧2 - x +1;
f := x → x
2
− x + 1
[> f(2);
3
[> g:= u− > limit(n*u∧2/(u*(2*n+5)+3), n= infinity);
g := u → lim
n→∞
nu
2
u(2n + 5) + 3
[> g(3);
3
2
10
6.2. Vẽ đồ thị của hàm số trên hệ toạ độ O xy.
Muốn vẽ đồ thị hàm số trước tiên ta phải khởi động gói chuyên dụng plots
bằng lệnh
[> with(plots);
sau đó, mới thực hiện các lệnh vẽ đồ thị.
Vẽ đồ thị hàm y = f(x).
Cú pháp: [> plot(f(x), x=a b, y=c d);
Lúc đó, đồ thị hàm y = f(x) được vẽ trong phạm vi hình chữ nhật [a, b] ×[c, d].
Nếu không khai báo các phạm vi thì máy sẽ tự vẽ theo một toạ độ thích hợp.
Ví dụ:
[> f:= x − > x*sin(1/x);
f := x → x sin


1
x

[> plot(f(x), x=-1 1, y=-0.5 1); Kết quả xem ở Hình 1.
–0.4
–0.2
0.2
0.4
0.6
0.8
1
y
–1 –0.8 –0.6 –0.4 –0.2 0.2 0.4 0.6 0.8 1
x
Hình 1: Đồ thị hàm số x sin
1
x
Vẽ đồ thị đường cong ẩn dạng F (x, y) = 0.
Cú pháp: [> implicitplot(F(x,y)=0,x=a b, y=c d);
với [a, b] × [c, d] là phạm vi cần vẽ.
Ví dụ: Để vẽ Êlip
x
2
4
+
y
2
9
= 1 trong hình chữ nhật [−2, 2] × [−3, 3], ta viết
[> implicitplot(x∧2/4 + y∧2/9 -1 =0, x=-2 2, y=-3 3);

11
–3
–2
–1
1
2
3
y
–2 –1 1 2
x
Hình 2: Đồ thị Ellipse
x
2
4
+
y
2
9
= 1
Vẽ nhiều đồ thị trên cùng một hệ truc toạ độ.
Cú pháp: [> plot([f
1
(x), , f
m
(x)], x=a b, y=c d, color=[c
1
, , c
m
]});
Lúc đó, đồ thị các hàm f

i
(x), 1 ≤ i ≤ m, được vẽ tương ứng với các màu c
i
,
1 ≤ i ≤ m trên cùng một hệ trục toạ độ. Việc vẽ nhiều đồ thị trên cùng một hệ trục
toạ độ cho chúng ta một công cụ rất mạnh để đánh giá việc xấp xỉ một hàm bởi các
hàm đa thức. Chẳng hạn để biết hàm e
x
được xấp xỉ tốt như thế nào bởi hàm
g(x) =

1 +
x
9

9
ta dùng lệnh
[> g:=x − > (1+x/9)∧9;
g := x →

1 +
x
9

9
[> plot([exp(x), g(x)], x=-2 2, color=[red, blue]); (Hình 3)
1
2
3
4

5
6
7
–4 –3 –2 –1 1 2
x
Hình 3: Xấp xỉ hàm e
x
bởi hàm (1 +
x
9
)
9
12
Vẽ đồ thị hàm từng khúc.
Đó là hàm được xác định trên từng khoảng với các công thức khác nhau. Để
khai báo một hàm như thế ta dùng cú pháp sau
[> f:= piecewise(đk
1
, f
1
(x), đk
2
, f
2
(x), , đk
k
, f
k
(x), f
k+1

(x));
Điều đó có nghĩa là
f(x) :=















f
1
(x), nếu điều kiện đk
1
đúng,
f
2
(x), nếu điều kiện đk
2
đúng và đk
1
sai,

.
.
.
f
k
(x), nếu điều kiện đk
k
đúng và tất cả các điều kiện trước sai,
f
k+1
(x), nếu không có điều kiện nào đúng.
Ví dụ:
[> f(x):= piecewise(x<-1, 1, x<1, -x∧2, 2*x+1);
f(x) :=





1 x < −1
−x
2
x < 1
2x + 1 otherwise
[> plot(f(x), x=-2 2, color=blue); Xem Hình 4.
–1
0
1
2
3

4
5
–2 –1 1 2
x
Hình 4: Đồ thị hàm từng khúc
Trong ví dụ trên ta thấy, mặc dù hàm gián đoạn tại −1 và 1, đồ thị vẫn được
vẽ liên tục. Đó là vì Maple tự động nối các điểm gián đoạn lại thành đường liền nét.
Muốn thấy rõ các điểm gián đoạn ta đưa vào tham số discont=true. Cụ thể, với
lệnh như sau, ta có kết quả được cho trong Hình 5.
[> plot(f(x), x=-2 2, color=blue, discont=true);
13
–1
1
2
3
4
5
–2 –1 1 2
x
Hình 5: Đồ thị hàm từng khúc gián đoạn thực sự
6.3. Tính giới hạn của hàm một biến số.
Cú pháp: [> limit(f(x), x=a); (dùng Limit thì chỉ cho công thức hình thức)
Ví dụ:
[> Limit(sin(x)/x, x=0);
lim
x→0
sin(x)
x
[> value(%);
1

[> limit((1+1/x)∧x, x=infinity);
e
7. Hàm nhiều biến số, giới hạn và đồ thị.
7.1. Định nghĩa hàm nhiều biến số.
Để đơn giản ta chỉ xét hàm hai biến.
Cú pháp: [> f:=(x, y)− > (biểu thức hàm theo x, y);
Ví dụ:
[> f:= (x, y)− > 3*x∧2*sin(x*y);
f := (x, y) → 3x
2
sin(xy)
14
7.2. Vẽ đồ thị của hàm nhiều biến.
Muốn vẽ đồ thị hàm nhiều biến ta phải khởi động hai gói lệnh plots và
plottools:
[> with(plots);
[> with(plottools);
Vẽ đồ thị hàm z = f(x, y).
Cú pháp: [> plot3d(f(x,y), x=a b, y=c d);
Lúc đó, đồ thị là một mặt trong không gian Oxyz với miền xác định là hình
chữ nhật [a, b] × [c, d].
Ví dụ:
[> f:= (x, y) − > x∧2 + y∧2:
[> with(plots):
[> with(plottools):
[> plot3d(f(x,y), x=-3 3, y=-2 2);
Hình 6: Đồ thị hàm z = x
2
+ y
2

Nếu vẽ nhiều mặt trên cùng một không gian toạ độ thì ta viết
Cú pháp: [> plot3d({f(x,y), g(x,y), }, x=a b, y=c d);
Vẽ mặt được cho dưới dạng tham số.
Giả sử mặt S được cho bởi hệ





x = x(u, v),
y = y(u, v),
z = z(u, v),
(u, v) ∈ [a, b] × [c, d].
15
Để vẽ mặt S ta dùng lệnh (chú ý đừng nhầm lẫn với lệnh vẽ nhiều mặt cùng lúc)
Cú pháp: [> plot3d([x(u,v), y(u,v), z(u,v)], u=a b, v=c d);
Vẽ mặt được cho bởi phương trình ẩn dạng F (x, y, z) = 0.
Cú pháp: [> implicitplot3d(F(x,y,z)=0,x=a b, y=c d, z=e f);
Ví dụ: Để vẽ mặt
x
2
4
+
y
2
9
−z
2
= 1 trong hình hộp [−5, 5] ×[−6, 6] ×[−1 1], ta viết
[> implicitplot3d(x∧2/4+y∧2/9- z∧2-1 =0, x=-5 5, y=-6 6, z=-1 1);

Hình 7: Đồ thị hàm ẩn x
2
/4 + y
2
/9 − z
2
− 1 = 0
7.3. Vẽ các đường mức của một hàm hai biến.
Cú pháp: [> contourplot(f(x,y), x=a b, y=c d);
Lúc đó, máy sẽ vẽ trên mặt phẳng Oxy các đường cong dạng f(x, y) = α, với các α
khác nhau.
7.4. Tính giới hạn của hàm nhiều biến.
Chẳng hạn, ta xét hàm hai biến.
Cú pháp: [> limit(f(x, y), {x=a, y=b}); (Limit sẽ cho công thức hình thức)
Chú ý rằng nếu viết limit(limit(f(x,y),x=a),y=b) thì ý nghĩa sẽ khác.
16
8. Phép tính vi phân.
8.1. Tính đạo hàm của một hàm số.
Việc tính đạo hàm của hàm một biến hoặc đạo hàm riêng của hàm nhiều biến
được thực hiện tương tự nhau.
Tính đạo hàm cấp một (theo biến x).
Cú pháp: [> diff(hàm số, x); (dùng Diff thì cho công thức hình thức)
Ví dụ:
[> diff(sqrt(1+x∧2), x);
x

1 + x
2
Nhiều lúc máy cho ta một biểu thức đạo hàm khá cồng kềnh. Lúc đó, muốn đơn
giản biểu thức ta dùng lệnh simplify có cú pháp

[> simplify(biểu thức);
Ví dụ:
[> f:=x− > cos(x)∧2/sin(2*x);
f := x →
cos(x)
2
sin(2x)
[> Diff(f(x), x);

∂x
cos(x)
2
sin(2x)
[> Df:=value(%);
Df := −2
cos(x) sin(x)
sin(2x)
− 2
cos(x)
2
cos(2x)
sin(2x)
2
[> simplify(%);
2
cos(x)
2
−1 + cos(2x)
2
Việc tính đạo hàm riêng của hàm nhiều biến cũng sử dụng câu lệnh trên.

Ví dụ:
[> f:=(x,y)− >x*sin(x*y):
[> diff(f(x,y), y);
x
2
cos(xy)
17
Tính đạo hàm cấp cao.
Cú pháp: [> diff(f(x,y), x$k, y$m);
Ví dụ: (với hàm f như trên)
[> diff(f(x, y ),x$2, y$3);
8x
3
sin(xy)y − 12x
2
cos(xy) + x
4
cos(xy)y
2
8.2. Gradient, Hessian của hàm nhiều biến.
Chẳng hạn, ta xét hàm 3 biến:
Tính gradient.
Cú pháp: [> grad(f(x,y,z), [x,y,z]);
Tính Hessian.
Cú pháp: [> hessian(f(x,y,z), [x,y,z]);
Ví dụ: (với f ở trên)
[> grad(f(x,y), [x,y]);
[sin(xy) + x cos(xy)y, x
2
cos(xy)]

[> hessian(f(x,y), [x,y]);

2 cos(xy)y − x sin(xy)y
2
2 cos(xy)x − x
2
sin(xy)y
2 cos(xy)x − x
2
sin(xy)y −x
3
sin(xy)

8.3. Khai triển Taylor.
Khai triển Taylor hàm f(x) tại x = a đến cấp n.
Cú pháp: [> taylor(f(x), x=a, n); (nếu a = 0 thì viết x thay cho x=0)
Ví dụ:
[> taylor(exp(x), x, 7);
1 + x +
1
2
x
2
+
1
6
x
3
+
1

24
x
4
+
1
120
x
5
+
1
720
x
6
+ O(x
7
)
[> taylor(x*cos(x), x=Pi, 5);
−π − (x −π) +
1
2
π(x − π)
2
+
1
2
(x − π)
3

1
24

π(x − π)
4
+ O((x − π)
5
)
18
Khai triển Taylor hàm f(x, y) tại x = a, y = b đến cấp n.
Cú pháp: [> mtaylor(f(x,y), [x=a, y=b], n);
Ví dụ:
[> mtaylor(sin(x∧2 + y∧2), [x, y ], 8);
x
2
+ y
2

1
6
x
6

1
2
y
2
x
4

1
2
x

2
y
4

1
6
y
6
8.4. Tính giới hạn các dạng vô định.
Để tính giới hạn các dạng vô định chúng ta vẫn dùng lệnh tính giới hạn như
các hàm thông thường, bởi vì máy đã biết dùng Công thức L’hospital trong tính
toán. Tuy vậy, cũng có lúc chúng ta cũng phải hỗ trợ bằng những bước thích hợp.
Ví dụ:
[> limit((six(x)-x)/(x*(1-cos(x))), x=0);

1
3
[> limit((x*exp(2*x)-5*tan(x))/(tan(x)∧2+x∧3), x=0);
undefined
Như vậy, máy đã không tính nổi giới hạn này. Chúng ta có thể giúp máy bằng
cách cho lần lượt tính đạo hàm cấp một, rồi cấp hai, cấp ba đồng thời cả tử và
mẫu và tính giới hạn của thương cho đến khi máy tính được. Trong ví dụ trên, khi
tính đến đạo hàm cấp hai thì ta có kết quả
[> f:=value(diff(x*exp(2*x)-5*tan(x),x$2);
f := 4e
(2x)
+ 4xe
(2x)
− 10 tan(x)(1 + tan(x)
2

)
[> g:=value(diff(tan(x)∧2+x∧3,x$2);
g := 2(1 + tan(x)
2
)
2
+ 4 tan(x)
2
(1 + tan(x)
2
) + 6x
[> limit(f/g, x=0);
2
9. Tổng quát về vẽ đường và mặt.
Trong mục này ta sẽ nghiên cứu cách vẽ các đường cong và mặt cong trong mặt
phẳng và trong không gian, bao gồm cả các trường hợp đã xét trong các mục 6 và
7. Để thực hiện các lệnh trong mục này, nói chung, ta cần khởi động các gói công
cụ plots, plottools.
19
9.1. Vẽ đường cong trong mặt phẳng.
Dùng toạ độ Đê-các.
Trong toạ độ Đê-các, một đường cong phẳng (C) thường được biểu diễn như là
đồ thị của hàm một biến f nào đó:
(C) : y = f(x), x ∈ [a, b ],
hoặc được biểu diễn dưới dạng tham số:
(C) :

x = x(t),
y = y(t),
t ∈ [a, b],

hoặc dưới dạng một phương trình ẩn
(C) : F (x, y) = 0.
Để vẽ đường cong trong trường hợp thứ nhất ta dùng lệnh
[> plot(f(x), x=a b);
trong trường hợp thứ hai ta dùng lệnh
[> plot([x(t), y(t), t=a b]);
và trong trường hợp thứ ba:
[> implicitplot(F(x,y)=0, x=a b, y=c d);
Dùng toạ độ cực.
Trong toạ độ cực, một đường cong phẳng thường có hai cách biểu diễn
(C) : r = f(φ); φ ∈ [a, b]
hoặc
(C) :

r = r(t),
φ = φ(t),
t ∈ [a, b].
Để vẽ đường cong trong trường hợp thứ nhất ta dùng lệnh
[> polarplot(f(phi), phi=a b);
và trong trường hợp thứ hai ta dùng lệnh
[> polarplot([r(t), phi(t), t=a b]);
20
9.2. Vẽ mặt cong trong không gian.
Dùng toạ độ Đê-các.
Trong toạ độ Đê-các, một mặt cong phẳng (S) cũng thường được biểu diễn như
là đồ thị của hàm hai biến f nào đó:
(S) : z = f(x, y), (x, y) ∈ [a, b] × [c, d],
hoặc được biểu diễn dưới dạng tham số:
(S) :






x = x(s, t),
y = y(s, t),
z = z(s, t),
(s, t) ∈ [a, b] × [c, d],
hoặc bởi một phương trình ẩn:
(S) : F (x, y, z) = 0.
Để vẽ mặt cong trong trường hợp thứ nhất ta dùng lệnh
[> plot3d(f(x,y), x=a b, y=c d);
trong trường hợp thứ hai ta dùng lệnh
[> plot3d([x(s,t), y(s,t), z(s,t)], s=a b, t=c d);
và trong trường hợp thứ ba ta dùng lệnh
[> implicitplot3d(F(x,y,z)=0, x=a b, y=c d, z=e f);
Dùng toạ độ trụ.
Trong toạ độ trụ, một mặt cong phẳng (S) thường được biểu diễn bởi một
trong hai cách:
(S) : r = f(φ, z), (φ, z) ∈ [a, b] × [c, d],
hoặc
(S) :





r = r(s, t),
φ = φ(s, t),
z = z(s, t),

(s, t) ∈ [a, b] × [c, d].
Để vẽ mặt cong trong trường hợp thứ nhất ta dùng lệnh
[> cylinderplot(f(phi, z), phi=a b, z=c d);
và trong trường hợp thứ hai ta dùng lệnh
[> cylinderplot([r(s,t), phi(s,t), z(s,t)], s=a b, t=c d);
21
Dùng toạ độ cầu.
Trong toạ độ cầu, một mặt cong phẳng (S) thường được biểu diễn bởi một
trong hai cách:
(S) : ρ = f(φ, θ), (φ, θ) ∈ [a, b] ×[c, d],
hoặc
(S) :





ρ = ρ(s, t),
φ = φ(s, t),
θ = θ(s, t),
(s, t) ∈ [a, b] × [c, d].
Để vẽ mặt cong trong trường hợp thứ nhất ta dùng lệnh
[> sphereplot(f(phi, theta), phi=a b, theta=c d);
và trong trường hợp thứ hai ta dùng lệnh
[> sphereplot([rho(s,t), phi(s,t), theta(s,t)], s=a b, t=c d);
Hình 8: Mặt cầu đơn vị
Ví dụ: Để vẽ mặt cầu đơn vị ta có thể dùng một trong các lệnh sau (Hình 8).
[> plot3d([sin(s)*cos(t),sin(s)*sin(t),cos(s)],s=0 Pi,t=0 2*Pi);
[> cylinderplot(sqrt(1-z∧2), phi=0 2*Pi, z=-1 1);
[> cylinderplot([sin(s), phi, cos(s)], phi=0 2*Pi, s=0 Pi);

[> sphereplot(1, phi=0 2*Pi, theta=0 Pi);
9.3. Vận động đồ thị.
Vận động đồ thị là sự biến thiên của đồ thị theo tham số. Điều đó có nghĩa
là ta cho một họ đường cong (C
t
) hay mặt cong (S
t
) phụ thuộc vào một tham số
t. Sau đó vẽ tất cả các đường/mặt này ứng với các giá trị t khác nhau. Họ đường
22
cong, mặt cong có thể biểu diễn dưới các dạng khác nhau và theo các hệ toạ độ khác
nhau. Ở đây, chúng ta chỉ xét họ được viết dưới dạng đơn giản:
(C
t
) : y = f(x, t), x ∈ [a, b ], t ∈ [t1, t2]
(S
t
) : z = f(x, y, t), (x, y) ∈ [a, b] × [c, d], t ∈ [t1, t2] .
Để vận động họ (C
t
) ta dùng lệnh
[> animate(f(x, t), x=a b, t=t1 t2);
và vận động họ (S
t
) bằng lệnh
[> animate3d(f(x, y, t), x=a b, y=c d, t=t1 t2);
Chú ý là khi thực hiện lệnh này ta thấy đồ thị chưa vận động bởi vì máy chỉ vẽ
một đường/mặt ứng với một tham số cụ thể nào đó. Nếu đưa con trỏ chuột vào vùng
đồ thị và kích trái chuột thì một bảng lệnh điêù hành sẽ hiện ra ngay dưới thanh
công cụ, gồm các ký hiệu play (), continuous (), stop () quen thuộc. Nếu

bạn muốn đồ thị vận động liên tục theo các tham số thì nhấn continuous/play,
sau đó muốn dừng thì nhấn stop.
10. Phép tính tích phân.
10.1. Tích phân hàm một biến.
Xấp xỉ diện tích hình thang cong.
Trước tiên chúng ta trở lại khảo sát việc xấp xỉ diện tích hình thang cong bởi
tổng diện tích của các hình chữ nhật. Ta đã biết, nếu f khả tích (và đặc biệt là
liên tục) thì các phân hoạch đều vẫn cho những xấp xỉ tốt. Maple cho phép chúng
ta dùng một trong ba lệnh rightbox/leftbox/middlebox để minh hoạ việc xấp xỉ
đều một hàm f trên đoạn [a, b]. Cụ thể,
Cú pháp: [> rightbox(f(x), x=a b, n, ’shading’=m1, color=m2); (tương tự,
leftbox, middlebox)
Lệnh này minh hoạ việc xấp hình thang cong giới hạn bởi các đường y = f(x),
y = 0, x = a và x = b bằng một xấp xỉ đều gồm n hình chữ nhật có đáy bằng
nhau (= (b −a)/n) và chiều cao của mỗi hình bằng giá trị hàm f tại mút phải của
mỗi đoạn (đối với leftbox là mút trái và middlebox là điểm giữa). m1 là màu tô
các hình chữ nhật còn m2 là màu vẽ đường cong (điều này chỉ được thấy trên màn
hình, trong giáo trình này chỉ thấy màu đen). Mặc định n = 4. Chú ý rằng, trước
khi thực hiện lệnh này cần khởi động gói lệnh student.
Ví dụ:
[> with(student);
23
–1.5
–1
–0.5
0.5
1
–1
–0.8 –0.6 –0.4 –0.2 0.2 0.4 0.6 0.8
1

x
Hình 9: Xấp xỉ tích phân xác định bởi 4 hình chữ nhật
[> leftbox(exp(x)-2*x∧2, x=-1 1, ’shading’=cyan, color=green);
[> middlebox(exp(x)-2*x∧2, x=-1 1, 10, ’shading’=red, color=blue);
–1.5
–1
–0.5
0
0.5
1
–1
–0.8 –0.6 –0.4 –0.2 0.2 0.4 0.6 0.8
1
x
Hình 10: Xấp xỉ tích phân xác định bởi 10 hình chữ nhật
b) Tính tích phân xác định

b
a
f(x)dx.
Cú pháp: [> int(f(x), x=a b); (nếu dùng Int thì cho công thức hình thức)
Ví dụ:
[> int(x∧2, x=-1 2);
3
[> int(sin(x)/x, x=0 2);
Si(2)
Điều này có nghĩa là máy đã định nghĩa một hàm mới Si(t) =

t
0

sin(x)
x
dx. Muốn
tính xem Si(2) bằng bao nhiêu ta viết tiếp
[> evalf(%,20);
1.6054129768026948486
24
Lệnh này có nghĩa là hãy tính giá trị biểu thức vừa tính với độ chính xác 20
chữ số lẻ (nếu không chỉ định rõ độ chính xác, máy sẽ tính với 10 chữ số lẻ).
Lưu ý là câu lệnh tính tích phân xác định ở trên cũng được dùng để tính các
tích phân suy rộng.
Ví dụ:
[> int(1/sqrt(x*(1-x)), x=0 1);
π
[> int(1/x∧2,x=1 infinity);
1
[> int(1/x∧2,x=0 1);

Tìm nguyên hàm của hàm y = f(x).
Ta đã biết một hàm, nếu khả tích, sẽ có vô số nguyên hàm, sai khác nhau bởi
các hằng số. Vì vậy chỉ cần biết một nguyên hàm nào đó của nó là đủ. Maple cho
phép tìm một nguyên hàm của hàm f(x) thông qua lệnh int.
Cú pháp: [> int(f(x), x); (Nếu dùng Int sẽ hiển thị công thức hình thức)
Ví dụ:
[> int(x*cos(x), x);
cos(x) + x sin(x)
10.2. Ứng dụng tích phân xác định.
Tính diện tích hình phẳng.
Để tính diện tích hình phẳng giới hạn bởi các đường y = f(x), y = 0, x = a
và x = b ta tính tích phân xác định trên đoạn [a, b] của hàm |f(x)| (ký hiệu là

abs(f(x)). Còn muốn tính diện tích hình phẳng giới hạn bởi các đường y = f(x),
y = g(x), x = a và x = b ta dùng lệnh
[> int(abs(f(x)-g(x)), x=a b);
Tính độ dài đường cong phẳng.
Cho đường cong C trong mặt phẳng có phương trình tham số:

x = u(t),
y = v(t),
t ∈ [a, b].

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×