1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giải các bài toán tối ưu bằng phần mềm mathematica cải tiến

91 30 0

Đ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 91
Dung lượng 1,53 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tôi nhận thức được rằng việc ứng dụng công nghệ thông tin phục vụ việc đổi mới phương pháp dạy học là một trong những phương pháp tích cực nhất, hiệu quả nhất trong việc đổi mới phương p

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

TRỊNH THỊ TRANG

GIẢI CÁC BÀI TOÁN TỐI ƯU BẰNG PHẦN MỀM

MATHEMATICA CẢI TIẾN

LUẬN VĂN THẠC SĨ KHOA HỌC

TOÁN TIN

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

TRỊNH THỊ TRANG

GIẢI CÁC BÀI TOÁN TỐI ƯU BẰNG PHẦN MỀM

MATHEMATICA CẢI TIẾN

Chuyên ngày: Toán tin

LUẬN VĂN THẠC SĨ KHOA HỌC

TOÁN TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: GS.TSKH LÊ HÙNG SƠN

Hà Nội – 2018

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất kỳ công trình nào khác

Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện luận văn này đã đƣợc cảm ơn và các thông tin trích dẫn trong luận văn đã đƣợc chỉ rõ nguồn gốc

Tác giả luận văn

Trịnh Thị Trang

Trang 4

đã tận tình giúp đỡ, tạo điều kiện cho tác giả trong quá trình học tập nghiên cứu Đặc biệt tác giả xin bày tỏ lòng biết ơn sâu sắc tới GS.TSKH Lê Hùng Sơn, người đã tận tình chỉ dẫn, giúp đỡ tác giả nghiên cứu và hoàn thành luận văn này

Mặc dù bản thân đã rất cố gắng nhưng chắc chắn không thể tránh khỏi những thiếu sót, tác giả rất mong nhận được những ý kiến đóng góp bổ sung của quý thầy

cô giáo cũng như các đồng nghiệp để luận văn được hoàn thiện hơn nữa

Xin chân thành cảm ơn!

Hà Nội, ngày tháng năm

Tác giả luận văn

Trịnh Thị Trang

Trang 5

DANH MỤC CÁC CHỮ VIẾT TẮT

MIN Giá trị nhỏ nhất MAX Giá trị lớn nhất QHTT Qui hoạch tuyến tính

Trang 6

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

DANH MỤC CÁC CHỮ VIẾT TẮT iii

MỤC LỤC iv

PHẦN MỞ ĐẦU 1

I Lý do chọn đề tài 1

II Mục đích, đối tượng, phạm vi nghiên cứu của luân văn 2

III Các luận điểm cơ bản và đóng góp mới của tác giả 3

CHƯƠNG 1: TỔNG QUAN VỀ PHẦN MỀM MATHEMATICA 4

1 1 Giới thiệu về phần mềm Mathematica 4

1.2 Các phép tính toán học với số, biểu thức và hàm 6

1.2.1 Tính toán số 6

1.2.1.1 Các toán tử số học 6

1.2.1.2 Các toán tử logic 8

1.2.1.3 Kết quả gần đúng và chính xác 9

1.2.2 Tính toán với biểu thức 10

1.2.2.1 Các phép tính đại số trên các biểu thức 10

1.2.2.2 Đặt tên và tính toán các biểu thức 12

1.2.3 Định nghĩa các hàm 14

1.2.3.1 Định nghĩa hàm một biến 14

1.2.3.2 Định nghĩa hàm nhiều biến 16

1.2.3.3 Định nghĩa hàm vector một biến 18

1.2.3.4 Định nghĩa hàm nhiều biến 19

1.2.3.5 Định nghĩa hàm hợp 19

1.2.3.6 Các hàm số phức tạp 21

1.2.4 Tính năng đồ họa 23

Trang 7

1.2.4.1 Biểu diễn nhiều hàm số trên cùng một đồ thị 23

1.2.4.2 Hàm phức tạp 24

1.2.4.3 Vẽ đồ thị các hàm theo tham số trong không gian 2 chiều 24

1.2.4.4 Đồ họa ba chiều 25

