Tải bản đầy đủ (.doc) (21 trang)

TÌM HIỂU LẬP TRÌNH SYMBOLIC VÀ MỘT SỐ ỨNG DỤNG TRÊN 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 (2.12 MB, 21 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
________oOo________
BÀI THU HOẠCH MÔN HỌC
LẬP TRÌNH SYMBOLIC &
TRÍ TUỆ NHÂN TẠO

TÌM HIỂU LẬP TRÌNH SYMBOLIC VÀ
MỘT SỐ ỨNG DỤNG TRÊN MAPLE
PGS. TS.: ĐỖ VĂN NHƠN
HỌC VIÊN: NGUYỄN HOÀNG HUY
MSHV: CH1101090
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO
PGS. TS. ĐỖ VĂN NHƠN
< 2012 >
BÀI THU HOẠCH MÔN HỌC
Trang 2
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO
PGS. TS. ĐỖ VĂN NHƠN
MỤC LỤC
A. LẬP TRÌNH SYMBOLIC TRÊN MAPLE 4
I. Maple 4
1. Giới thiệu 4
2. Chức năng cơ bản 4
II. Nhập môn Maple 5
1. Biến 5
2. Tính toán 7
3. Cấu trúc dữ liệu 10
4. Hàm số 13
5. Phương trình 16
B. MỘT SỐ ỨNG DỤNG TRÊN MAPLE 18


I. Giải và biện luận phương trình bật nhất 18
1. Cài đặt 18
2. Ví dụ 18
II. Giải và biện luận phương trình bật hai 19
1. Cài đặt 19
2. Ví dụ 20
20
TÀI LIỆU THAM KHẢO 21
BÀI THU HOẠCH MÔN HỌC
Trang 3
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO
PGS. TS. ĐỖ VĂN NHƠN
A. LẬP TRÌNH SYMBOLIC TRÊN MAPLE
I. Maple
1. Giới thiệu
Maple là một gói phần mềm toán học thương mại phục vụ cho nhiều mục
đích. Nó phát triển lần đầu tiên vào năm 1980 bởi Nhóm Tính toán Hình thức tại
Đại học Waterloo ở Waterloo, Ontario, Canada.
Maple có cách cài đặt đơn giản, chạy được trên nhiều hệ điều hành, có cấu
trúc linh hoạt để sử dụng tối ưu cấu hình máy và có trình trợ giúp rất dễ sử dụng.
Người dùng có thể nhập biểu thức toán học theo các ký hiệu toán học truyền
thống. Có thể dễ dàng tạo ra những giao diện người dùng tùy chọn. Maple hỗ trợ
cho cả tính toán số và tính toán hình thức, cũng như hiển thị. Nhiều phép tính số
học được thực hiện dựa trên thư viện số học NAG; trong Maple, các chương trình
con NAG đã được mở rộng để cho phép độ chính xác ngẫu nhiên lớn. Các ví dụ
về tính toán hình thức sẽ được trình bày trong phần sau.
Maple cũng có một ngôn ngữ lập trình cấp cao đầy đủ. Cũng có giao diện cho
những ngôn ngữ khác (C, Fortran, Java, MatLab, và Visual Basic). Cũng có một
giao diện dành cho Excel.
Phần lớn chức năng toán học của Maple được viết bằng ngôn ngữ Maple, và

được thông dịch bởi nhân Maple. Nhân Maple được viết bằng C. Maple chạy trên
tất cả các hệ điều hành chính.
Ngôn ngữ lập trình Maple là một ngôn ngữ kiểu động. Cũng giống như các hệ
thống đại số máy tính, các biểu thức hình thức được lưu trữ trong bộ nhớ theo đồ
thị không chu trình có hướng (DAG). Ngôn ngữ cho phép các biến có phạm vi
nhất định (lexical scoping). Ngôn ngữ có hình thức lập trình hàm, nhưng cũng có
hỗ trợ đầy đủ cho lập trình truyền thống, theo kiểu mệnh lệnh.
2. Chức năng cơ bản
• Là một hệ thống tính toán trên các biểu thức đại số.
• Có thể thực hiện được hầu hết các phép toán cơ bản trong chương trình
toán đại học và sau đại học.
• Cung cấp các công cụ minh họa hình học thuận tiện gồm: vẽ đồ thị động
và tĩnh của các đường và mặt được cho bởi các hàm tùy ý và trong các hệ tọa
độ khác nhau.
• Là một ngôn ngữ lập trình đơn giản và mạnh mẽ, có khả năng tương tác
với các ngôn ngữ lập trình khác.
BÀI THU HOẠCH MÔN HỌC
Trang 4
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO
PGS. TS. ĐỖ VĂN NHƠN
• Cho phép trích xuất ra các định dạng khác nhau như word, HTML…
• Một công cụ biên soạn giáo án và bài giảng điện tử, thích hợp với các lớp
học tương tác trực tiếp.
• Một côn cụ hỗ trợ đắc lực – hữu ích cho giáo viên trong việc dạy học cũng
như cho học sinh – sinh viên trong việc học tập.
II. Nhập môn Maple
1. Biến
+ Các khái niệm
Tên biến: là một xâu ký tự, gồm chữ cái, chữ số, ký tự gạch dưới _.
o Độ dài của tên phụ thuộc vào nền của hệ điều hành, hệ điều hành 32-

bit là 524,271 ký tự, 64-bit là 34,359,738,335 ký tự.
o Tên biến chỉ có thể bắt đầu bằng chữ cái hoặc ký tự _ (Lưu ý: biến có
tên bắt đầu bằng ký tự _ được Maple xem là biến toàn cục).
o Có 2 loại tên biến là ký hiệu (x, y, x_y_z, hello_there…), và tên theo
chỉ số (x[1], x[2], x[3]…)
o Maple phân biệt chữ hoa và chữ thường nên Hello khác hello
o Không được đặt tên trùng với 47 từ khóa sau đây:
and assuming break by catch
description do done elif else
end error export fi finally
for from global if implies
in intersect local minus mod
module next not od option
options or proc quit read
return save stop subset then
to try union use uses
while xor
BÀI THU HOẠCH MÔN HỌC
Trang 5
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO
PGS. TS. ĐỖ VĂN NHƠN
Trạng thái của biến: mỗi biến trong Maple có một trong hai trạng thái:
o Đã được gán (assigned variables): mỗi biến là một cái tên đại diện cho
một giá trị nào đó. Một biến đã được gán đại diện cho gần như bất kỳ
thứ gì: một con số cụ thể, một biểu thức, một hàm, một phương trình,
một đồ thị, một lời giải, một biến khác v.v…Một biến đã được gán
thỉnh thoảng được gọi là một biến lập trình vì cách chúng thể hiện ít
nhiều gì cũng giống với một biến lập trình truyền thống trong các ngôn
ngữ lập trình. Biến đã được gán cũng thỉnh thoảng được gọi là "nhãn
của một kết quả" hay đơn giản là "nhãn".

o Chưa được gán (unassigned variables): mỗi biến là một cái tên chưa
đại diện cho một giá trị đặc biệt nào. Biến chưa được gán thỉnh thoảng
được gọi là "biến tự do" (free variables) chúng sẽ được tự do làm đại
diện cho bất kỳ giá trị nào. Hay thỉnh thoảng chúng cũng được gọi "ẩn"
(unknowns) vì chúng chưa có một giá trị cụ thể. Những cách gọi khác
nữa là xem biến chưa được gán như một biến toán học, một ký hiệu
toán học, một ẩn toán học, một ẩn đại số, biến vô định.
o Phép gán: được thực hiện bằng toán tử gán :=
+ Phân loại
 Biến trong Maple chia làm hai loại: biến toán học và biến lập trình
 Biến toán học: đại diện cho một ẩn số trong toán học.
 Biến lập trình: là những biến có thể gán giá trị nào đó và giá trị được
lưu trữ cho tận đến lúc nó bị thay đổi.
 Cách đơn giản nhất:
o Biến lập trình: biến đã được gán.
o Biến toán học: biến có giá trị bằng tên biến.
 Sự định giá:
o Một tên được gán giá trị khác tên nó sẽ trở thành biến lập trình còn
nếu chưa từng được gán giá trị thì nó sẽ nhận chính tên nó làm giá
trị và được xem như kí hiệu biểu thị ẩn số trong toán học.
o Việc phân biệt một biến là biến toán học (ẩn số) hay biến lập trình
là rất quan trọng trong Maple.
 Ví dụ:
>
BÀI THU HOẠCH MÔN HỌC
Trang 6
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO
PGS. TS. ĐỖ VĂN NHƠN
>
>

>
>
>
>
>
>
>
>
2. Tính toán
+ Phép tính số học thông thường
Bảng các phép tính số học:
Phép tóan Kí hiệu Phép tóan Kí hiệu Phép tóan Kí hiệu
Cộng + Nhân * Giai thừa !
Trừ - Chia / Mũ ^

Bảng các hàm thông dụng:
Hàm Ý nghĩa
abs(x)
x
sqrt(x)
x
exp(x) E mũ x
ln(x) Log
e
(x)
log10(x) Log
10
(x)
log[b](x) Log
b

(x)
trunc(x) Làm tròn x về số nguyên gần 0 hơn
BÀI THU HOẠCH MÔN HỌC
Trang 7
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO
PGS. TS. ĐỖ VĂN NHƠN
round(x) Làm tròn x về số nguyên gần x nhất
floor(x)
ceil(x)
x
 
 
x
 
 
max(x
1
,x
2
,…) Giá trị lớn nhất của hai hay nhiều số
min(x
1
,x
2
,…) Giá trị nhỏ nhất của hai hay nhiều số
Bảng các hàm lượng giác:
Hàm Ý nghĩa
sin(x) Sin(x)
cos(x) Cosin(x)
tan(x) Tg(x)

arcsin(x) Arcsin(x)
arccos(x) Arccos(x)
arctan(x) Arctg(x)
Bảng các hằng số thông dụng:
Hằng số Ý nghĩa Hằng số Ý nghĩa
true Hằng logic
đúng
false Hằng logic sai
Pi Hằng số PI FAIL Thất bại, sai
infinity Vô cùng

Catalan Hằng Catalan
Ví dụ:
>
>
+ Tính toán trên số nguyên
Các hàm liên quan tính tóan:
Hàm Ý nghĩa
factorial(n) n giai thừa
isqrt(n) Căn bậc hai nguyên của n
iroot(x,n) Căn bậc n nguyên của x
ifactor(n) Phân tích n thành tích các thừa số nguyên tố
irem(m,n)
irem(m,n,`q`)
Số dư khi chia m cho n và thương có thể được chứa
trong q
iquo(m,n)
iquo(m,n,`r`)
Thương khi chia m cho n và số dư có thể được chứa
trong r

igcd(x
1
,x
2
, ) Ước số chung lớn nhất của hai hay nhiều số
BÀI THU HOẠCH MÔN HỌC
Trang 8
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO
PGS. TS. ĐỖ VĂN NHƠN
gcd(x
1
,x
2
)
ilcm(x
1
,x
2
, )
lcm(x
1
,x
2
)
Bội số chung nhỏ nhất của hai hay nhiều số
m mod n Số dư khi chia m cho n
Các hàm liên quan tới số nguyên tố:
Hàm Ý nghĩa
isprime(n) n có là số nguyên tố không?
nextprime(n) Số nguyên tố liền sau n

prevprime(n
)
Số nguyên tố liền trước n
ithprime(n) Số nguyên tố thứ n
Ví dụ:
>
>
>
>
>
>
>
>
>
+ Tính tóan trên biểu thức đại số
Khai triển biểu thức:
>
BÀI THU HOẠCH MÔN HỌC
Trang 9
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO
PGS. TS. ĐỖ VĂN NHƠN
>
Đơn giản biểu thức:
>
>
Phân tích biểu thức thành nhân tử:
>
Tối giản phân thức:
>
Thay thế trong biểu thức:

>
>
Kiểm tra sự chia hết của các đa thức:
>
Gom hạng tử:
>
3. Cấu trúc dữ liệu
+ Dãy biểu thức (Expression Sequence)
Dãy là một cấu trúc dữ liệu gồm:
- Các phần tử ngăn cách nhau bởi dấu ,
- Các phần tử của dãy có thể là bất cứ gì.
- Maple áp dụng sự định giá đầy đủ khi định giá một dãy.
Ví dụ:
BÀI THU HOẠCH MÔN HỌC
Trang 10
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO
PGS. TS. ĐỖ VĂN NHƠN
>
Tìm số phần tử của dãy:
>
Truy cập một hay dãy phần tử của dãy:
>
+ Danh sách (List)
- Danh sách là dãy được bao trong cặp dấu ngoặc vuông.
- Các phần tử của danh sách co thể là bất cứ gì.
Ví dụ:
>
>
Tìm số phần tử của list bằng nops:
>

Truy cập các phần tử của danh sách:
>
Thay đổi các phần tử của danh sách:
>
>
Nối hai danh sách:
>
>
>
BÀI THU HOẠCH MÔN HỌC
Trang 11
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO
PGS. TS. ĐỖ VĂN NHƠN
+ Tập hợp (Set)
- Tập hợp là dãy được bao trong cặp dấu ngoặc nhọn.
- Trong tập hợp thứ tự các phần tử không quan trọng.
- Cac phép tóan trên tập hợp như union(hợp), intersect(giao), minus(trừ).
Ví dụ:
>
>
>
>
>
+ Mảng (Array)
Mảng là cấu trúc dữ liệu bao gồm:
- Một hay nhiều chiều.
- Miền chỉ mục của các chiều phải là khỏang số nguyên.
- Các phần tử của mảng có thể là mọi thứ.
Cú pháp : > array(indexfcn , bounds ,list);
· indexfcn (tùy chọn): hàm chỉ số.

· bounds (tùy chọn): dãy của các khỏang.
· list (tùy chọn): danh sách các giá trị khởi đầu.
Ví dụ:
>
>
>
>
BÀI THU HOẠCH MÔN HỌC
Trang 12
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO
PGS. TS. ĐỖ VĂN NHƠN
>
+ Bảng (Table)
Bảng là cấu trúc dữ liệu trong đó các chỉ mục có thể là bất cứ gì.
Cú pháp: > table (F,L);
· F (tùy chọn): hàm chỉ số
· L (tùy chọn): dãy hay tập hợp gồm các phần tử của bảng.
Nếu L có dạng danh sách hay tập hợp các đẳng thức thì các vế trái sẽ là
các chỉ số của mảng ; các phần tử vế phải sẽ là các phần tử của bảng.
- Trái lại, các chỉ số là các số nguyên 1,2,3
- indices(bang) : trả về dãy chỉ số.
- entries(bang) : tra về dãy các phần tử của bảng.
Ví dụ: >
>
>
>
4. Hàm số
+ Định nghĩa
Maple cung cấp nhiều cách để định nghĩa hàm số như :
- Dùng kí hiệu mũi tên.

- Dùng hàm unapply
- Định nghĩa hàm với tênhàm : = proc( ) end proc
Sau khi định nghĩa hàm có thể tính giá trị của hàm tại một điểm.
Kí hiệu mũi tên:
>
BÀI THU HOẠCH MÔN HỌC
Trang 13
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO
PGS. TS. ĐỖ VĂN NHƠN
>
>
>
+ Các phép toán
Phép tóan cộng (+), trừ(-), nhân(*), chia(/).
Phép tóan hợp hai hàm : @
Ví dụ:
>
>
>
>
>
>
>
>
>
>
>
BÀI THU HOẠCH MÔN HỌC
Trang 14
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO

PGS. TS. ĐỖ VĂN NHƠN
+ Tính giới hạn
Tính giới hạn của hàm số tại x=a.
> limit(f(x),x=a);
Tính giới hạn của hàm số tại vô cùng
> limit(f(x),x=infinity);
Giới hạn bên trái:
> limit(f(x),x=a,left);
Giới hạn bên phải:
> limit(f(x),x=a,right);
Ví dụ:
>
>
>
+ Tích phân xác định & bất định
Tích phân xác định
> int(f(x),x=a b); Hoặc: > Int(f(x),x=a b
> value(%);
Tích phân xác định
> int(f(x),x);
Ví dụ:
>
>
>
>
BÀI THU HOẠCH MÔN HỌC
Trang 15
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO
PGS. TS. ĐỖ VĂN NHƠN
>

+ Đạo hàm một biến & nhiều biến
Hàm một biến
> diff(f(x),x); Hoặc > Diff(f(x),x);
> value(%);
- Nếu hàm thu được còn cồng kềnh thì: > simplify(%);
· Đạo hàm cấp hai:
> diff(f(x),x,x); hoặc > diff(f(x),x$2);
· Đạo hàm cấp k:
> diff(f(x),x$k);
Hàm nhiều biến
- Định nghĩa hàm f(x,y,…)
- diff(f(x,y),y,x,…);
Ví dụ :
>
>
>
>
5. Phương trình
+ Giải phương trình
>
>
BÀI THU HOẠCH MÔN HỌC
Trang 16
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO
PGS. TS. ĐỖ VĂN NHƠN
>
>
>
>
+ Giải bất phương trình

>
>
>
>
+ Giải hệ phương trình
>
BÀI THU HOẠCH MÔN HỌC
Trang 17
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO
PGS. TS. ĐỖ VĂN NHƠN
B. MỘT SỐ ỨNG DỤNG TRÊN MAPLE
I. Giải và biện luận phương trình bật nhất
1. Cài đặt
2. Ví dụ
>
>
Neu m khong thuoc {-1, 1}:
Neu m = -1:
Phuong trinh vo nghiem
Neu m = 1:
Phuong trinh vo nghiem
BÀI THU HOẠCH MÔN HỌC
Trang 18
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO
PGS. TS. ĐỖ VĂN NHƠN
II. Giải và biện luận phương trình bật hai
1. Cài đặt
BÀI THU HOẠCH MÔN HỌC
Trang 19
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO

PGS. TS. ĐỖ VĂN NHƠN
2. Ví dụ
>
>
Neu m = 2.708333333
Phuong trinh co nghiem kep x = -1/4
Neu m < 2.708333333:
Phuong trinh co 2 nghiem:
Neu m > 2.708333333:
Phuong trinh vo nghiem

BÀI THU HOẠCH MÔN HỌC
Trang 20
LẬP TRÌNH SYMBOLIC & TRÍ TUỆ NHÂN TẠO
PGS. TS. ĐỖ VĂN NHƠN
TÀI LIỆU THAM KHẢO
1. Tài liệu bài giảng Lập Trình Symbolic
PGS. TS. Đỗ Văn Nhơn
2. Tài liệu online: Maple
/>3. Giáo Trình Giới Thiệu Maple
Nguyễn Ngọc Trung
4. Tài liệu Sử Dụng Maple Học Toán
Th.S Nguyễn Văn Kiếm
BÀI THU HOẠCH MÔN HỌC
Trang 21

×