Toán học là thống nhất nên các phần mềm tính toán cũng có cấu trúc cơ bản giông nhau. Vì vậy, nếu biết sử dụng phần mềm toán học nào đó thì cũng dễ dàng sử dụng được các phần mềm khác. Phần mềm tính toán Maple đã làm cho việc giải các bài toán trở nên đơn giản và nhanh chóng góp phần làm tăng hiệu suất làm việc của chúng ta trong học tập, nghiên cứu và giảng dạy. Maple là phần mềm do một nhóm các nhà khoa học của Canada thuộc trường đại học Waterloo làm ra với mục đích giải quyết mọi công việc liên quan đến tính toán. Tập tài liệu này chỉ đề cập đến những vấn đề cơ bản, rồi từ đó chúng ta có thể khám phá ra những khả năng tính toán và biểu diễn vô cùng phong phú của Maple.
Trang 1TRƯỜNG ĐẠI HỌC CẦN THƠ
Trang 2LỜI GIỚI THIỆU
Ngày nay, cùng với những thành tựu tuyệt vời trong lĩnh vực công nghệ thông tin, người ta đã xây dựng nhiều phần mềm để hỗ trợ cho công tác học tập và nghiên cứu Một thực tiễn đã được biết từ lâu là những bài toán đặt ra trong thực tiễn thường không được giải quyết bằng những mẹo tính toán thủ công mà phảI dùng đến năng lực tính toán của máy tính điện tử Phần mềm tính toán ra đờI nhằm đáp ứng yêu cầu của thực tiễn, đưa các tính toán phức tạp (cả phổ thông lẫn cao cấp) trở thành công cụ làm việc dễ dàng cho mọi người
Toán học là thống nhất nên các phần mềm tính toán cũng có cấu trúc cơ bản giông nhau Vì vậy, nếu biết sử dụng phần mềm toán học nào đó thì cũng dễ dàng sử dụng được các phần mềm khác Phần mềm tính toán Maple đã làm cho việc giải các bài toán trở nên đơn giản và nhanh chóng góp phần làm tăng hiệu suất làm việc của chúng ta trong học tập, nghiên cứu và giảng dạy Maple là phần mềm do một nhóm các nhà khoa học của Canada thuộc trường đại học Waterloo làm ra với mục đích giải quyết mọi công việc liên quan đến tính toán
Tập tài liệu này chỉ đề cập đến những vấn đề cơ bản, rồi từ đó chúng ta có thể khám phá ra những khả năng tính toán và biểu diễn vô cùng phong phú của Maple Điều cần lưu ý là việc sử dụng các phần mềm tính toán hiện đại không đòi hỏi người dùng phải có kỹ năng lập trình cao cấp mà chỉ yêu cầu người sử dụng nắm vững các kiến thức lý thuyết cơ bản.Với Maple ta chỉ cần thực hiện những câu lệnh đơn giản chứ không phải như lập trình các ngôn ngữ khác trong tính toán Thông qua hàm tính toán trong môi trường Maple, chúng ta rèn luyện kỹ năng sử dụng máy tính để giải quyết vấn đề cụ thể về toán học Maple có khả năng tính toán trên số thực lẫn số phức, ngoài các hàm toán học dựng sẵn trong Maple về đủ mọi lĩnh vực: Lượng giác, giải tích, hình học, đại số tuyến tính, lý thuyết số, thống kê, đồ thị, phương trình vi phân và đạo hàm riêng,… Maple cũng cho phép thiết lập thêm các hàm hoặc thủ tục chuyên dụng theo mục đích của người sử dụng
Những yêu cầu tối thiểu khi sử dụng Maple:
- Biết sử dụng máy tính (Tắt, mở máy, gỏ vào lệnh)
- Biết cách giải các bài toán
- Biết tiếng Anh tối thiểu
Yêu cầu về cấu hình máy: Bài giảng này giới thiệu Maple Version 6.0 đòi hỏi máy có dung lượng RAM từ 8MB trở lên, dung lượng đĩa cứng dùng riêng cho nó khoảng 70MB đối v ới các máy chạy trên môi trường Windows và có thể chạy trên môi trường mạng NT, UNIX
Bài giảng này được viết dựa trên các sách hướng dẫn sử dụng Maple từ các tài liệu tiếng Anh cũng như tiếng Việt, nhưng chủ yếu được dịch từ phần Help của chính chương trình này Do đó nếu có gì chưa rõ chúng ta có thể tham khảo phần Help của
chương trình (bấm tổ hợp phím ALT + H) để hiểu rõ hơn
Trang 3CHƯƠNG I MÔI TRƯỜNG LĂM VIỆC CỦA MAPLE
Khi khởi động Maple có măn hình giao diện như sau:
Biểu thức lệnh Cụm
xử
lí
Đồ thị Kết
quả
tính
I.Giao diện vă môi trường tính toân
Một trang lăm việc (Worksheet) của Maple bao gồm những thănh phần cơ bản:
1 Cụm xử lý (Execution group)
Nằm trong ngoặc vuông bín trâi của dấu nhắc lệnh, mọi tính toân đều được thực hiện trín câc cụm xử lý năy Nó có thể chứa câc lệnh của maple, kết quả tính toân, đồ thị
Muốn đưa văo Worksheet một cụm xử lý sau đọan văn bản đang chứa con trỏ ta thực hiện như sau:
+ Insert / Execution group / apter cursor hoặc
+ Click chuột văo nút có biểu tượng [> trín thanh công cụ
2.Văn bản (Text)
Ta có thể nhập văo văn bản text trong worksheet Ta gỏ tiếng Việt trong maple tương tự như gỏ tiếng việt trong câc phần mềm ứng dụng khâc như: Word, Excel Muốn đưa văo Worksheet một đọan văn bản mới sau con trỏ ta thực hiện lệnh:
+ Insert / Paragraph / Apter cursor Hoặc
+ Click chuột văo nút có biểu tượng chữ T trín thanh công cụ
3 Đồ thị (Graph)
Maple có khả năng đồ họa trực tiếp có nghĩa lă cho phĩp vẽ đồ thị ngay trong trang worksheet
Trang 44 Siêu liên kết: (Hyperlink)
Là một mẫu văn bản mà nếu ta kích vào thì sẽ dẫn ta đến một mục khác trong worksheet hiện hành hoặc một worksheet khác Muốn tạo siêu liên kết ta chọn chuỗi
ký tự cần click vào khi liên kết rồi thực hiện như sau:
Format / Convert to / Hyperlink
Sau khi hiện ra hộp thoại ta đưa địa chỉ cần liên kết vào
5 Lệnh và kết quả trong Maple (Command and Output)
Lệnh của maple được đưa vào worksheet sau dấu nhắc lệnh trong cụm xử lí Kết thúc dòng lệnh bằng dấu hai chấm “:” hoặc dấu chấm phẩy “;”
+ Nếu kết thúc dòng lệnh bằng dấu “:” thì kết quả tính toán không hiển thị ra màn hình
+ Nếu kết thúc dòng lệnh bằng dấu “;” thì kết quả sẽ hiển thị ở dòng phía dưới phía sau câu lệnh
Thông thường lệnh của Maple được hiển thị bằng Font chữ Courier màu đỏ và kết quả được hiển thị bằng Font của Maple Output màu xanh (Đây là định dạng mặc định và chúng ta có thể thay đổI bằng các chức năng định dạng của Maple)
Khi cần xuống dòng để viết các lệnh trong cùng một cụm xử lý (Không phải thực hiện các lệnh trong cụm xử lý) ta dùng Ctrl + Enter
Cần thực hiện dòng lệnh theo thứ tự từ trên xuống dưới, vì một số tính toán trong các bước sau có thể lấy kết quả từ bước trước, ngược lại thì không thể được
Lệnh của maple có hai loại: Lệnh trơ và lệnh trực tiếp
+ Lệnh trực tiếp: Cho ta biết ngay kết quả của lệnh
Ví dụ: [> sum(k,k=1 n);
1
2n ( n 1 + )
+ Lệnh trơ: Khi sử dụng lệnh trơ ta chỉ thu được biểu thức tượng trưng và muốn
biết trị số của biểu thức đó ta dùng thêm lệnh Value( )
k
Trang 5[> value(S);
1
2n ( n 1 + )
Thường thì giữa lệnh trơ và lệnh trực tiếp khác nhau ở ký tự đầu là
+Lệnh trơ ký tự đầu chữ hoa: Sum(k,k=1 n), Int(expr,x),
+Lệnh trực tiếp ký tự đầu là chữ thường: sum(k,k=1 n), int(expr,x),
6 Maple qui định các phép toán bằng các ký tự sau
Ví dụ: Dathuc:=2x+1;
Dathuc:=`dathuc`
Phuongtrinh_12:=x2-x+2;
Không nên bắt đầu tên biến bằng dấu gạch dưới (_) vì nó sẽ trùng với tên biến
toàn cục trong maple
Trang 6Không nên kết thúc bằng dấu ngã (~) vì nó sẽ trùng với tên biến trong maple
khi biến đó bị ràng buột bởi điều kiện
Các tên biến có thể được ghép với nhau bằng toán tử || hoặc bằng hàm cat()
Sau khi thực hiện xong các lệnh trong một c ụm xử lý người ta thường dùng
lệnh restart để khởi động lại giá trị cho biến
b Khai báo biến
+ Biến cục bộ: local <tenbien1>,[<tenbien2>], ;
delta cua tam thuc x2-3x+1 la 5
Ví dụ 3:
local a,b;
global c;
Trang 7[for <tên biến>] [from <giá trị đầu>] [by <bước tăng>] [to <giá trị cuối>] do
<nhóm lệnh thực hiện> end do;
Hoặc:
[for <biến>] [in <expr>] do <Nhóm lệnh> end do;
Với expr l à một chuỗi các giá trị, hay một chuỗi các biểu thức nào đó
[for <tên biến>] [from <giá trị đầu>] [by <bước tăng>] [to <giá trị
cuối>] [while<điều kiện>] do <nhóm lệnh> end do;
Ví dụ:
a Tính tổng từ 6 đến 14 với mỗi lần tăng hai
Trang 8> for i from 6 by 2 to 14 do print(i) end do;
68101214
b Tính tổng từ 7 tới 9 với bước tăng là 1
V x y a + + :=
Trang 9Khi sử dụng những hàm mà maple đã nạp sẳn trong bộ nhớ như sin, cos, exp,
int… ta chỉ cần gọi trực tiếp vào cụm xử lý
Cú pháp nạp hàm nằm trong gói công cụ vào bộ nhớ: with(Gói công cụ):
Ví dụ: Dùng hàm slope trong gói công cụ student, ta thực hiện
with(student):
slope(y=2*x+5,y,x);
Muốn xem tên các hàm trong một gói công cụ thì sau with(Gói công cụ) ta dùng dấu chấm phẩy ;
Trang 10Một số gói công cụ ta thường sử dụng: student, DEtools, PDEtools, LinearAlgebra, geometry, linalg, plottools, plots,…
+ student: Gói công cụ chứa các lệnh cho tính toán từng bước bao gồm tích
phân từng phần, quy tắc Simpson, tìm cực trị,…
+ DEtools: Gói công cụ chứa các lệnh làm việc với phương trình vi phân
+ DEPtools: Gói công cụ chứa các lệnh cho phép làm việc với phương trình
đạo hàm riêng
+ LinearAlgebra: Chứa các công cụ liên quan đến đại số tuyến tính
+ geometry: Gói công cụ chứa các lệnh liên quan với hình học Euclide 2 chiều
+ linalg: Gói công cụ chứa các lệnh liên quan với ma trận và vectơ
+ stats: Gói công cụ chứa các lệnh dùng trong thống kê
+ plots: Các lệnh cho phép vẽ hình trong không gian 2 và 3 chiều
+ plottools: Gói công cụ chứa các lệnh cho phép làm việc với các đối tượng
hình ảnh
Khi sử dụng hàm các trong thư viện thì ta cũng nạp hàm cần sử dụng vào bộ nhớ trước rồi mới dùng
Cú pháp nạp hàm trong thư viện vào bộ nhớ: readlib(tên hàm)
Thí dụ: Dùng hàm khử căn ở mẫu số trong thư viện
readlib(rationalize):
rationalize(1/sqrt(3)+3/sqrt(7));
Muốn xem ý nghĩa cũng như tập lệnh của gói công cụ hay thư viện nào ta dùng
cú pháp: ? <Tên gói công cụ >; hoặc ? <Tên thư viện >;
expr: biểu thức hoặc phương trình
vars: các biến của hàm số
Trang 11+ Dùng thủ tục
Cú pháp:
proc(vars) expr end proc;
vars: các biến của hàm
Trang 12> y(1/2);
1
c Thủ tục trong maple
Ta có thể tạo những thủ tục riêng cho mình để giải quyết một công việc nào đó,
và lưu vào trong thư viện để dùng như những hàm có sẳn trong thư viện của maple Cấu trúc của một thủ tục:
proc ( tên biến)
[local <tên biến>;]
[global <tên biến>;]
Gọi giá trị của a từ bộ nhớ
> a;
5
Trang 13Gọi giá trị của b từ bộ nhớ
Nhận xét:Ta nhận thấy rằng giá trị của k và m không còn được lưu trong bộ nhớ
vì đây là biến cục bộ chỉ có hiệu lực lúc thủ tục thi hành, khi thủ tục kết thúc thì các biến cục bộ này bị xóa khỏi bộ nhớ Các giá trị của a và b vẫn còn được lưu trong bộ nhớ khi thủ tục kết thúc
Ví dụ: Thủ tục vẽ hình có sử dụng biến cục bộ, thủ tục này có dùng những hàm trong hai gói công cụ plottools và plots
> restart:
with(plottools):
with(plots):
dothi := proc( a, b, leq, req )
local r, M, v1, v2, wid, bar, Axesplot, leftpt, rightpt, pt_color, leftend, rightend, LT, RT, textpos;
leftend := min( a - 2*wid, 0);
rightend := max( b + 2*wid, 0);
Axesplot := plot( 0, x = leftend rightend ,
y = (-wid) (2*wid), axes = none,
thickness = 2,scaling = constrained,
Trang 14pt_color := white;
end if;
rightpt := disk([ b, 0], wid/2, color=pt_color ): display(leftpt, rightpt, bar, Axesplot, LT, RT); end proc:
Gọi thủ tục thi hành
+ Cú pháp lưu hàm hay thủ tục vào trong thư viện:
savelib(name1, name2, name3 );
name1,name2 : tên các hàm, thủ tục hay biến cần lưu vào thư viện
Ví dụ: xây dựng hàm tính tổng hai số rồi lưu vào thư viện
Khi sử dụng các hàm đã lưu vào thư viện thì ta thực hiện cú pháp như các hàm
có sẳn trong thư viện của maple
"C:\\PROGRAM FILES\\MAPLE 6/lib
IV CÁC HÀM SƠ CẤP CƠ BẢN VÀ HÀM TOÁN HỌC THÔNG DỤNG
- sin(x), cos(x), tan(x), cot(x), arctan(x), arcsin(x), arccos(x), arccot(x)
- exp(x) : hàm mũ cơ số e
- ln(x) : hàm logarithm cơ số e của x
- log[b](x) : hàm logarithm cơ số b của x
Trang 15- log10(x) : hàm logarithm cơ số 10 của x
- sqrt() : hàm căn bậc 2 của x
- root[n](x) : hàm căn bậc n của x
- round(x) : hàm làm tròn, lấy trị nguyên gần nhất của x
- trunc(x) : hàm cắt lấy phần nguyên của một số
- max(x1,x2, ), min(x1,x2, ): hàm cho giá trị cực đại và cực tiểu của một dãy các số được liệt kê
- abs : hàm lấy trị tuyệt đối của một số
- Cặp dấu móc vuông [ ] c ó ý nghĩa như một danh sách (list)
- Cặp dấu móc nhọn { } c ó ý nghĩa như một tập hợp (set)
- Khi cần khởi động lại bộ nhớ ta dùng lệnh restart:
- Ghi chú cho chương trình bằng #
Trang 16CHƯƠNG II CÁC LỆNH TRỰC TIẾP CỦA MAPLE
I Tính toán với số nguyên
Maple là một công cụ mạnh, cho phép tính toán vớI những số nguyên lớn
6 Các hàm liên quan đến số nguyên tố
a Tìm các số nguyên tố đứng trước một số cho trước (prevprime)
7 Tìm thương và phần dư của phép chia nguyên
a Phép chia lấy phần dư nguyên
irem(m, n) irem(m, n,’q’)
b Phép chia lấy phần thương nguyên
Trang 178 Tính toán với công thức truy hồi
Maple cho phép ta tính giá trị của các biểu thức theo công thức truy hồi chẳng hạn tính số hạng tổng quát của dãy Fibonacci bằng lệnh rsolve
Cú pháp: rsolve (eqns, fcns)
eqns: là phương trình hay tập các phương trình
fcns: là tên hàm hoặc tập các tên hàm mà hàm fsolve phải tìm
Ví dụ: Tìm số hạng f(n) của dãy Fibonacci: f( )n = f(n−1) (+ f n−2)
Với điều kiện ban đầu f(1) = f(2) = 1
5
5 2n( − ( 1 + 5 )(−n)( ) -1 n + ( 5 − 1 )(−n))
( 5 − 1 ( ) 1 + 5 )
Trang 18Muốn có công thức tường minh của biểu thức truy hồi ta phảI thực hiện hai bước sau đây:
+ Bước 1: Dùng một biến để gán tên cho biểu thức truy hồi
+ Bước 2: Tìm công thức tổng quát bằng lệnh rsolve
Ví dụ: Tìm dạng tường minh của công thức truy hồi f(n+1)=3f( )n −2f(n−1)
Với điều kiện ban đầu f(1) = 2, f(2) = 3
Maple có thể giải hệ phương trình truy hồi
Ví dụ: Giải hệ phương trình truy hồI
với điều kiện ban đầu:
+
= +
3 2 1
2 1
n
n
n n y n
f
n n
f n
chính xác hàng trăm nghìn chữ số thập phân bằng hàm evalf (f, m)
Ví dụ: Ta tính giá trị của số π với độ chính xác 20 chữ số thập phân
sum(f, k) hoặc Sum(f, k) Tính tổng từ f(0) f(k-1)
sum(f, k=m n) hoặc Sum(f, k=m n) Tính tổng từ f(m) f(n)
sum(f, k=alpha) hoặc Sum(f, k=alpha)
sum(f, k=expr) hoặc Sum(f,k=expr)
Trang 20product(f, k) hoặc Product(f, k) Tính tích từ f(0) f(k-1)
product (f, k=m n) hoặc Product (f, k=m n) Tính tích từ f(m) f(n) product (f, k=alpha) hoặc Product (f, k=alpha)
product (f, k=expr) hoặc Product (f,k=expr)
Trang 21( )
Γ k 2 > product( A[k], k=0 4 );
III Tính toán với số phức
Maple cho phép thực hiện tính toán với số phức Chữ I được dùng làm ký hiệu
5 3 +
+
> (3+5*I)/(7+4*I);
+
41 65
23
65I
Bằng lệnh “biến đổi f về dạng tọa độ cực” convert (f, polar) ta có thể biến đổI
số phức f về dạng tọa độ cực ( )r,θ trong đó r là môđun còn θ là argument của số
IV Tính toán theo Modul
1 Các tính toán Modul thông thường
a Tính modul m trên tập số nguyên
Cú pháp: e mod m với các dạng riêng:
+ modp (e, m): Lấy biểu diễn dương của e theo modul m (trong tập giá trị từ 0 đến m −1)
+ mods (e, m): Lấy biểu diễn đối xứng của e theo modul m (trong tập giá trị từ ⎥
m
)
Với + e là biểu thức đại số
+ m là một số nguyên khác 0
Trang 22Toán tử mod tính giá trị biểu thức e trên tập số nguyên modul m Nó hợp nhất
việc tính toán trên trường số hữu hạn và các phép toán số học đối vớI đa thức, ma trận trên trường hữu hạn, kể cả phép phân tích ra thừa số
Việc ấn định modp hay mods được thực hiện thông qua biến môi trường mod
(giá trị modp được xem là mặc định)
Khi ta cần tính q mod m với q là một số nguyên thì không nên sử dụng cú pháp hiển nhiên như q^n mod m, bởi vì phép lũy thừa sẽ chuyển số thứ nhất thành số
nguyên (có thể là rất lớn) trước khi rút gọn theo modul m Thay vào đó nên dùng toán
tử trơ &^ nghĩa là q&^n mod m Trong dạng đó lũy thừa sẽ được biến đổI khéo léo theo phép lấy mod Tương tự, Powmod (a,n,b,x) mod m tính Rem (a^n,b,x) mod m
(a và b là những đa thức của x) không cần tính a^n mod m
Những phép toán modul số học khác được biểu diễn dưới dạng tự nhiên của chúng: j + i mod m; j - i mod m; j * i mod m;
b Tính modul khi e không là số
Khi biểu thức e không là một số mà là một đa thức thì phép lấy modul của nó được hiểu là phép lấy modul của tất cả các hệ số của đa thức
Ví dụ: Tính
> a:=15*x^2+4*x-3 mod 11;
:=
a 4 x2 + + 4 x 8
Trang 23Vì phép lấy modul mặc định sử dụng biểu diễn dương (modp) Muốn chuyển sang dạng đối xứng thì ta dùng lệnh:
2 Giải phương trình với modul
Cú pháp: msolve (eqns, vars, q) hoặc msolve (eqns, q)
Trong đó: + eqns: Tập các phương trình
+ vars: Tập các biến
+ q: Số nguyên
Lệnh msolve thực hiện việc giải phương trình trong Z theo m
Lệnh msolve giải các phương trình eqns trên các số nguyên (theo mod q) Nó giải theo mọi ẩn bất định có trong các phương trình
Nếu là nghiệm vô định, thì họ các nghiệm được biểu diễn thông qua các biến có tên được cho trong tập biến vars, nếu như vars được bỏ qua thì được thay thế bằng các tên mặc định toàn cục _Z1~, _Z2~, _Z3~,…Những tên này không trùng vớI các ẩn vô định và được phép lấy mọi giá trị nguyên
Trang 24Nếu phương trình không có nghiệm trên các số nguyên (mod m) thì Maple sẽ không cho kết quả nào
> msolve(x^2=3,5);
V Khai triển, đơn giản, phân tích và biến đổi một biểu thức đại số
1 Khai triển một biểu thức
Cú pháp: expand (expr, expr1, expr2 );
+ expr là biểu thức cần khai triển + expr1, expr2,… là các dạng biểu thức mà expr khai triển theo nếu có thể được
Cú pháp: factor (expr); hoặc factor (expr, expr1)
+ expr là biểu thức cần phân tích + expr1là các dạng biểu thức mà expr phân tích theo nếu có thể được
Trang 25−(− + y 2α () y 2 + α)
3 Đơn giản biểu thức
Cú pháp: simplify(expr): Đơn giản biểu thức expr
simplify(expr,{n1,n2, }): Đơn giản biểu thức expr theo các điều kiện
n1, n2, cho trước
simplify(expr,Option): Đơn giản biểu thức expr theo dạng đã chỉ định
trong Option
Option:Có các tùy chọn sau
trig Lượng giác
Ln Logarit neber
RootOf Các nghiệm của phương trình
Ví dụ: Đơn giản biểu thức e(a+ ln( )be c)
Trang 26:=
Vậy nếu ta dùng tính chất đơn giản biểu thức S theo dk thì ta sẽ nhận được giá trị S cần tìm mà không cần giảI phương trình
4 Tối giản phân thức
Cú pháp: normal (expr): Tối giản biểu thức expr
normal (expr, expanded): Tối giản biểu thức expr trình bày kết
quả dưới dạng khai triển
Tối giản phân thức cũng là đưa nó về dạng chuẩn tắc (normal), tức là giản ước
các thừa số chung của tử số và mẫu số Để thực hiện điều này ta dùng hàm normal
x3 5 x2 7 x 3 2 x sin x( )cos y( ) 2 x cos x( )sin y( )
5 Thay thế giá trị cho biến
Cú pháp: subs(x = a, expr): Thay giá trị x = a vào biểu thức expr
subs(s 1 , s 2 ,…, s n , expr): Thay thế tuần tự các giá trị s1, s2,…, sn
vào biểu thức expr
Trang 27subs({s 1 , s 2 ,…, s n }, expr): Thay thế đồng thời các giá trị s1, s2,…,
sn vào biểu thức expr
Ví dụ 1: Thay thế lần lượt các giá trị x = a và y = c vào biểu thức x3 - y
y m ( 3 m 1 + ) 3 − 4 (m 1 ( − ) 3 m 1 + ) + 5 :=
Trang 28> collect(pt,x);
= + + − ( − − m 1 x) 3 4 x 5 m2 0
6 Hàm trích lấy vế trái và vế phải của một đẳng thức
a Hàm trích lấy vế trái: lhs (f)
b Hàm trích lấy vế phải: rhs (f)
Trong đó: f là một phương trình, bất phương trình hay một đẳng thức nào đó
7 Hàm gom nhóm các thành phần của một biểu thức
Cú pháp: collect (f, x): Sắp xếp lại biểu thức f theo biến chỉ định trong x
collect (f, x, procedure): Sắp xếp lại biểu thức f theo biến chỉ
định trong x và các hệ số được biến đổi theo dạng được chỉ định trong procedure
procedure có thể có các giá trị sau:
+ recursive: đầu tiên gom nhóm biểu thức theo x1, tiếp theo trong mỗi số hạng x1 lại gom nhóm theo x2,…
+ distributed: gom nhóm tách biệt ra Đầu tiên gom nhóm biểu thức theo
x1 xong rồi đến gom nhóm biểu thức theo x2,…
8 Sắp xếp thức một dãy các giá trị hoặc một đa thức
Cú pháp: sort(L) hoặc sort(L, F)
sort(A) hoặc sort(A, V)
Trong đó: + L là dãy các giá trị
+ F là kiểu sắp xếp + N ếu L là dãy các số hạng thì F là > hoặc <
+ N ếu L là dãy dạng chuỗi thì F là lexoder
+ A là đa thức hoặc một dãy giá trị + V là một hoặc nhiều biến của A Mặc nhiên sẽ sắp xếp theo thứ tự giảm dần của lũy thừa của các biến đã được chỉ định Nếu có nhiều biến thì đa thức được sắp xếp theo tổng luỹ thừa của các biến
Trang 29Nếu ta thêm thông số plex thì đa thức được sắp xếp theo thứ tự từng biến được liệt kê
9 Chuyển đổi dạng của biểu thức
Cú pháp: conrvert (f, form, vars)
;hex; horner; hypergeom; int; list; listlist; ln; local; mathorner; matrix; metric; mod2; multiset; name; numericproc; octal; or; parfrac; permlist; piecewise; polar; polynom; pwlist; radians; radical; rational; ratpoly; set; signum; sincos; sqrfree; std; stdle; string; symbol; table; tan; trig; vector
Ví dụ: Tạo một chuỗi theo quy luật xi ^ I
> f := seq( x[i]^i, i=1 4 );
:=
f x1,x22,x33,x44
Trang 30Nhân các số trên lại với nhau:
x 1
> s := series(f,x,4);
:=
s − − x 2 x3 + O x( ) 5 Loại bỏ vô cùng bé bậc cao:
> convert(s, polynom);
− − x 2 x3 > f := sinh(x)+sin(x);
Trang 31Ví dụ: > expr:=sin(x)*y-sin(sqrt(y)+x)+ln(a)-z;
expr := sin x y( ) − sin ( y + x) + ln a( ) − z
Xem các phần tử cấu thành của biểu thức expr:
Trang 323 Tính biệt thức delta của một tam thức bậc hai
Cú pháp: discrim (expr) expr là một tam thức bậc hai
4 Trích lấy tử số và mẫu số của một biểu thức hữu tỷ
a Trích lấy tử số:
Cú pháp: numer (expr)
b Trích lấy m ẫu số:
Cú pháp: denom (expr)
5 Trích lấy hệ số của một đa thức
a Trích lấy tất cả các hệ số của một đa thức:
Cú pháp: coeffs (P, x, ‘t’)
Trong đó: + P là một đa thức
+ x là biến của đa thức
+ t là tên lưu danh sách các bậc của biến x
b Trích lấy hệ số bậc n của đa thức p:
Trang 33Ví dụ: Để đỡ phải gỏ lại nhiều lần một tên hàm nào đó, người ta gán cho nó một tên ngắn hơn
Không tính được vì n không xác định
Trang 348 Gán giá trị cho biến
Cú pháp: assign (a, b) assign (a = b) assign (t)
Trong đó: + a là môt tên biến nào đó
Ví dụ 3: Gán các nghiệm của hệ phương trình cho các biến tương ứng > restart:
Trang 3510 Hàm cho bậc cao nhất và thấp nhất của đa thức
a Hàm cho bậc cao nhất của đa thức:
Cú pháp: degree (P, x)
+ P là đa thức + x là biến của đa thức
b Hàm cho bậc thấp nhất của đa thức:
Trang 3611 Khử căn ở mẫu số của một biểu thức vô tỷ
Hàm này nằm trong thư viện nên trước khi sử dụng ta phải dùng lệnh đọc từ thư viện sau đó mớI gọi tên hàm
Cú pháp: readlib (rationalize):
rationalize(expr)
expr là biểu thức cần trục căn ở mẫu số
Ví dụ: Khử căn ở mẫu số của biểu thức sau:
53
2−+
=
x
x a
> a:=x/(sqrt(x+2)-3*sqrt(5));
:=
− +
12 Các hàm liên quan đến điều kiện
assume (x, prop): đặt điều kiện cho biến hoặc đặt mốI quan hệ giữa các biến additonally (x, prop): Tương tự như assume đặt thêm điều kiện cho biến x
is (x, prop): Kiểm tra điều kiện của biến x cho kết quả true, false, FAIL
coulditbe (x, prop): Có khả năng thỏa hay xảy ra điều kiện đó không?
about (x): Cho thông tin về x
Trong đó: + x là một biến của một biểu thức nào đó
+ prop là một tính chất nào đó như positive (dương), negative (âm), real, complex, vector, Square Matrix (ma trận vuông), fraction (phân số),… Giả sử hàm assume đặt lại điều kiện cho biến a và biến a đã được lưu trong bộ nhớ trước đó thì nó sẽ bị xóa và được thay bằng điều kiện được đặt trong hàm assume Biến nào bị ràng buộc điều kiện thì sẽ hiển thị dưới dạng dấu ~ bên phải a → a~, x → x~,…
Ví dụ: Đặt điều kiện cho a> 0 và b<0
Originally a, renamed a~:
is assumed to be: RealRange(Open(0),infinity)
Trang 37Muốn xóa điều kiện trong hàm assume ta dùng lạI lệnh gán a cho chính nó
Trang 39CHƯƠNG III
PHƯƠNG TRÌNH - BẤT PHƯƠNG TRÌNH
HỆ PHƯƠNG TRÌNH - HỆ BẤT PHƯƠNG TRÌNH
I Tìm nghiệm nguyên của phương trình, hệ phương trình
Cú pháp: insol ve (eqns, vars)
Trong đó: + eqns là một phương trình hay một hệ phương trình
+ vars là các biến của phương trình hay hệ phương trình
Ví dụ 1: Tìm nghiệm của các phương trình sau:
> isolve(3*x-2*y=2,a);
{y = − + 1 3 a,x = 2 a}
> isolve(2*x^2-4*x-6=0,x);
,{x = -1 {} x = 3}
Ví dụ 2: Tìm nghiệm nguyên của hệ phương trình sau:
Nếu số phương trình ít hơn số ẩn số thì ta cần thêm vào các hệ số tự do cho đủ
số biến của phương trình
> eqns:={3*x-2*y+z=2,x-y+2*z=3};
isolve(eqns,{a});
:=
eqns {3 x 2 y z 2 − + = ,x − + y 2 z 3 = }{x = 2 3 a + ,y = 3 5 a + ,z = 2 a + }
Nếu số tham biến ta thêm vào dư thì Malpe sẽ tự động bỏ qua các tham biến dư
> eqns:={3*x-2*y+z=2,x-y+2*z=3};
:=
eqns {3 x 2 y z 2 − + = ,x − + y 2 z 3 = }{x = 2 3 a + ,y = 3 5 a + ,z = 2 a + }
Nếu ta không thêm vào các tham biến tự do thì Maple sẽ tự động thêm vào lần lượt các biến _Z1, _Z2,… đối với các version từ 5.1 trở đi và các biến _N1, _N2,… đối với các version cũ hơn
:=
eqns {3 x 2 y z 2 − + = ,x − + y 2 z 3 = }
Trang 40Cú pháp: fsolve (eqns, var, options)
Trong đó: + eqns là một phương trình hay một hệ phương trình
+ vars là các biến của phương trình hay hệ phương trình
+ options là các tùy chọn có th ể là:
maxsols = n: Tìm tối đa n nghiệm (nếu có)
complex: Tìm các nghiệm dạng số phức
interval: Tìm các nghiệm trong khoảng a b nào đó
avoid = s: Tìm các nghiệm khác điều kiện s s có thể là một phương trình, nghiệm của một phương trình hay là một chuỗi các nghiệm đ ược liệt kê
Ví dụ:
> p:= 23*x^5 + 105*x^4 - 10*x^2 + 17*x:
,-.6371813185 0
> fsolve( p, x, maxsols=2 );
,-4.536168981 -.6371813185
> q := 3*x^4 - 16*x^3 - 3*x^2 + 13*x + 16:
,1.324717957 5.333333333
> fsolve(q, x, 2 5);
Trong khoảng từ 2 đến 5 không có nghiệm nào nên máy không trả lời
> fsolve(q, x, 2 6);