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

ỨNG DỤNG MAPLE ĐỂ GIẢI CÁC BÀI TOÁN TRONG MA TRẬN

22 1K 2

Đ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 22
Dung lượng 321,44 KB

Nội dung

Trang web http://www.maplesoft.com/ http://www.Maplesoft.com Phiên bản mới nhất là Maple 16... 83 Các phép toán trong ma trận nằm trong gói LinearAlgebra... Slide bài giảng

Trang 1

Công nghệ thông tin phát triển thì các ngành nghề khác cũng phát triểnkhông kém, và việc sử dụng công nghệ thông tin vào các lĩnh vực cũng rất đa dạng.Nhiều phần mềm ra đời phục vụ hỗ trợ cho các ngành nghề khác nhau, với thời gianngắn này tôi thực hiện bài thu hoạch nhỏ môn học lập trình symbolic, và một côngcụ hỗ trợ đắc lực cho phép chúng ta lập trình rất tốt trong việc giải các bài toán tưđơn giản đến phức tạp, và các bài toán liên quan đến môn học trí tuệ nhân tạo Phầnmềm Maple, với bài này tôi có nêu ra những bài toán đơn giản về ma trận và thựchiện giải quyết nó trên Maple 16, khi thực hiện trên Maple chúng ta sẽ thấy giải toánkhông còn là vấn đề phức tạp.

Trong thời gian học môn lập trình Symbolic em xin gửi lời chân thành đếnthầy Đỗ Văn Nhơn, đã rất nhiệt tình giúp đỡ, gửi các tài liệu tham khảo cần thiết để

em có thể học và thực hành được bài thu hoạch này Với kiến thức cơ bản đã nắmtrong thời gian tới em sẽ cố gắng tìm hiểu thêm để có được đồ án ứng dụng hoànchỉnh Maple với lập trình Form

Trang 3

Phần 1. GIỚI THIỆU TỔNG QUAN VỀ MAPLE

1.1 Giới thiệu

Maple là gói phần mềm toán học thương mại phục vụ cho nhiều lĩnh vực

được xây dựng và phát triển bởi của hãng Waterloo Maple Soft Trang web

http://www.maplesoft.com/

http://www.Maplesoft.com

Phiên bản mới nhất là Maple 16 Maple là một công cụ tuyệt vời hỗ trợ choviệc học tập và nghiên cứu toán học.Với Maple ta có thể thực hiện được mọi điều tưnhững phép toán đơn giản nhất, sơ cấp nhất cho đến những tính toán phức tạp nhất

Không chỉ dưng lại ở việc hỗ trợ tính toán, Maple còn có khả năng lập trình

Ở phương diện này, có thể xem Maple như là một ngôn ngữ lập trình trong đóchúng ta có thể tạo ra những chương trình và những gói (package) để tái sử dụng

Với Maple chúng ta có thể:

• Thực hiện các tính toán với khối lượng lớn, với thời gian nhanh và độchính xác cao

• Sử dụng các gói chuyên nghiệp của Maple để giải quyêt bài toán cụthể như: Vẽ đồ thị (gói Plot), hình học giải tích (gói geometry), đại sốtuyến tính (gói linalg)…

• Thiết kế các đối tượng 3 chiều

Trang 4

1.2Giao diện

Maple 16 có giao diện như sau:

1.3Các quy tắc gõ lệnh

Trong Maple các lệnh được gõ sau dấu nhắc lệnh >, kết thúc lệnh bằng dấu(;) nếu muốn Maple hiển thị kết quả, nếu kết thúc lệnh không hiển thị kết quả củaviệc tính toán sử dụng dấu (:) Kết thúc lệnh có thể sự dụng phím Enter để bắt đầuthực hiện tính toán