1.2.4.5 Vẽ các đường đồng mức của hàm 2 biến 27

1.2.4.6 Vẽ đồ thị đường và mặt cong theo tham số trong không gian 29

1.2.4.7 Tìm giao điểm đồ thị các hàm số 30

1.3 Làm việc với ma trận 31

1.3.1 Cách cho một ma trận 31

1.3.2 Các phép toán với ma trận 31

1.3.3 Các hàm với ma trận 32

1.3.4 Tạo một ma trận với tính chất cho trước 32

1.4 Hàm số 32

1.4.1 Định nghĩa hàm số trên Mathematica 32

1.4.2 Hàm có sẵn trong Mathematica 33

1.5 Vẽ đồ thị và điểm 33

1.5.1 Lệnh Plot 33

1.5.2 Lệnh ListPlot 39

1.6 Các vòng lặp Do, For, While 40

1.6.1 Vòng lặp dạng Do 40

1.6.2 Vòng lặp dạng For 40

1.6.3 Vòng lặp dạng While 40

1.6.4 Các ví dụ 40

1.7 Lệnh If 41

1.8 Giải phương trình và hệ phương trình 41

1.9 Tích phân, đạo hàm, chuỗi và giới hạn 44

1.10 Tính toán nhiều biến 45

Trang 8

CHƯƠNG 2: ỨNG DỤNG CỦA MATHEMATICA TRONG BÀI TOÁN MIN,

MAX VÀ QUI HOẠCH TUYẾN TÍNH 50

2.1 Dạng tổng quát của bài toán qui hoạch tuyến tính 50

2.2 Dạng chính tắc của bài toán qui hoạch tuyến tính 51

2.3 Dạng chuẩn của bài toán qui hoạch tuyến tính 51

2.4 Dạng chuẩn tắc của bài toán qui hoạch tuyến tính 54

2.5 Bài toán đối ngẫu 55

2.6 Một số ví dụ giải bằng Mathematica 59

CHƯƠNG 3: ÁP DỤNG MATHEMATICA TRONG MỘT SỐ BÀI TOÁN THỰC TẾ 65

3.1 Bài toán vận tải 65

3.2 Bài toán kinh tế 70

KẾT LUẬN 81

TÀI LIỆU THAM KHẢO 83

Trang 9

PHẦN MỞ ĐẦU

I Lý do chọn đề tài

Đổi mới phương pháp dạy học đã và đang là yêu cầu trọng tâm và thường xuyên của các cơ sở giáo dục trong hệ thống giáo dục nước ta Phương pháp dạy học được đổi mới theo định hướng: “Lấy học sinh làm trung tâm, tích cực hóa năng lực hoạt động học tập của học sinh”

Để đáp ứng nhu cầu của tình hình mới, thực hiện có hiệu quả công tác giảng dạy

; người giáo viên không ngừng nghiên cứu học hỏi và vận dụng vào thực tế Đặc biệt với sự phát triển nhanh chóng của công nghệ thông tin (CNTT) đã và đang được ứng dụng sâu rộng vào tất cả các lĩnh vực trong cuộc sống Đặc biệt, đối với ngành giáo dục và đào tạo, CNTT có tác động mạnh mẽ, làm thay đổi nội dung, phương pháp dạy và học CNTT là phương tiện để tiến tới “Xã hội học tập” CNTT trở thành công cụ hỗ trợ đắc lực cho công tác dạy học nhất là theo định hướng đổi mới hiện nay

