Tiểu luận môn ngôn ngữ hình thức
PHẦN I TỔNG QUAN
Khái niệm hình thức (symbolic) là một khái niệm có khá lâu trong tự nhiên –
xã hội, nó ăn sâu vào các nhà nghiên khoa học, các nhà toán học, vật lý học, sinh
học, y tế học…Và việc biểu diễn hình thức trong các môn khoa học đó vào máy tính
trước kia là vô cùng khó khăn. Nhưng hôm nay, ngôn ngữ hình thức đã ra đời, và
Mapple là một công cụ không những giúp cho các nhà khoa học tin học giải quyết
các vấn đề nghiên cứu của họ mà còn giúp cho các khoa học khác dễ dàng đưa các
biểu diễn hình thức của họ vào máy tính.
Công cụ Mapple giúp cho việc biểu diễn các công thức toán học, vật lý học,
logic học… trên máy tính một cách dễ dàng, ở tiểu luận này em chỉ trình bày một
phần nhỏ của ứng dụng Mapple trong đại số, đó là các hàm vẽ đồ thị hàm số 2D,
3D trong Mapple.
PHẦN II GIỚI THIỆU CÁC HÀM VẼ ĐỒ THỊ 2D, 3D TRONG MAPPLE VÀ
VÍ DỤ MINH HỌA
1. addcoords – Thêm mới một hệ tọa độ
Hàm addcoords(coord_name, v, in_cart, con, dlist)
các tham số như sau:
coord_name : tên của hệ thống tọa độ
v : danh sách của biến ( 2 hoặc 3 chiều)
in_cart : danh sách biểu thức xác định tọa độ x, y, z trong một tọa độ mới
con : danh sách tên hằng số trong in_cart
dlist : danh sách giá trị mặc định của coordplot hay coordplot3d
HVTH: Nguyễn Thành Đệ Trang: 1
Tiểu luận môn ngôn ngữ hình thức
1.1. Mô tả
Hàm addcoords thêm một hệ tọa độ mới mà có thể được sử dụng để phát họa
một chức năng hoặc cung cấp thông tin mặc định thường sử dụng bằng coordplot
hoặc coordplot3d để tạo ra một hệ thống tọa độ.
Ghi chú: Sử dụng những toán hạng khác nhau như Divergence, Gradient, Curl,
và Laplacian của gói VectorCalculus khi thêm một hệ tọa độ mới và sử dụng
Tiểu luận môn ngôn ngữ hình thức
2. plots[animate] – Tạo một hình động 2 chiều, 3 chiều trên một tham số
Ta gọi các hàm sau:
animate(plotcommand, plotargs, t=a b, options)
animate(plotcommand, plotargs, t=L, options)
Các tham số:
HVTH: Nguyễn Thành Đệ Trang: 4
Tiểu luận môn ngôn ngữ hình thức
Plotcommand : thủ tục của mapple để tạo một đồ thị 2 chiều hoặc 3 chiều.
Plotargs: danh sách đối số được phát họa đồ thị
T: tên đối số mà ảnh động được tạo
a, b: hằng số xác định phạm vi của ảnh động
L : danh sách các biến
Options: (tùy chọn) các phương trình hình thức option = value, chỉ rõ sự lựa chọn
lệnh animate hay plot
2.1. Mô tả
Lệnh animate có thể được sử dụng để tạo một hình ảnh động trên một tham số
đối với bất kỳ lệnh vẽ đồ thị của mapple nào cả 3D và 2D. Ví dụ, để tạo một ảnh
động của hàm Asin(x) với biên độ A
animate( plot, [A*sin(x), x=0 10], A=0 2 );
Lệnh này tạo một hình ảnh động với 25 khung hình .
Để cho chương trình hoạt động ta dùng giao diện của mapple như sau:
a. Nhấn vào plot, thanh công cụ plot sẽ được hiện thị
b. Trong thanh công cụ đó, nhấn vào Play
- Trong hàm gọi đầu tiên, Một hình với 25 khung hình được tạo ra trong 25
cách đều bằng nhau của tham số A trên pham vi từ a b. Trong hàm thứ 2,
danh sách giá trị được sử dụng cho những khung hình ảnh động.
HVTH: Nguyễn Thành Đệ Trang: 5
Tiểu luận môn ngôn ngữ hình thức
- Đầu vào đầu tiên, lệnh plotcommand trong mapple, nó trả về đồ thị 2 chiều
>
>
HVTH: Nguyễn Thành Đệ Trang: 11
Tiểu luận môn ngôn ngữ hình thức
>
> F := proc(t)
plots[display](
plottools[line]([-2,0], [cos(t)-2, sin(t)], color=blue),
plottools[line]([cos(t)-2, sin(t)], [t, sin(t)], color=blue),
plot(sin(x), x=0 t, view=[-3 7, -5 5])
);
end proc:
>
HVTH: Nguyễn Thành Đệ Trang: 12
Tiểu luận môn ngôn ngữ hình thức
3. Mảng các đồ thị
Hàm sử dụng plots[display](p, opts)
Các Tham số:
P: mảng một chiều hoặc hai chiều của của đồ thị hoặc ảnh động
Opts: tùy chọn đồ thị
3.1. Mô tả:
- Lệnh plots[display] có thể được sử dụng để tạo một danh sách các đồ thị
- Đối số p có thể là mảng 1 hoặc 2 chiều của cấu trúc đồ thị được tạo vởi hệ
thống lệnh đồ thị của Mapple. Những mảng riêng biệt có thể là đồ thị 2 chiều
hoặc 3 chiều, bao gồm của hình ảnh động.
- Đối số đầu tiên có thể được là cấu trúc đồ thị động, được tạo thông qua lệnh
plots[animate] . Trong trường hợp này, những khung hình của đồ thị được
hiện thị trong cùng một mặt.
3.2. Một vài ví dụ minh họa
>
U: tập hợp hoặc danh sách chứa những cặp danh sách hoặc cặp vector
Opts: tùy chọn, phương trình hình thức option = value, các giá trị của option có thể
là một shape, length, width, head_width, head_length hoặc plane.
4.1. Mô tả
Hàm Arrow(u), đối số u như một mũi tên tại khu vực gốc
Hàm Arrow(u, v): có hai tham số là u và v, điểm đầu là u và điểm đích là v
Hàm Arrow(U): Mỗi cặp điểm như là một mũi tên với điểm đầu và điểm đích
- Nếu đối số có 2 phần tử, kết quả là đồ thị 2 chiều, nếu đối số là 3 phần tử thì
kết quả là 3 chiều.
- Thuộc tính của mũi tên được mô tả bằng việc sử dụng đối số tùy chọn. Đối số
opts có thể chưa một hoặc nhiều phương trình sau:
shape =harpoon, arrow, double_arrow, or cylindrical_arrow
Đây là một tùy chọn xuất hiện trên mũi tên, giá trị harpoon chỉ ra
rằng mũi tên được vẽ như một cạnh đơn ở đầu mũi tên. Giá trị arrow
chỉ ra rằng mũi tên được vẽ với 2 cạnh ở đầu mũi tên, double_arrow
chỉ ra rằng mũi tên được vẽ như một hình chữ nhật, hay hình vuông.
cylindrical_arrow mũi tên được vẽ là hình trụ và hình nón.
length =len or [len, lenopts]
đối số len là kiểu của đại số, tham số tùy chọn lenopts là một phương
trình hình thức relative = truefalse chỉ rõ chiều dài của mũi tên len là
tương đối từ điểm đầu tới điếm cuối. Giá trị mặc định của len là false
width =wid or [wid, widopts]
HVTH: Nguyễn Thành Đệ Trang: 17
Tiểu luận môn ngôn ngữ hình thức
đối số width là kiểu của đại số, tham số tùy chọn widopts là một
phương trình relative = truefalse mà chỉ rõ chiều rộng của mũi tên
hoặc là độ rộng tương đối của mũi tên.
head_width =hwid or [hwid, hwidopts]
Tham số hwid là kiểu của đại số, tham số tùy chọn hwidopts là một
phương trình relative = truefalse mà chỉ rõ độ rộng của hwid đầu là
Tiểu luận môn ngôn ngữ hình thức
Ví dụ 6: Thủ tục hướng của các vector
Ví dụ 7: Hiện thị đồ thị 3 chiều cho một số điểm
5. plots[contourplot] - 2-D đường viền
HVTH: Nguyễn Thành Đệ Trang: 22
Tiểu luận môn ngôn ngữ hình thức
plots[contourplot3d] - 3-D phát họa đường viền
các hàm được sử dụng như sau:
contourplot(expr1, x=a b, y=c d, opts)
contourplot(f, a b, c d, opts)
contourplot([exprf, exprg, exprh], s=a b, t=c d, opts)
contourplot([f, g, h], a b, c d, opts)
contourplot3d(expr1, x=a b, y=c d, opts)
contourplot3d(f, a b, c d, opts)
contourplot3d([exprf, exprg, exprh], s=a b, t=c d, opts)
contourplot3d([f, g, h],a b, c d, opts)
các tham số:
f, g, h: chức năng được vẽ
expr1 : biểu thức x và y
exprf, exprg, exprh: biểu thức trong s và t
a, b : hằng thực
c, d : hằng thực, thủ tục hoặc biểu thức trong x
x, y, s, t : tên
opts : các tùy chọn
5.1. Mô tả
Cả hai contourplot và contourplot3d nhận những đối số giống nhau và tạo ra
những đường viền cho biểu thức hoặc chức năng. Trong những từ khác, những lệnh
HVTH: Nguyễn Thành Đệ Trang: 23
Tiểu luận môn ngôn ngữ hình thức
của hai thủ tục, một tập hợp đường cong của đầu vào cho một tập hợp rời rạc các giá