lập trình tính số và vẽ đồ thị bằng mathematica tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về...
Trang 1Mục lục
1.1 Lý do chọn đề tài: 2
1.2 Mục tiêu nghiên cứu: 2
1.3 Nhiệm vụ nghiên cứu: 3
1.4 Đối tượng nghiên cứu: 3
1.5 Phương pháp nghiên cứu: 3
1.6 Giới hạn đề tài nghiên cứu: 3
1.7 Cấu trúc của khóa luận: 3
2 NỘI DUNG 4 2.1 Giới thiệu tổng quan về ngôn ngữ lập trình Mathematica 4
2.1.1 Giới thiệu sơ bộ về ngôn ngữ lập trình Mathematica 4
2.1.2 Giao diện tương tác của Mathematica 4
2.1.3 Các tính năng của Mathematica 5
2.2 Vẽ đồ thị hai chiều tĩnh và động 9
2.2.1 Cú pháp 9
2.2.2 Các tuỳ chọn của đồ thị hai chiều 10
2.2.3 Đồ thị hai chiều nâng cao 18
2.2.4 Đồ thị dữ liệu hai chiều 20
2.2.5 Đồ thị hai chiều động 22
2.3 Vẽ đồ thị ba chiều tĩnh và động 22
2.3.1 Đồ thị mặt ba chiều 22
2.3.2 Đồ thị tham số ba chiều 25
2.3.3 Đồ thị dữ liệu ba chiều 27
2.3.4 Đồ thị ba chiều động 27
2.4 Ứng dụng vẽ đồ thị vào giảng dạy và nghiên cứu vật lý 28
2.4.1 Bài toán giao thoa sóng cơ học 28
2.4.2 Bài toán chuyển động của vật ném xiên 29
2.4.3 Ứng dụng nghiên cứu vật lý 30
Trang 2Phần 1
MỞ ĐẦU
1.1 Lý do chọn đề tài:
Thế kỷ XX với nhiều thành tựu rực rỡ, Vật lý học đã có một bước phát triển mạnh
mẽ Mở đầu là sự ra đời của thuyết tương đối của Einstein, thuyết lượng tử của Planck, lýthuyết trường lượng tử Để nghiên cứu, khảo sát các quá trình vật lý, xử lý các bài toánvật lý đòi hỏi phải tính toán các phép toán rất phức tạp, tốn nhiều thời gian và công sức
Vì vậy, việc đưa máy tính vào để nghiên cứu các quá trình tính toán trong vật lý, sử dụngcác công cụ tính toán sẽ giúp cho việc xử lý các bài toán vật lý được nhanh chóng và thuậntiện
Để làm điều này, ngôn ngữ lập trình giải tích Mathematica nổi lên với ưu điểm vượttrội về giao diện thân thiện, về khả năng đồ thị siêu việt và khả năng xử lý số liệu nhanh
đã trở thành một công cụ đắc lực cho các nhà khoa học, các kỹ sư, các chuyên gia sinh học,giáo viên, các nhà tài chính
Với sự phát triển nhanh phiên bản Mathematica 5.0 đã bổ sung cho người sử dụngnhững thao tác đơn giản, không phải lập trình nặng nề như trước Trong đó Mathematicacho phép vẽ tất cả các dạng đồ thị có thể có của một hàm số với cấu trúc lệnh đơn giảnnhất như đồ thị hai chiều, đồ thị ba chiều, đồ thị đường viền, đồ thị thống kê
Đối với giáo viên phổ thông trung học, sử dụng phần mềm Mathematica để vẽ đồ thị
sẽ là một hỗ trợ đắc lực cho giáo viên trong việc soạn giáo án lên lớp, bài giảng điện tử, ra
đề thi trắc nghiệm Nên tìm hiểu vẽ đồ thị bằng Mathematica là điều rất cần thiết Vì lý
do trên tôi chọn đề tài "Sử dụng phần mềm Mathematica để vẽ đồ thị" làm đề tài
khoá luận tốt nghiệp
1.2 Mục tiêu nghiên cứu:
Nghiên cứu khai thác và sử dụng phần mềm Mathematica vào việc vẽ đồ thị hai chiều
và ba chiều tĩnh, động và ứng dụng
Trang 31.3 Nhiệm vụ nghiên cứu:
- Tập trung tư liệu, nghiên cứu lý thuyết
- Nghiên cứu sử dụng cú pháp cấu trúc câu lệnh của Mathematica
- Khai thác các tính năng vẽ đồ thị hai, ba chiều trên Mathematica
- Ứng dụng: vẽ đồ thị một số bài toán vật lý, khảo sát một số quá trình vật lý
1.4 Đối tượng nghiên cứu:
Ngôn ngữ lập trình Mathematica với tính năng vẽ đồ thị
- Phương pháp nghiên cứu lý thuyết: Đọc và tìm hiểu ngôn ngữ lập trình Mathematica.Nghiên cứu các bước lập trình trên Mathematica với tính năng vẽ đồ thị
- Thực hiện các chương trình vẽ cơ bản của Mathematica với các đồ thị mô tả các quyluật vật lý cụ thể
1.6 Giới hạn đề tài nghiên cứu:
Trong thời gian và khả năng cho phép tôi chỉ nghiên cứu ngôn ngữ lập trình matica với tính năng vẽ đồ thị hai chiều và ba chiều tĩnh, động và ứng dụng của chúng
Mathe-1.7 Cấu trúc của khóa luận:
Khoá luận gồm có ba phần: phần mở đầu, phần nội dung và phần kết luận Phần
mở đầu trình bày lý do chọn đề tài, mục tiêu nghiên cứu, nhiệm vụ nghiên cứu, đối tượngnghiên cứu, phương pháp nghiên cứu và giới hạn nghiên cứu của đề tài Phần nội dung (có
ba chương): Chương 1 giới thiệu tổng quan về ngôn ngữ lập trình Mathematica; Chương 2thực hiện vẽ đồ thị hai chiều tĩnh và động với việc thay đổi các tuỳ chọn; Chương 3 thựchiện vẽ đồ thị ba chiều tĩnh và động với việc thay đổi các tuỳ chọn; Chương 4 ứng dụng vẽ
đồ thị vào một số bài toán vật lý, khảo sát một số quá trình vật lý
Phần kết luận: Trình bày các kết quả thu được từ việc nghiên cứu vẽ đồ thị trênMathematica
Trang 4Thế hệ tiếp theo là các ngôn ngữ Maple, Mathlab, Mathematica Các ngôn ngữ này
có ưu điểm là chạy nhanh hơn và chấp nhận bộ nhớ nhỏ hơn, chạy hoàn hảo trên máy tính
cá nhân Trong các ngôn ngữ tính toán loại này, nổi bật lên ngôn ngữ Mathematica với ưuđiểm vượt trội về giao diện thân thiện, về khả năng đồ thị siêu việt và xử lý dữ liệu khôngthua kém các ngôn ngữ tính toán khác
Nhờ khả năng mô hình hoá và mô phỏng các hệ lớn, kể cả các hệ động mà Mathematicakhông chỉ được ứng dụng trong lĩnh vực vật lý, kỹ thuật và toán mà còn được mở rộng ứngdụng trong các lĩnh vực như sinh học, các khoa học xã hội, kể cả trong lĩnh vực tài chínhphức tạp
Phiên bản đầu tiên của Mathematica được phát hành vào năm 1988 Phiên bản 6.0 làphiên bản mới nhất hiện nay
2.1.2 Giao diện tương tác của Mathematica.
Mathematica đưa ra một giao diện rất thân thiện với người sử dụng được đặt tên làbản ghi (notebook - thường được gọi tắt là nb) Các bản ghi là dạng cửa sổ biểu diễn mộtlượt sử dụng Mathematica bao gồm đầy đủ các ghi chép cả về chương trình nguồn, cả về kếtquả thực hiện trên cùng một bản ghi và được ghi lại dưới dạng file riêng của Mathematica
có đuôi là *.nb
Các bản ghi được tổ chức thành các ô (cells) một cách có trật tự và thứ bậc Ta có thểnhóm một nhóm ô lại sao cho chỉ thấy ô đầu của nhóm ô đó (với số nhóm lồng tuỳ ý)
Trang 5Mathematica còn đưa ra một giao diện phụ là các bảng lệnh (Palettes) và các nút lệnh(Button) Người sử dụng chỉ cần nhấp chuột rất đơn giản và có thể tuỳ biến theo ý mình.
2.1.3 Các tính năng của Mathematica.
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
b Khả năng tính toán với biến tượng trưng.
Mathematica cho phép giải các phương trình hay tính toán các biểu thức mà nghiệmhay các kết quả được biểu diễn bằng các biến tượng trưng
Thí dụ tính tích phân bất định theo biến chữ x:
4 + x3/22 ) −14a2log(√x +√a + x)
c Khả năng đồ hoạ hai chiều và ba chiều.
Mathematica cho phép vẽ tất cả các dạng đồ thị có thể có của một hàm số với cấu trúclệnh đơn giản nhất như đồ thị hai chiều, đồ thị ba chiều, đồ thị đường viền, đồ thị mật độ
Thí dụ lệnh sau đây cho phép vẽ đồ thị hai chiều của hàm số sin x+sin 2x trong khoảng
(0, 30) (hình 1.1):
P lot[Sin[x] + Sin[2x], {x, 0, 30}];
Hình 1.1
Lệnh sau đây cho phép ta vẽ đồ thị ba chiều của hàm Sin(xy):
P lot3D[Sin[xy], {x, 0, 4}, {y, 0, 4}, P lotP oints → 30]; (hình 1.2)
Trang 6Mathematica không chỉ cho ta khả năng vẽ đồ thị hai chiều, ba chiều theo mặc định,
mà người dùng có thể sử dụng các tuỳ chọn để thay đổi trình diễn của đồ thị theo các mụcđích của mình
Hình 1.2Chẳng hạn như để khảo sát đồ thị của hàm số trong một khoảng nào đó ta có thể chỉcần vẽ đồ thị trong một khoảng tuỳ chọn do người sử dụng đưa ra Hoặc có thể vẽ đồng thờinhiều đồ thị trên cùng một hệ trục toạ độ, lựa chọn màu sắc, nét vẽ đậm nhạt của từng
đồ thị khác nhau Hình (1.3) sau đây là một ví dụ:
P lot[Sin[x2], {x, 0, 3}, AxesOrigin → {−0.2, 0},
AxesStyle → {RGBColor[1, 0, 0], AbsoluteT hickness[2]},
Def aultColor → RGBColor[0, 0, 1],
d Khả năng tính toán của Mathematica.
Mathematica có khả năng chấp nhận các dữ liệu lớn bất kỳ và xử lý nó trong thời gianvài giây
Trang 7Thí dụ tạo ra một ma trận 100 × 100 gồm các phần tử là các số nguyên bất kỳ (dấu
";" ở sau câu lệnh để không in ra ma trận m vì kích thước của nó quá lớn)
Thí dụ Mathematica cho kết quả chính xác sau không đầy 1 giây cho phép tính giaithừa của 100:
100!
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
Mathematica còn cho phép tính toán các phép tính đại số với độ chính xác bất kỳ dongười sử dụng đặt ra hay có thể thực hiện các tính toán đại số mà con người khó có thểthực hiện được bằng tay
Thí dụ phép tính số Pi với độ chính xác đến 200 chữ số:
N [Π, 200]
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303820
Khai triển biểu thức toán học x99+ y99:
Trang 8Simplif y[%]
x99+ y99
e Các thuật toán trong Mathematica.
- Khi chạy, Mathematica tự chọn các thuật toán thích hợp (trong các thuật toán sẵncó) cho mỗi tính toán gần đúng bằng số
Thí dụ như lệnh FindRoot (tìm nghiệm phương trình), NIntegrate (tính tích phân bằng số), NSolve (giải phương trình bằng số):
f Mathematica là một cuốn bách khoa toàn thư về toán.
- Mathematica có chứa sẵn hầu hết các hàm đặc biệt ở các dạng thuần tuý toán hoặc
ở các dạng ứng dụng của nó
Thí dụ hàm Legendre:
LegendreQ[3, x]
2 −5x2 −1x(3 − 5x2)Log[(1+x)]
Trang 9- Mathematica cho phép tính toán một cách chính xác một số lượng lớn các tích phân
16
HarmonicN umber[n, 6]
g Các hiện ứng hình ảnh trong Mathematica.
Mathematica có thể tạo ra các đồ thị tham số hoặc cho thấy sự vận động của quá trìnhbằng cách cho chạy một dãy các đồ thị tĩnh
Thí dụ để vận động hoạt hoạ một dãy đồ thị (hình 1.6):
T able[P lot3D[Sin[2x]Sin[2y]Cos[t], {x, 0, Π}, {y, 0, Π}, P lotRange → {−1, 1},
BoxRatios → {1, 1, 1}, T icks → N one, DisplayF unction → Indentity], {t, 0, Π,Π6}];
Show[GraphicsArray[{%}, F rame → T rue]];
Lệnh Plot[{f1, f2 }, {x, xmin, xmax}]; vẽ đồng thời đồ thị của các hàm {f1, f2 } với
x chạy từ xmin đến xmax (dấu ";" được thêm vào ở cuối mỗi câu lệnh về đồ thị để khônghiện ra câu thông báo về đối tượng Graphics) (hình 2.2)
Trang 10P lot[T an[x/2], {x, −2Π, 2Π}];
Hình 2.1
P lot[{Sin[x], Sin[2x], Sin[3x]}, {x, 0, 2Π}];
Hình 2.2
Theo cách này, ứng với mỗi trị số của x tính trực tiếp được trị số của hàm f (bằng các
thuật toán tính bằng số của Mathematica), ta có tương ứng mỗi cặp điểm trên đồ thị.Một trình tự khác là tính ra một hàm số (có thể chỉ là gần đúng) có biểu thức
giải tích theo các biến chữ (gọi là hàm hiện) rồi mới thay giá trị x vào để tính giá trị cho f(x) Trình tự này thường được dùng cho các hàm nội suy, là các hàm không có biểu thức dạng giải tích Nó được thể hiện bằng các lệnh: P lot[Evaluate[f ], {x, xmin, xmax}] và
P lot[Evaluate[T able[{f1, f2 }]], {x, xmin, xmax}] (hình 2.3)
P lot[Evaluate[T able[BesselJ [n, x], {n, 4}]], {x, 0, 10}];
Hình 2.3Một lệnh theo loại này nữa thường được dùng cho vẽ đồ thị nghiệm các phương trình
vi phân giải gần đúng (giải bằng số): P lot[y[x]/.nghiệm, {x, xmin, xmax}]
2.2.2 Các tuỳ chọn của đồ thị hai chiều.
a Các tuỳ chọn mặc định của đồ thị hai chiều.
Trang 11Một lệnh vẽ đồ thị của Mathematica có rất nhiều các tuỳ chọn bổ sung và ta có thểthay thế giá trị mặc định Để liệt kê các tuỳ chọn và các giá trị mặc định gán sẵn ta dùng
lệnh Options[Plot] Dạng tổng quát của nó là: Options[đối tượng] cho danh sách các tuỳ chọn và mặc định của đối tượng; hoặc Options[đối tượng,tuỳ chọn] cho danh sách
đặt của tuỳ chọn trong đối tượng
Ngoài ra có thể dùng các lệnh: FullOptions[đối tượng,tuỳ chọn] cho mô tả tỷ mỷ nhất cách sắp đặt tuỳ chọn; SetOptions[đối tượng,options → value] đặt lại giá trị mặc
định của lựa chọn options thành giá trị value (hình 2.4)
Option[P lot](*mô tả danh sách các tuỳ chọn của lệnh Plot*)
{AspectRatio → GoldenRatio1 , Axes → Automatic, AxesLabel → N one,
AxesOrigin → Automatic, AxesStyle → Automatic, Background → Automatic,
ColorOutput → Automatic, Compiled → T rue, Def aultColor → Automatic,
Def aultF ont :→ $Def aultF ont, DisplayF unction :→ $DisplayF unction,
Epilog → {}, F ormatT ype :→ $F ormatT ype, F rame → F alse,
F rameLabel → N one, F rameStyle → Automatic, F rameT icks → Automatic,
GridLines → N one, ImageSize → Automatic, M axBend → 10.,
P lotDivision → 30., P lotLabel → N one, P lotP oints → 25,
P lotRange → Automatic, P lotRegion → Automatic, P lotStyle → Automatic,
P rolog → {}, RotateLabel → T rue, T extStyle :→ $T extStyle, T icks → Automatic}
- Axes: là một tuỳ chọn của hàm vẽ đồ thị bao gồm có hay không các trục toạ độ.
Các giá trị của tuỳ chọn này bao gồm:
Trang 12Axes →True: Hiển thị các trục toạ độ.
Axes →False: Không hiển thị các trục toạ độ
Axes → {False, True}: Hiển thị một trục toạ độ, trục còn lại không hiển thị
Giá trị mặc định của tuỳ chọn là Automatic (Xem hình 2.5).
Show[Graphics[Circle[{0, 0}, 1], AspectRatio → Automatic, Axes → Automatic]];
Hình 2.5
- AxesLabel: Tuỳ chọn đặt nhãn cho các trục toạ độ.
Các giá trị của tuỳ chọn này bao gồm:
AxesLabel → None: Không đặt nhãn cho đồ thị
AxesLabel → label: Đặt nhãn label cho trục y đối tượng đồ thị hai chiều.
AxesLabel → {"nhãn x","nhãn y"}: Đặt nhãn cho các trục toạ độ
Nhãn của các trục toạ độ sẽ được đánh ở cuối các trục Giá trị mặc định của tuỳ chọn
là None (Xem hình 2.6).
P lot[Sin[x/2], {x, 0, 2Π}, AxesLabel → {”Trục x", "Trục y"}];
Hình 2.6
- AxesOrigin: Lựa chọn trong đồ thị hai chiều để đặt điểm cắt hai trục toạ độ.
Các giá trị của tuỳ chọn này bao gồm:
AxesOrigin → {x, y}: Đặt điểm cắt hai trục toạ độ là điểm có toạ độ {x,y}
Giá trị mặc định của tuỳ chọn là điểm {0,0}
Đối với đồ thị đường viền và đồ thị mật độ, đặt AxesOrigin → Automatic thì điểm cắtcủa các trục toạ độ được đặt ở ngoài vùng đồ thị
Thí dụ để khảo sát tính đối xứng của hàm Sin[x] ta có thể thay đổi điểm cắt hai trục
toạ độ để thấy rõ điều đó (hình 2.7):
Trang 13P lot[Sin[x], {x, 0, 2Π}, AxesOrigin → {Π, 0}];
Hình 2.7
- Frame: Là tuỳ chọn của đồ thị hai chiều, gồm có hay không có khung viền quanh
đồ thị Các giá trị của tuỳ chọn gồm:
Frame → True: Có hiển thị khung viền
Frame → None: Không hiển thị khung viền
Giá trị mặc định của tuỳ chọn là None
Hình 2.8
Thí dụ trong lệnh vẽ đồ thị hàm Sin[x2], để đối chiếu các giá trị cực đại ta có thể sửdụng khung viền để thấy rõ (hình 2.8):
P lot[Sin[x2], {x, 0, 3}, F rame → T rue];
- GridLines: Đây là tuỳ chọn của đồ thị hai chiều bao gồm có hay không vẽ các đường
lưới cho mỗi chỗ đánh dấu trên trục toạ độ của đồ thị Các giá trị của tuỳ chọn bao gồm:
Hình 2.9
Trang 14GridLines → None: Không hiển thị các đường lưới.
GridLines → Automatic: Hiểu thị các đường lưới theo mặc định
Giá trị mặc định của tuỳ chọn này là None
Thí dụ để khảo sát chi tiết các khoảng đồ thị của hàm số Sin[x2] ta vẽ thêm các đườnglưới (hình 2.9):
P lot[Sin[x2], {x, 0, 3}, GridLines → Automatic];
- FrameLabel: Đây là tuỳ chọn của đồ thị hai chiều bao gồm có hay không có nhãn
khung Đặt các giá trị của tuỳ chọn:
FrameLabel → None: Không có nhãn khung
FrameLabel → {nhãn 1,nhãn 2,nhãn 3,nhãn 4}: Có đặt nhãn và nhãn được đặt xungquanh 4 cạnh theo chiều kim đồng hồ từ dưới
Giá trị mặc định của tuỳ chọn là None (hình 2.10)
P lot[Sin[x], {x, 0, 2Π}, F rame → T rue, F rameLabel → {Dưới, Trái, Trên, Phải}, RotateLabel → F alse];
Trang 15PlotLabel → None: Không có nhãn của đồ thị.
PlotLabel → StyleForm["nhãn",dạng text,FontFamily → "font",FontSize → n]: Đặt
nhãn cho đồ thị là nhãn với kiều dạng text, font chữ là font, cỡ chữ n.
P lot[(Sin2(Θ))/(2 + Cos2(Θ)), {Θ, 0, Π}, P lotLabel → StyleF orm[ " (Sin2(Θ))/(2 +
Cos2(Θ)) " , F ontSize → 12]]; (hình 2.11)
- Ticks: Tuỳ chọn đánh dấu các điểm trên các trục toạ độ Các giá trị của tuỳ chọn:
Ticks → None: Không đánh dấu trên các trục
Ticks → Automatic: Tự động đánh dấu trên các trục
Ticks → {{xticks, },{yticks, }}: Tuỳ chọn đánh dấu trên các trục khác nhau (hình2.12)
P lot[Sin[x], {x, 0, 2Π}, T icks → {{0, Π/2, Π, (3Π)/2, 2Π}, Automatic}];
Hình 2.12
- Plot Range: Tuỳ chọn của lệnh vẽ đồ thị cho khoảng toạ độ hiển thị Các giá trị
của tuỳ chọn:
Plot Range → All: Hiển thị toàn bộ
Plot Range → Automatic: Tự động hiển thị đồ thị
Plot Range → {ymin, ymax}: Hiển thị đồ thị trong khoảng toạ độ từ ymin đến ymax
Plot Range → {{xmin, xmax}, {ymin, ymax}}: Tuỳ chọn khoảng đồ thị hiển thị với x chạy
từ xmin đến xmax, y chạy từ ymin đến ymax
Giá trị mặc định của tuỳ chọn là All
Hình 2.13
Trang 16Thí dụ khi khảo sát hàm số Sin(x2) trong một khoảng toạ độ x → {0,2}, y → {0,1.2}(hình 2.13):
P lot[Sin[x2], {x, 0, 4}, P lotRange → {{0, 2}, {0, 1.2}}];
- PlotStyle: Tuỳ chọn kiểu vẽ của đồ thị bao gồm các hàm Graylevel[i] cho độ
xám i của đồ thị, 0 ≤ i ≤ 1, 0 _ đen hoàn toàn, 1_ trắng; Thickness[r] cho độ dày r của đường đồ thị; Dashing[r1, r2 ] cho độ dài của các đường vạch chấm kế tiếp nhau;
RGBColor[r1, g1, b1] cho màu của đồ thị bằng hàm màu (ví dụ đỏ = RGBColor[1,0,0]); Hue[h] hoặc Hue[h,s,b] cho độ hoe (sắc sáng).
Thí dụ khi ta vẽ đồng thời hai hoặc nhiều đồ thị trên một hệ trục toạ độ, khi đó thậtkhó để nhận biết các đồ thị khác nhau Ta có thể chọn màu hoặc độ dày của các đường đồthị khác nhau là khác nhau để dễ so sánh và nhận xét (hình 2.14)
P lot[{Sin[x], Sin[2x]}, {x, 0, 2Π}, P lotStyle → {T hickness[0.004], T hickness[0.007]}];
Hình 2.14
- Background: Tuỳ chọn cho màu của nền đồ thị.
Ta đặt giá trị tuỳ chọn bằng các hàm màu như RGBColor[r,g,b], GrayLevel[], hoặc
Hue[] Giá trị mặc định của tuỳ chọn này là Automatic.
P lot[Sin[x], {x, 0, 2Π}, Background → GrayLevel[0.5]];
Hình 2.15
- PlotPoints: Tuỳ chọn cho số điểm tối thiểu để lấy mẫu cho đồ thị Giá trị mặc định
của tuỳ chọn là 25 (hình 2.16a)
Thí dụ xét đồ thị sau:
Trang 17P lot[Cos[20t] + Cos[24t], {t, Π, 3Π}];
Hình 2.16aTrên đồ thị ta thấy, đoạn đầu tiên của đồ thị không được chính xác do số điểm lấy
mẫu để vẽ đồ thị không đủ Ta có thể khắc phục điều này với tuỳ chọn PlotPoints là 70
(hình 2.16b)
P lot[Cos[20t] + Cos[24t], {t, Π, 3Π}, P lotP oints → 70];
Hình 2.16bTrên đây là những tuỳ chọn quan trọng của các lệnh vẽ đồ thị hai chiều, ngoài ra còn
có các tuỳ chọn khác như:
Aspecratio: Tuỳ chọn cho tỷ lệ chiều cao/chiều rộng Giá trị mặc định của nó là
1/GoldenRatio_ 2/(1 +
√5)
TextStyle: Kiểu mẫu cho text trong đồ thị gồm các dạng như: title, subtile, section,
text , mặc định là text thường Đặt kiểu text bằng lệnh: TextStyle → dạng text.
DisplayFunction: Tuỳ chọn về cách thể hiện đồ thị, Indentity là không hiển thị đồ
thị ra
Prolog hoặc Epilog: Vẽ thêm vào đồ thị một đối tượng đồ thị đơn giản trước (hoặc
sau) đồ thị chính với mục đích đánh dấu hoặc so sánh Đó có thể là Box[], Rectange[],
Circle[] giá trị mặc định của nó là None
Các tuỳ chọn của các lệnh vẽ đồ thị có rất nhiều nhưng giá trị của các tuỳ chọn này chỉ
giới hạn trong một số ít: Automatic_có sử dụng các thuật toán đã tích hợp sẵn, None_không bao gồm tuỳ chọn này, All _bao gồm tất cả các đặc tả, True_thực hiện mặc định đã đặt,
False_không thực hiện tuỳ chọn.
Trang 182.2.3 Đồ thị hai chiều nâng cao.
Mathematica không chỉ hỗ trợ vẽ từng đồ thị của mỗi hàm số với những tuỳ chọn nhưtrên, mà nó còn hỗ trợ thêm nhiều chức năng khác trong hiện ứng hình ảnh Ta có thể vẽnhiều đồ thị cùng một lúc, bố trí lại để phục vụ cho các mục đích khác, hoặc cũng có thểtìm nghiệm của một phương trình từ đồ thị mà nếu giải trực tiếp bằng thuật toán thì sẽ gặpnhiều khó khăn
a Vẽ lại các đồ thị, vẽ chèn các đồ thị.
Ta có thể vẽ lại một hay nhiều đồ thị mà đã thực hiện trước đó mà chưa được hiển thị
ra hoặc bổ sung các tuỳ chọn
Để vẽ lại các đồ thị ta dùng lệnh: Show[{g1, g2, } , tuỳ chọn] Ví dụ (hình 2.17):
P lot[Cos[20t] + Cos[24t], {t, Π, 3Π}, P lotP oints → 70, DisplayF unction → Identity]; Show[%, Background → GrayLevel[0.8]];
Hình 2.17
Tuỳ chọn DisplayFunction → Identity sẽ không hiển thị đồ thị ra màn hình.
p1 = P lot[xSin[x], {x, −10, 10}, P lotStyle → {T hickness[0.003]},
DisplayF unction → Identity];
p2 = P lot[xCos[x], {x, −10, 10}, P lotStyle → {T hickness[0.007]},
DisplayF unction → Identity];
Show[p1, p2, F rame → T rue, DisplayF unction → $DisplayF unction];
Hình 2.18
Trang 19Show[GraphicsArray[{{g1, g2}, } }]]: hiển thị dãy đồ thị {{g1, g2, } } thành
một bảng chữ nhật các đồ thị với tuỳ chọn GraphicsSpacing → {h,v} cho khoảng cách giữa
các đồ thị: h_ khoảng dọc, v_ khoảng ngang
p1 = P lot[Sin[x], {x, 0, 2Π}, DisplayF unction → Identity];
p2 = P lot[Sin[2x], {x, 0, 2Π}, DisplayF unction → Identity];
Show[GraphicsArray[{p1, p2}]];
Hình 2.19
b Đồ thị theo tham số.
Khi xét phương trình chuyển động của một chất điểm chuyển động trong không gian
~ r = ~ r(t) Đây chính là phương trình quỹ đạo của chất điểm theo tham số t Đồ thị của quỹ
đạo là một đồ thị theo tham số Lệnh vẽ đồ thị theo tham số:
ParametricPlot[{fx, fy}, {t, tmin, tmax}] vẽ đồ thị cho bởi các toạ độ {fx(t), fy(t)}.
ParametricPlot[{{fx, fy}, {gx, gy} }, {t, tmin, tmax}] vẽ đồng thời một vài đồ thị trên
hệ trục toạ độ
Hình 2.20Thí dụ tia điện tử trong máy dao động ký gồm hai cuộn lái tia theo hai phương