Sau khi kết thúc học phần toán về quy hoạch tuyến tính tôi nhận thấy đây là một dạng toán phức tạp Bài toán quy hoạch tuyến tính có tên tiếng Anh là linear programming Đây là lĩnh vực toán học nghiên cứu các bài toán tối ưu mà hàm mục tiêu và các ràng buộc đều là các hàm và các phương trình, bất phương trình tuyến tính Để tìm được lời giải tối ưu hay giá trị tối ưu của bài toán chúng ta phải trải qua rất nhiều bước, giải nhiều phương trình, bất phương trình tuyến tính phức tạp Tôi nhận thức được rằng việc ứng dụng công nghệ thông tin phục vụ việc đổi mới phương pháp dạy học là một trong những phương pháp tích cực nhất, hiệu quả nhất trong việc đổi mới phương pháp dạy học và chắc chắn sẽ được sử dụng rông rãi trong toán học Vì vậy , tôi mạnh dạn quyết định học tập và nghiên cứu một phần mềm cho giảng dạy và học tập Trong rất nhiều phần mềm được sử dụng phổ biến như : ngôn ngữ lập trình Pascal, ngôn ngữ lập trình C, C#, visual Basic, Java, …đều được đưa vào giảng dạy trong các nhà trường Tuy nhiên, tôi đã lựa chọn một phần

Trang 10

mềm mà nó trợ giúp nhiều trong nhiều lĩnh vực khác nhau nhất là toán học nhưng chưa được sử dụng phổ biến hiện nay ở nước ta là phần mềm toán học Mathematica

Hiện nay, Mathematica là một phần mềm đang dần được sử dụng và giảng dạy tại nhiều trường đại học, là công cụ hỗ trợ trong việc đổi mới phương pháp giảng dạy ở nhiều môn học: Toán học, vật lý, hoá học, sinh học, công nghệ, toán kinh tế, tối ưu hoá, bảo mật thông tin, …

Phần mềm Mathematica là công cụ tính toán mạnh, giải quyết hầu hết các loại bài toán đại số và giải tích mà còn là bộ phần mềm hỗ trợ đồ họa rất hữu ích Việc

sử dụng Mathematica đem đến cho người dùng nhiều tiện dụng Đặc biệt trong giảng dạy toán cao cấp, Mathematica giúp các giảng viên truyền đạt kiến thức một cách đầy đủ; học viên có thể sử dụng Mathematica để tiếp thu, thực hành, kiểm định kết quả tính toán một cách trực quan, chính xác

Tuy nhiên, một khó khăn đối với nghiên cứu phần mềm này là số đầu sách viết bằng tiếng Việt về Mathematica còn hạn chế, ít có trên thị trường tạo khó khăn khi nghiên cứu và học tập

II Mục đích, đối tượng, phạm vi nghiên cứu của luân văn

Luận văn sẽ tập trung giới thiệu, nghiên cứu các khái niệm cơ bản và ứng dụng của Mathematica để giải quyết những bài toán MIN, MAX và quy hoạch tuyến tính Những khái niệm khác trong toán học cơ bản như các phép tính số học đối với phương trình, bất phương trình tuyến tính, bất đẳng thức tuyến tính, ma trận , … rất hay gặp nhưng trong thực tế có những trường hợp ta mất rất nhiều thời gian và công sức để giải quyết, thậm chí khó có thể ra được kết quả Tuy nhiên, phần mềm toán học Mathematica sẽ cho ta đáp án nhanh nhất và chính xác nhất có thể

Ngoài ra, khi chuẩn bị bài tập về MIN, MAX và quy hoạch tuyến tính để người học có thể rèn luyện kỹ năng thì Mathematica là công cụ hỗ trợ tuyệt vời cho giáo

Trang 11

viên, giảng viên khi chuẩn bị đề bài và kiểm tra kết quả Với ứng dụng này thì Mathematica là một sự trợ giúp không hề nhỏ cho giáo viên, giảng viên trong công tác giảng dạy

III Các luận điểm cơ bản và đóng góp mới của tác giả

Trên thực tế luận văn chỉ trình bày các dạng bài toán quen thuộc về MIN, MAX

và quy hoạch tuyến tính, các ứng dụng của Mathematica khi giải quyết các bài toán

đó Tuy nhiên tác giả cũng chỉ ra thêm các phương pháp để xử lý nhanh các bài toán liên quan để Mathematica là công cụ đắc lực khi thay đổi đề toán

IV Phương pháp nghiên cứu

- Tham khảo và dịch các tài liệu tiếng Anh

- Tìm hiểu giáo trình cơ bản được học

- Tìm hiểu qua thực tế giảng dạy ở các trường Đại học, cao đẳng trên địa bàn Hà Nội

- Tổng hợp và trình bày