Lời giải thích câu lệnh được viết sau dấu (#)

Để xuống dòng trên cùng một dấu nhắc lệnh dùng tổ hợp phím Shift + Enter.Gán giá trị cho biến dùng dâu (:=)

Gọi lại kết quả vưa thực hiện bằng lệnh %

1.4Các thành phần trong Maple

Sử dụng ký tự bao gồm bảng chữ cái tiếng Anh

Chữ Hoa và chữ thường, trong Maple có phân biệt chữ hoa, chữ thường

Các chữ số

Tập một số các ký tự đặc biệt

Trang 5

1.5 1 Các phép toán cơ bản

Phép toán Ký hiệu Phép toán Ký hiệu Phép toán Ký hiệu

Trang 6

1.5 2 Một số hàm toán học cơ bản

1.5 27

STT

1.5 28 Tên Hàm 1.5 29 Ý nghĩa

1 1.5 30 factorial(n) 1.5 31 Tính n giai thưa

2 1.5 32 isqrt(n) 1.5 33 Căn bậc hai nguyên

5 1.5 38 ifactor(n) 1.5 39 Phân tích n thành

các thưa số nguyên tố

8 1.5 44 isprime(n) 1.5 45 Kiểm tra n có phải

là số nguyên tố không? True/false

Trang 7

n) trước n

1.5 50

Trang 8

1.5 51 Một số hàm thông dụng tính toán trên biểu thức

1.5 52 1.5 53 STT 1.5 54 Tên Hàm 1.5 55 Ý nghĩa

1 1.5 56 expand(bt) 1.5 57 Khai triển biểu thức

bt

2 1.5 58 nomal(bt) 1.5 59 Tối giản phân thức

3 1.5 60 collect(bt,x) 1.5 61 Gom hạng tử của bt

theo biến x

4 1.5 62 simplify(bt) 1.5 63 Đơn giản biểu thức

5 1.5 64 devide(bt1, bt2) 1.5 65 Kiểm tra bt1 có chia

hết cho bt2 không?

6 1.5 66 degree(bt) 1.5 67 Bậc của biểu thức bt

7 1.5 68 factor(bt) 1.5 69 Phân tích đa thức

thành nhân tử

8 1.5 70 coeff(bt, x^n) 1.5 71 Hệ số của x^n trong

bt

9 1.5 72 subs([x1=a1, x2=a2],f(x1,x2, )) 1.5 73 Tính giá trị của f(x1,

x2,…) với x1=a1, x2=a2

1.5 74 1.5Tính toán trong ma trận

1.5 1 Khai báo ma trận

1.5 75 Có 2 cách khai báo 1.5 76 Cách 1: Cách 1 : A:=matrix(m,n, [ dãy phần tử]) ;// dãy phần

tử cách nhau bởi dấu phẩy (,)

Trang 9

1.5 83 Các phép toán trong ma trận nằm trong gói LinearAlgebra Đểsử dụng ta dùng gói lệnh ta dùng with(gói lệnh)

o Phép cộng, nhân ma trận: Lệnh evalm

1.5 84 1.5 85 1.5 86 Ví dụ:

Trang 11

1.5 99

o Tính ma trận chuyển vị: Lệnh transpose(A)

1.5 100 Ví dụ:

1.5 101

Trang 12

1.5 102

Phần 2. ỨNG DỤNG MAPLE ĐỂ GIẢI CÁC BÀI TOÁN

TRONG MA TRẬN2.1 Khái quát việc giải các bài toán trong ma trận

Để thực hiện tính toán các vấn đề liên quan đến đại số tuyến tính, trongMaple cung cấp sẵn hai gói lệnh cơ bản là linalg và Linearalgebra Mọi gói lệnhchứa nhiều hàm và các phép tính toán Để thực hiện các hàm hay phép tính toántrong gói lệnh nào, trước hết phải gọi gói lệnh ra trước bằng cách như sau:

with(gói lệnh): ( Ẩn đi các hàm trong gói lệnh), with( gói lệnh); (hiện cáchàm trong gói lệnh)

Ví dụ with(linalg): hoặc with(linalg);

o Để tạo ra ma trận đơn vị cấp n ta nhập :array(identity,1 n,1 n)

o Để tạo ra ma trận đường chéo trong đó list_of_elements là các phần tử trên đườngchéo trong đó list_of_elements là các phần tử trên đường chéo, có dạng ta nhập:diag(list_of_elements)

Trang 13

2.3 Các phép toán ma trận

o Để xác định hệ số dòng I và cột j của ma trận A ta nhập:

