1. Trang chủ
  2. » Giáo án - Bài giảng

Ngôn ngữ lập trình maple

122 797 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 122
Dung lượng 2,9 MB

Nội dung

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 1

TRƯỜNG ĐẠI HỌC CẦN THƠ

Trang 2

LỜ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 3

CHƯƠ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ử

Đồ 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 4

4 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 6

Khô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 9

Khi 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 10

Mộ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 13

Gọ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 14

pt_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 16

CHƯƠ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 17

8 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 18

Muố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 20

product(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 22

Toá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 23

Vì 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 24

Nế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 27

subs({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 29

Nế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

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 30

Nhâ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 31

Ví 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 32

3 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 33

Ví 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 34

8 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 35

10 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 36

11 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 37

Muố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 39

CHƯƠ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 40

Cú 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);

Ngày đăng: 16/03/2016, 18:08

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. André Heck (1993). Introduction to Maple Spinger - Verlag, NewYork Sách, tạp chí
Tiêu đề: Introduction to Maple
Tác giả: André Heck
Năm: 1993
2. K.M.Heal – M.L. Hansen – K.M. Rickard. (1996 – 1998) Maple V – Learning Guide – Waterloo Maple Inc Sách, tạp chí
Tiêu đề: Maple V – Learning Guide
3. M.B.Monagan – K.O. Geddes – K.M. Heal – G.Labahn – S.M.Vorkoetter (1996 – 1998) Maple V – Programming Guide – Waterloo Maple Inc Sách, tạp chí
Tiêu đề: Maple V – Programming Guide
4. Phạm Huy Điển (Chủ biên) Tính Toán, Lập Trình và giảng dạy toán học trên Maple – Nhà xuất bản Khoa học và kỹ thuật, Hà NộI, 2002 Sách, tạp chí
Tiêu đề: Tính Toán, Lập Trình và giảng dạy toán học trên Maple
Nhà XB: Nhà xuất bản Khoa học và kỹ thuật
5. Nguyễn Hữu Điển. Hướng dẫn sử dụng Maple V – Nhà xuất bản Thống Kê, Hà Nội, 1999 Sách, tạp chí
Tiêu đề: Hướng dẫn sử dụng Maple V
Nhà XB: Nhà xuất bản Thống Kê

TỪ KHÓA LIÊN QUAN

w