Trang 12

CHƯƠNG 1: TỔNG QUAN VỀ PHẦN MỀM MATHEMATICA

1 1 Giới thiệu về phần mềm Mathematica

Phần mềm tính toán Mathematica lần đầu tiên được hãng Wolfram Resesearch phát hành vào năm 1988 Đây là một hệ thống phần mềm làm toán nhờ máy tính, nó bao gồm các tính toán bằng kí hiệu, tính toán bằng số, vẽ đồ thị và là ngôn ngữ lập trình Lần đầu tiên khi version 1 của Mathematica được phát hành, mục đích chính của phần mềm này là đưa vào sử dụng cho các ngành khoa học vật lý, công nghệ và toán học, nhưng cùng với thời gian Mathematica trở thành phần mềm quan trọng trong nhiều lĩnh vực khác

Ngày nay Mathematica không những được sử dụng trong các ngành khoa học tự nhiên như vật lý, sinh học, toán học, hóa học, công nghệ mà nó đã trở thành một phần mềm quan trọng của các ngành khoa học xã hội cũng như kinh tế Trong công nghệ ngày nay người ta đã sử dụng Mathematica trong công tác thiết kế Trong kinh

tế Mathematica lại là công cụ mạnh để tiến hành mô hình hóa các bài toán kinh tế phức tạp Mathematica cũng là một trong các công cụ quan trọng trong khoa học máy tính cũng như trong lĩnh vực phát triển phần mềm Tuy phần quan trọng của Mathematica nằm trong lĩnh vực khoa học kỹ thuật nhưng nó cũng là một công cụ mạnh trong lĩnh vực giáo dục đào tạo Trong số hơn 100.000 người sử dụng Mathematica có 28% là các kỹ sư, 21% các nhà khoa học, 20% các nhà vật lý, 12% các nhà toán học, 12% các nhà doanh nghiệp, các nhà khoa học xã hội và nhân văn

Số người sử dụng Mathematica ngày càng tăng Theo số liệu gần đây tất cả các công ty có trong Fortune 50, hầu hết 15 bộ chủ chốt của chính phủ Hoa Kỳ và 50 trường đại học lớn nhất thế giới sử dụng Mathematica Có nhiều xuất bản định kỳ

và khoảng 200 quyển sách liên quan đến Mathematica đã được công bố

Bản thân Mathematica được coi là một hệ thống đại số máy tính tiện lợi cho nhiều đối tượng sử dụng khác nhau Mathematica có nhiều version do liên tục được

Trang 13

cải tiến và hoàn thiện : 1.2, 2.0, 2.2, 3.0, 4.0, …….và đến nay thì phiên bản 10 đã ra đời nhưng phiên bản 8.0 và 9.0 vẫn được sử dụng nhiều

Một số quy tắc cơ bản khi sử dụng phần mềm Mathematica:

- Mathematica phân biệt chữ hoa chữ thường, các hàm của nó đều bắt đầu bằng chữ hoa

- Các biến đi theo hàm đều được đặt trong ngoặc vuông, cú pháp hình thức như sau: Ham[Expr] : ví dụ: Cos[x], sin[x]

- Để thực hiện một câu lệnh, ta dùng tổ hợp phím “Shift + Enter”

- Để kết thúc một câu lệnh ta đặt dấu chấm phẩy (;), nếu không có dấu (;) thì kết quả sẽ được hiển thị bên dưới

- Cần phân biệt các dấu [], [[]], {}, ()

+ Cặp ngoặc () dùng để ngoặc các biểu thức toán học

+ Cặp ngoặc [] dùng để chứa các đối số, biến số của lệnh của hàm

+ Cặp ngoặc {} dùng để liệt kê các miền cho đối số, liệt kê các công việc, dùng cho các mảng hoặc ma trận

- Lệnh N[expr] dùng để hiển thị kết quả thành số thập phân Ví dụ : nếu bạn gõ Cos[1] thì kết quả hiển thị chỉ là Cos[1], nếu bạn gõ N[cos[1],6] thì kết quả trả về sẽ

là 0.540302

