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

CÁC HÀM VẼ ĐỒ THỊ 2D, 3D TRONG MAPPLE VÀ VÍ DỤ MINH HỌA

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.04 MB, 29 trang )

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


các lệnh VectorCalculus[AddCoordinates]
• Trong trường hợp tọa đồ 2 chiều, v và in_cart là danh sách của hai phần tử.
Trong trường hợp tọa độ 3 chiều, chúng là danh sách của ba phần tử.
• Khi con bắt buộc, nó buộc phải được chỉ rõ sau v.
• Khi thêm thông tin mặc định, hệ thống tọa độ phải được định nghĩa trước(ta
sử dụng hàm addcoords trong mapple), hoặc ngay lúc đó ta gọi hàm
addcoords.
• Đối với hệ thống tọa độ 2 chiều, thông tin mặc định coordplot được định
nghĩa trong dlist bằng [range1, range2, grid1, grid2, view1, view2]
Range1, rang2 chỉ rỏ mức độ ưu tiên được sử dụng trong việc chuyển đổi
Grid1, grid2 là hai giá trị lưới nguyên
View1, view2 là phạm vi thực sự xác định kích thước và được sử dụng bằng
hàm coordplot

• Hệ tọa độ 3 chiều, thông tin mặc định coordplot3d được định nghĩa trong
dlist bằng [value1, value2, value3,[rang1, range2, range3],[view1, view2,
view3]]
HVTH: Nguyễn Thành Đệ Trang: 2
Tiểu luận môn ngôn ngữ hình thức
Value1, value2,value3: danh sách các hằng, một danh sách tương ứng với
một tọa độ đơn. Ít nhất một hằng phải được xuất hiện trong danh sách
Range1, range2, range3: giá trị phạm vi cho mỗi tọa độ
View1, view2, view3 : là phạm vi thực sự xác định kích thước và được sử
dụng bằng hàm coordplot3d
1.2. Ví dụ minh họa
>
>
>
>
HVTH: Nguyễn Thành Đệ Trang: 3

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

hoặc 3 chiều, đầu vào thứ 2, plotargs là danh sách các đối số cho plotargs.
Để phát thảo một hàm sin dùng 2 lệnh như sau:
> plot( sin(2*x), x=-Pi Pi, thickness=2 );
> plot( sin(3*x), x=-Pi Pi, thickness=2 );
- Để chuyển đổi một hình ảnh động trên biên độ, đặt trên những đối số để
lệnh phát thảo nhưng danh sách bên dưới:
animate( plot, [sin(A*x), x=-Pi Pi, thickness=2], A=1 5 );
- Để vẽ một đường cong theo biến thời gian t và một miền giá trị s ta dùng lệnh
sau:
animate( plot, [sin(t), t=0 x], x=0 4*Pi );
- Đối với đồ thị 3 chiều ta dùng hàm sau:
animate( plot3d, [sin(A)*(x^2+y^2), x=-2 2, y=-2 2], A=0 2*Pi );
2.2. Một vài ví dụ minh họa về vẽ đồ thị:
HVTH: Nguyễn Thành Đệ Trang: 6
Tiểu luận môn ngôn ngữ hình thức
HVTH: Nguyễn Thành Đệ Trang: 7
Tiểu luận môn ngôn ngữ hình thức
Và đây là các ví dụ cho đồ thị 3 chiều
HVTH: Nguyễn Thành Đệ Trang: 8
Tiểu luận môn ngôn ngữ hình thức
Một vài ví dụ tiếp theo để vẽ đồ thị 2 hoặc 3 chiều.
HVTH: Nguyễn Thành Đệ Trang: 9
Tiểu luận môn ngôn ngữ hình thức
>
>
>
HVTH: Nguyễn Thành Đệ Trang: 10
Tiểu luận môn ngôn ngữ hình thức
> ball := proc(x,y) plots[pointplot]
([[x,y]],color=blue,symbol=solidcircle,symbolsize=40) end proc:

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

Hiển thị đồ thị 2 chiều
HVTH: Nguyễn Thành Đệ Trang: 13
Tiểu luận môn ngôn ngữ hình thức
>
>
>
>
Hiển thị 2 đồ thị tương tự nhau
HVTH: Nguyễn Thành Đệ Trang: 14
Tiểu luận môn ngôn ngữ hình thức
Hiển thị trong không gian 3 chiều
>
>
>
>
Vừa hiện thị đồ thị 3 chiều và 2 chiều:
HVTH: Nguyễn Thành Đệ Trang: 15
Tiểu luận môn ngôn ngữ hình thức
Hiển thị những khung hình ảnh trong bảng, dùng lệnh sau:
>
>
4. plots[arrow] : hàm vẽ mũi tên hoặc một vector
Gọi các hàm sau:
arrow(u, opts)
arrow(u, v, opts)
arrow(U, opts)
Các tham số:
HVTH: Nguyễn Thành Đệ Trang: 16
Tiểu luận môn ngôn ngữ hình thức
u,v : Những danh sách, những vector, tập những danh sách, tập những vector

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à

liên hệ với độ rộng tuyệt đối của mũi tên
4.2. Một số ví dụ minh họa

Ví dụ 2: mô tả tham số Shape:
>
>
>
HVTH: Nguyễn Thành Đệ Trang: 18
Tiểu luận môn ngôn ngữ hình thức
>
>
Ví dụ 3: sử dụng tùy chọn optional
>
>
>
>
HVTH: Nguyễn Thành Đệ Trang: 19
Tiểu luận môn ngôn ngữ hình thức
>
>
>
>
Ví dụ 4: các mũi tên với kích thước khác nhau:
HVTH: Nguyễn Thành Đệ Trang: 20
Tiểu luận môn ngôn ngữ hình thức
Ví dụ 5: hiển thị ma trận 3x3
>
>
>
HVTH: Nguyễn Thành Đệ Trang: 21

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á

trị của tọa độ thứ 3. Sự khác biệt như sau: contourplot3d tạo ra cách nhìn 3 chiều
của đường viền ở mức độ thích hợp, trong khi đó contourplot tạo ra đồ thị 2 chiều.
Một đường viền 2 chiều có thể được hiển thị trong 3 chiều để tạo bóng đổ, hơn nữa
contourplot3d nhanh hơn contourplot.
5.2. Một vài ví dụ
Ví dụ 1: sử dụng biểu thức đầu vào:
HVTH: Nguyễn Thành Đệ Trang: 24
Tiểu luận môn ngôn ngữ hình thức
HVTH: Nguyễn Thành Đệ Trang: 25

×