Sử dụng phần mềm Maple để giải quyết các vấn đề trên ma trận và ứng dụng vào giải hệ phương trình đại số tuyến tính - Pdf 25

TRƯỜNG ĐẠI HỌC SƯ PHẠM HUẾ
KHOA TOÁN
SỬ DỤNG PHẦN MỀM MAPLE ĐỂ GIẢI QUYẾT
CÁC VẤN ĐỀ TRÊN MA TRẬN VÀ ỨNG DỤNG VÀO
GIẢI HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH
Giảng viên hướng dẫn Lớp toán 3B - nhóm 09
Nguyễn Đăng Minh Phúc Nguyễn Ngọc Tư
Nguyễn Như Thứ
Phan Quốc Luân
Lương Ngọc Tuấn
Huế, ngày 20 tháng 9 năm 2013
MỤC LỤC
LỜI NÓI ĐẦU 1
I. Giới thiệu về phần mềm maple 2
1. Maple 2
2. Ứng dụng chương trình Maple đối với một số vấn đề của đại số
tuyến tính 3
II. Các phép toán đại số trên ma trận và vectơ 3
1. Một số lệnh tạo ma trận cấp m×n 3
2. Các phép tính trên ma trận và vectơ 4
2.1. So sánh hai ma trận 4
2.2. Tổng hai ma trận 5
2.3. Tích của hai ma trận 5
3. Tìm vết của ma trận (tổng các phần tử thuộc đường chéo chính).6
4. Tạo ma trận con từ một ma trận cho trước 7
5. Trích một dòng, cột của ma trận 7
6. Hoán vị dòng, cột của một ma trận 8
7. Tìm ma trận chuyển vị 8
8. Tìm ma trận liên hợp 9
9. Tìm ma trận đặc trưng 9
10. Tìm đa thức đặc trưng của một ma trận 9

mong bạn đọc góp ý, xin cảm ơn.
1
I. Giới thiệu về phần mềm maple:
1. Maple:
Là một phần mềm Toán học do Đại Học Tổng HợpWaterloo(Canada)
xây dựng và đưa vào sử dụng năm 1985. Sau nhiều lần cải tiến và phát
triển qua nhiều phiên bản khác nhau và ngày càng được hoàn thiện. Maple
chạy trên tất cả các hệ điều hành, có trình trợ giúp rất dễ sử dụng. Từ phiên
bản 7, Maple cung cấp ngày càng nhiều các công cụ trực quan, các gói lệnh
tự học gắn liền với toán phổ thông và đại học. Ưu điểm đó khiến ngày càng
có nhiều nước trên thế giới lựa chọn sử dụng Maple trong dạy-học toán tương
tác trước đòi hỏi của thực tiễn và sự phát triển của giáo dục.
- Chức năng chính của Maple:
• 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 dụng của Maple để giải quyết các bài toán cụ
thể như: vẽ đồ thị (gói plots), hình học giải tích (gói geometry), đại số tuyến
tính (gói linalg), Giải tích (gói student), phương trình vi phân(gói DEtools), lý
thuyết số (gói numtheory), Dữ liệu rời rạc (gói DiscreteTransforms),
• Thiết kế các đối tượng 3 chiều;
• Minh họa hình học thuận tiện gồm: vẽ đồ thị tĩnh và động của các
đường và mặt được cho bởi các hàm tùy ý trong nhiều hệ tọa độ khác nhau;
• Tính toán trên các biểu thức đại số;
• Có thể thực hiệc được hầu hết các phép toán cơ bản trong chương
trình toán đại học và sau đại học;
• Ngôn ngữ lập trình đơn giản và mạnh mẽ, có khả năng tương tác với
các ngôn ngữ lập trình khác;
• Một công cụ biên soạn giáo án và bài giảng điện tử, thích hợp với các
lớp học tương tác trực tiếp;
• Một công cụ hữu ích cho học sinh và sinh viên trong việc tự học;

[[ , , , ],[ , , , ], ,[ , , , ]]
n n m m mn
L a a a a a a a a a=
+ Trong trường hợp L được xác định bởi các phần tử cụ thể thì ta có thể
bỏ qua các chỉ số m, n.
3
Ví dụ: Tạo ma trận 3 dòng, 4 cột sau (m = 3, n = 4)
>matrix(3,4,[[1,2,1,2],[3,5,4,6],[3,4,0,2]]);
hoặc bỏ chỉ số hàng, cột
>matrix([[1,2,1,2],[3,5,4,6],[3,4,0,2]]);
Được kết quả:
1 2 1 2
3 5 4 6
3 4 0 2
 
 
 
 
 
Ngoài ra, tạo ma trận cấp mxn với các phần tử của ma trận là các giá
trị hàm của f xác định trên các chỉ số hàng và cột của ma trận, ta thực hiện
như sau:
Ví dụ: Tạo ma trận
(1,1) (1,2)
(2,1) (2,2)
f f
C
f f
 
=

1 2
:
3 4
A
B
true
 
=
 
 
 
=
 
 
2.2. Tổng hai ma trận:
- Dùng lệnh đánh giá evalm để tính tổng của hai ma trận
 Cú pháp: >evalm(expr)