- Không được chạy nhiều chương trình cùng một lúc vì các biến vẫn còn lưu lại giá trị của nó, khi đó kết quả trả của bạn sẽ bị sai, để khắc phục, bạn chỉnh lại như

sau Evaluation/ Quit Kernel / Local

- Cách đặt biến bình thường như a, b, c, x, y, z…… không được đặt XY_a, XY – a, không được dùng các chữ cái sau để đặt tên biến C, D, E, I, N

Trang 14

- Tổ hợp Ctrl + K để tìm các hàm có tên giống nhau ở phần đầu

- Lệnh ?Int* để tìm tất cả các hàm bắt đầu bằng “Int” tương tự với ?*Q hay

?*Int*

- Cần phân biệt List và Matrix trong Mathematica Nếu viết {1, 2, 3, 4} thì đây

là một list gồm 4 phần tử, còn nếu viết {{1}, {2}, {3}, {4}} thì đây là một matrix 4 dòng 1 cột, đối với 1 list thì không thể dùng hàm chuyển vị Transpose được, tuy

nhiên bạn có thể sử dụng các phép toán ma trận giữa Matrix và list, kết quả vẫn đúng như khi tính toán giữa các ma trận

- Phân biệt giữa các ký hiệu := , = , và ==

- Dùng tổ hợp phím “Shift + Enter” để in ra kết quả

Ví dụ :

x:= 1 là lệnh gán giá trị 1 cho hằng số X,

x =1 là lệnh gán giá trị 1 cho biến x (x có thể thay đổi giá trị trong khi thực hiện chương trình)

x == 1 là so sánh các giá trị vế trái x có bằng giá trị vế phải 1 hay không

1.2 Các phép tính toán học với số, biểu thức và hàm

Trang 15

Không thể in ra kết quả do lỗi phép tính chia 0

Chú ý: Dấu cách (space) trong Mathematica cũng đƣợc sử dụng nhƣ dấu nhân

Ví dụ: In[56]:=

Out[56]:= 30

- Cho kết quả chính xác nếu dùng dấu ngoặc đơn để biểu diễn biểu thức số học:

- Ví dụ :

Trang 16

In[57]: =

Out[57] := 5

1.2.1.2 Các toán tử logic: Mathematica cho phép sử dụng các phép so sánh nhƣ

trong toán học Khi so sánh Mathematica sẽ trả lời đúng (true) hay sai (false)

Cách viết:

x=y Gán giá trị y cho x

x==y so sánh x có bằng y hay không

x!=y x không bằng y

x>y x lớn hơn y

x<y x nhỏ hơn y

x>=y x lớn hơn hoặc bằng y

x<=y x nhỏ hơn hoặc y

x==y==z x bằng y bằng z

x!=y!=z x không bằng y không bằng z

x>y>z các số giảm dần từ x tới z

!! không phải là

Các toán tử And và Or đƣợc sử dung nhƣ sau:

Or[bt 1, bt 2, …] hoặc (bt 1|| bt 2|| …): Cho kết quả True nếu một trong các biểu thức có True, False nếu tất cả các biểu thức đều False

And[bt 1, bt 2, …] hoặc (bt 1&&bt 2&&…): Cho kết quả True nếu tất cả các biểu thức đều True, cho kết quả False nếu một trong các biểu thức là False

Xor[bt 1, bt 2,…]: Cho kết quả True nếu có một số lẻ các biểu thức True, False nếu có một số chẵn các biểu thức True

Trang 17

If[test,t,f]: Cho giá trị là t nếu test nhận giá trị True, ngƣợc lại cho giá trị f

LogicalExpand[btL]: Khai triển biểu thức Logic

1.2.1.3 Kết quả gần đúng và chính xác

Khi làm việc với số nguyên, Mathematica luôn hiển thị kết quả chính xác và đầy

đủ trên màn hình, ngay cả khi tính toán với những số lớn

về số hữu tỷ là nói về phân số Do đó, kết quả sau các phép tính trong Mathematica vẫn là số hữu tỷ

Trang 18

Vì vậy , chúng ta sử dụng lệnh N[…] hay //N trong những trường hợp