o Để nhân ma trận A vối một biểu thức bất kỳ ta nhập:

o scalarmul(a,expr) hoặc evalm(expr*a) với expr là biểu thức bất

kỳ

o Để tính tổng ma trận A + B + C + … ta nhập:

o matadd(a,b,c,…) hoặc evalm(a + b + c +…)

o Để tính tích ma trận ABC… ta nhập:

o multiply(a,b,c,…) hoặc evalm(a.b.c….)

o Để tính lũy thưa k của ma trận A ta nhập:

o evalm(a^k)

o Để xác định ma trận nghịch đảo của A ta nhập:

o inverse(a) hoặc evalm(a^(-1))

2.4 Các phép biến đổi sơ cấp trên ma trận:

o Để đổi chỗ hai dòng i và j của ma trận A ta nhập:

Trang 14

o Nếu hệ số ở vị trí i,j của A khác 0 thì sẽ đưa các hệ số ở vị trí còn lại trêncột j về 0 bằng phép biến đổi sơ cấp trên dòng loại 3 Ngược lại, báo lỗi thì

2.6 Giải phương trình ma trận AX=B

o Để giải phương trình ma trận AX = B với X là ma trận cần tìm ta nhập:

o linsolve(a,b)

2.7 Giải hệ phương trình tuyến tính:

o Để giải hệ phương trình eqns với các biến vars Trong đó eqns có dạng{eqn1,eqn2,…} và vars có dạng {var1,var2,…} ta nhập:

o solve(eqns,vars)

o Để giải hệ phương trình AX = b, với A là ma trận hệ số, b là vectơ cột cáchệ số tự do ta nhập:

o linsolve(a,b)

2.8 Một số ví dụ về giải phương trình ma trận

2.8.1Tính tích hai ma trận

o Để giải bài toán tính tích hai ma trận sử dụng hàm evalm như sau:

o Bài toán: Tính tích hai ma trận *

o Giải trong Maple:

Trang 15

2.8.2Giải các phương trình ma trận

o Giải phương trình ma trận sau:

1. X =

o Cách giải và kết quả

Trang 17

1. Ma trận cấp 1: A=(a11) => det(A)=a11

2. Ma trận cấp 2: det(A)=a11a22-a12a21

3. Ma trận cấp n:

o Tính det(A)= a11A11 + a12A12 + a21A21 + a22A22 trong đó Aij=(-1)i +

j det(Mij) là phần bù đại số của phần tử aij.

Đặc biệt: det In =1, det On=0

Trang 18

2. Tính các định thức và xác định điều kiện để ma trận khả nghịch:

o Bài toán: Tính định thức của ma trận sau:

o

o

Trang 19

2.10 Giải và biện luận hệ phương trình tuyến tính bằng phương pháp Cramer

o Phương pháp Cramer:

o Nội dung của phương pháp này cũng chính là định lý sau:

o Định lý: Cho hệ Cramer

i i

A x

n

b b b

Trang 20

o Nhận xét: Phương pháp này dùng để giải hệ phương trình có số phương trình

bằng số ẩn

o Các ví dụ:

o Ví dụ 1: Giải hệ phương trình sau:

det

det 2

A a b c x

detdet 2

A a b c x

Trang 21

detA=0;detA =detA =detA =0

o Hệ phương trình không có nghiệm duy nhất tức là hệ có vô số nghiệm hoặc hệ vô nghiệm

o Đối với trường hợp này thì phải dùng phương pháp Gauss để giải lại hệ

phương trình trên

Trang 22

2.11 Tài liệu tham khảo

1. Slide bài giảng lập trình Symbolic PGS.TS Đỗ Văn Nhơn

2. Nhon Van Do, Model for Knowledge Bases of Computational Objects,

IJCSI International Journal of Computer Science Issues, Vol 7, Issue 3,

No 8, May 2010

3. http://www.maplesoft.com/

4. Giáo trình đại số tuyến tính TS Đỗ Duy Thuận (chủ biên), NXB Đại Học

Sư Phạm Trang 165

Ngày đăng: 10/04/2015, 00:50

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

TÀI LIỆU LIÊN QUAN

w