Trong đó expr là biểu thức tổng, hiệu, tích của các ma trận.
Ví dụ: Tính tổng các ma trận sau:
>restart:
>with(linalg):
C:=matrix([[2,3],[4,7]]);
E:=matrix([[1,a],[9,1]]);
F:=matrix([[b,0],[1,0]]);
2 3
:
4 7
C
 
=

21 9
b a
− +
 
 
 
2.3. Tích của hai ma trận:
Có thể dùng một trong hai hàm sau:
>Multiply(A,B,…): Nhân các ma trận A, B, … với nhau.
5
>evalm(A&*B&*C…): Nhân các ma trận A, B, C với nhau bằng lệnh
đánh giá evalm.
Khi đó, máy sẽ thực hiện phép nhân này từ trái sang phải.
Ví dụ: Nhân hai ma trận sau đây:
: [3,4]A
=

1
:
2
B
 
=
 
 
Ta thực hiện như sau:
>A:=array([3,4]);
>B:=array([1,2]);
>evalm(B&*A);
Ta được kết quả:

+ A là ma trận cho trước,
+Rrange, Crange: Khoảng chỉ số dòng, cột.
+Rlist, Clist: Danh sách chỉ số dòng, cột.
Ví dụ: Tạo ma trận con P từ ma trận A.
>with(linalg);
A:=matrix(2,3,[8,2,5,2,0,3]);
8 2 5
:
2 0 3
A
 
=
 
 
>P:=submatrix(A,1 2,2 3);
2 5
:
0 3
P
 
=
 
 
>P:=submatrix(A,[1,2],[1]);
8
:
2
P
 
=

swaprow(A, r
1
, r
2
): Hoán vị 02 dòng r
1
và r
2
của ma trận A.
swapcol(A, c
1
, c
2
): Hoán vị 02 cột c
1
và c
2
của ma trận A
Ví dụ:
>A:=matrix(3,3,[2,2,5,9,8,5,2,7,2]);
2 2 5
: 9 8 5
2 7 2
A
 
 
=
 
 
 

 
 
=
 
 
 
8
8. Tìm ma trận liên hợp:
 Cú pháp: adjoint(A);
Ví dụ: Tìm ma trận liên hợp của ma trận A.
>A:=matrix(2,2,[5,1,2,3]);
5 1
:
2 3
A
 
=
 
 
>adjoint(A);
3 1
2 5

 
 

 
9. Tìm ma trận đặc trưng:
 Cú pháp: charmat(C, x). Tìm ma trận đặc trưng của ma trận C trình
bày kết quả theo biến x.

Ví dụ:
Tìm đa thức đặc trưng của ma trận C ở trên:
>charpoly(C, lambda);
3 2
14 32 13
λ λ λ
− + −
11. Biến đổi ma trận về dạng bậc thang:
 Cú pháp:
9
>with(linalg);
>rref(A);
Ví dụ:
>with(linalg);
>A:=matrix(3,4,[2,1,3,2,3,5,2,1,1,2,3,5]);
2 1 3 2
3 5 2 1
1 2 3 5
A
 
 
=
 
 
 
>rref(A);
20
1 0 0
9
7

 
=
 
 
 
>gaussjord(A, r);
10
20
1 0 0
9
7
0 1 0
9
17
0 0 1
9

 
 
 
 
 
 
 
 
 
>r;
3
13. Tìm vectơ riêng của ma trận A:
 Cú pháp:

 
= −
 
 

 
>e:=eigenvalues(A);
e:=4,-2, 2
11
15. Tìm hạng của ma trận A:
 Cú pháp:
>With(linalg);
>rank(A);
Ví dụ:
>A:=matrix(3,3,[1,-3,3,3,-5,3,6,-6,4]);
1 3 3
: 3 5 3
6 6 4
A

 
 
= −
 
 

 
>rank(A);
3
16. Tính định thức của ma trận A:

 
 
= −
 
 

 
12
>inverse(A);
18. Biến đổi ma trận về dạng tam giác:
 Cú pháp:
>with(linalg);
>gausselim(A,r,d);
Trong đó:
- A là ma trận vuông,
- r, d là các tham số cho biết hạng và định thức của A (có hoặc
không).
Ví dụ:
>with(linalg);
>A:=matrix(3,3,[1,-3,3,3,-5,3,6,-6,4]);
1 3 3
: 3 5 3
6 6 4
A

 
 
= −
 
 

 
b:= [2, 9, 2]
>geneqns(A,[x,y,z],b);
2. Giải hệ phương trình đại số tuyến tính:
Phương trình đại số tuyến tính có dạng Ax = b có nhiều phương pháp
giải khác nhau thông qua các phép biến đổi. Cú pháp lệnh trực tiếp giải hệ
phương trình đại số tuyến tính là:
>linsolve(A, b);
Trong đó:
+ A: ma trận xác định vế trái của hệ phương trình;
+ b: Vectơ xác định vế phải.
Ví dụ: Giải hệ phương trình:
>with(linalg);
>A:=matrix(3,3,[3,1,0,3,1,1,1,3,5]);
b:=array([2,9,2]);





=++
=++
=+
253
93
23
zyx
zyx
yx
14

16


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status