Mathematica cho ta kết quả mà trong các phần mềm khác không thể tính được

1.2.2 Tính toán với biểu thức

Một điểm mạnh của Mathematica là thực hiện biểu diễn các phép tính đại số đối với một biểu thức, chẳng hạn như: khai triển, phân tích, …

1.2.2.1 Các phép tính đại số trên các biểu thức

/ hoặc // : Thay thế giá trị

Expand[biểu thức] : Khai triển biểu thức

Trang 19

ExpandAll[biểu thức] : Khai triển tất cả các biểu thức con trong biểu thức ExpandDenominator[biểu thức]: Khai triển mẫu thức

ExpandNumerator[biểu thức]: Khai triển tử thức

Denominator[biểu thức]: Cho giá trị mẫu thức

Numerator[biểu thức]: Cho giá trị tử thức

Apart[biểu thức] : Cho phân thức đơn giản của biểu thức hữu tỷ

Cancel[biểu thức]: Giản ước thừa số chung trong biểu thức

Collect[biểu thức,x]: Cho đa thức theo biến x

Factor[đa thức]: Phân tích đa thức thành nhân tử trên trường số hữu tỷ

Short[đa thức]: hình thức viết gọn của đa thức

Simplify[đa thức]: Rút gọn đa thức

Together[biểu thức]: Viết biểu thức dưới dạng một phân thức

Ví dụ :

In[1]: =

Out[1] :=

In[3]:

Out[3]:=

In[5]:=

Trang 20

Out[5]:=

In[6]:=

Out[6]:=

1.2.2.2 Đặt tên và tính toán các biểu thức

Trong Mathematica, để đơn giản hoá các đối tƣợng toán học trong quá trình lập trình, ta có thể đặt tên cho các đối tƣợng đó nhằm tránh tình trạng nhắc đi, nhắc lại nhiều lần một biểu thức toán học, mà chi cần nhắc tên của nó là đƣợc

Ví dụ : Cho biểu thức

Trang 21

- Tiếp theo chúng ta thực hiện đơn giản biểu thức:

- Tiếp theo thực hiện thực hiện phân tích biểu thức trên thành tổng của các phân thức:

Để đƣa ra đƣợc kết quả nhƣ trên Mathematica thực hiện nhƣ sau:

Đầu tiên ta đƣa vào một biểu thức đại số, Mathematica tự động thay đổi vị trí 2

số hạng theo cách riêng của nó Lệnh Expand khai triển biểu thức mới nhập vào,

Trang 22

hay nói đúng hơn là phá ngoặc Chúng ta có thể đếm số hang của một biểu thức bằng lệnh Length và một lần nữa chúng ta lại bắt gặp kí hiệu % - tương ứng với kết quả kề ngay trước nó Nếu muốn phân tích thành nhân tử của một biểu thức ta dùng lệnh Factor, kí hiệu %% - tương ứng với kết quả nằm trước kết quả kề nó Từ ví dụ trên ta nhận thấy rằng Expand không phân phối các luỹ thừa hữu tỷ trên tích, thay vào đó chúng ra có lệnh PowerExpand

1.2.3 Định nghĩa các hàm

Các hàm trong Mathematica đều bắt đầu bằng chữ hoa, còn các hàm hoặc các biểu thức có thể đặt tên bắt đầu bằng chữ thường Để tránh tình trạng tên hàm đã được dùng định nghĩa trước đó mà ta đã dùng thì phải dùng lệnh Clear[…] để xoá hết tất cả các định nghĩa nếu có về hàm đó

Ta sẽ tìm hiểu định nghĩa các hàm qua các ví dụ sau:

Trang 26

h[x_,y_,z_] = (x^2)*Cot[y+2z]- E^(x*y*z)

1.2.3.3 Định nghĩa hàm vector một biến

Ví dụ: Định nghĩa hàm giá trị vector f(x) = (x; 2+sin x) tính giá trị f(ᴫ)

Trang 27

1.2.3.4 Định nghĩa hàm nhiều biến

Ví dụ: Định nghĩa hàm số: F = x2 tan(y+2xy)

sin(x+y).Lnx

Tính F(1,0)

Bài làm Thực hiện nhập lệnh sau:

Trang 29

1.2.3.6 Các hàm số phức tạp

Với các phép toán thì tính toán với một số các hàm nhƣ trị tuyệt đối, Ln, Exp, Sin, Cos, Tan, Cotan, hay các hàm ArcSin, …, trở nên phức tạp, tuy nhiên Mathematica giải quyết đƣợc các vấn đề đó một cách rất khoa học

Ví dụ: Muốn biểu diễn e-5 ta dùng lệnh Exp nhƣ sau:

Trang 30

Hay muốn vẽ đồ thị hàm trị tuyệt đối y = | | trong khoảng [-5,5] ta dùng lệnh sau:

2 1 1

Trang 31

Ví dụ: Vẽ đồ thị hàm số Cosx trong khoảng (-2π, 2π)

In[7]:=

Out[7]:=

1.2.4 Tính năng đồ họa

1.2.4.1 Biểu diễn nhiều hàm số trên cùng một đồ thị

Ví dụ vẽ đồ thị hàm số các hàm Sinx, Sin2x, Sin trong khoảng [0, 4π] nhƣ sau:

0.5 1.0

1 1

Trang 33

Khi đó để biểu diễn phương trình đường tròn trên Mathematica ta làm như sau:

1 2 3 4

Trang 36

Với c = const

Ví dụ: Vẽ đường đồng mức hàm g(x,y) = xsiny + ysinx trong hình chữ nhật

xϵ ]

In[22]:= Clear[g]

g[x_,y_]=x Sin[y]+y Sin[x];

ContourPlot[g[x,y],{x,0,5},{y,0,5},PlotPoints30]

Vẽ đồ thị hàm h và các đồng mức của h trong hình chữ nhật [-2,2]x[-2,2] với h(x,y)=

2.5 5 7.5 10 12.5 15

Trang 37

Out[28]:=

1.2.4.6 Vẽ đồ thị đường và mặt cong đã cho theo tham số trong không gian

Từ một bài toán vẽ đồ thị thông thường ta đưa về dạng tham số

Ví dụ: Vẽ đường ellipsoid phương trình

và đường hypebol có phương trình

ta đưa về dạng tham số như sau:

Phương trình tham số của ellipsoid:

Trang 38

Phương trình tham số của hypebol:

-5

0

5

-1 0 1

Trang 39

Plot[{h[x],k[x]},{x,0,7},PlotStyle{GrayLevel[0],GrayLevel[.5]}]

Ví dụ : Table [i*j, {i, 1,10}, {j, 1, 10} ] sẽ cho một ma trận 10 dòng 10 cột

Trang 40

Nhân hai ma trận, sử dụng dấu chấm (.)

1.3.3 Các hàm với ma trận

Tr[A]: tổng các phần tử trên đường chéo chính của ma trận vuông A

Det[A]: Định thức của ma trận A

Transpose[A]: Ma trận chuyển vị của ma trận A

Inverse[A] : Giá trị riêng của ma trận A

Eigenvectors[A] : Vec tơ riêng của ma trận A

MatrixPower[A, n] : Luỹ thừa n của ma trận A

MatrixExp[A]: Ma trận mũ của ma trận A

Drop[A, {i}, {}] : Xoá dòng thứ i của ma trận A

Drop[A, {}, {j}] : Xoá cột thứ j của ma trận A

Union[A,B] : Hợp 2 ma trận A, B

1.3.4 Tạo một ma trận với tính chất cho trước

Tạo ma trận đơn vị cấp n: IdentityMatrix[n]

Tạo ma trận đường chéo: DiagonalMatrix[v], v là vec tơ đường chéo có dạng

v= {a,b,c,d,…}

1.4 Hàm số

1.4.1 Định nghĩa hàm số trên Mathematica

Cách 1: Muốn định nghĩa hàm parabol ta viết f[x_]= x^2 + 3x + 1

Định nghĩa hàm 2:

g(x,y) ta viết g[x_,y_] = x^2 + y^2

Ngày đăng: 10/03/2021, 19:59

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w