TÌM HIỂU MAPLE ỨNG DỤNG TRONG GIẢI các bài TOÁN

TÌM HIỂU MAPLE ỨNG DỤNG TRONG GIẢI các bài TOÁN

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 (807.37 KB, 43 trang )

ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÀI THU HOẠCH MÔN LẬP TRÌNH SYMBOLIC
ĐỀ TÀI:
TÌM HIỂU MAPLE ỨNG DỤNG TRONG
GIẢI CÁC BÀI TOÁN
Giảng viên: PGS.TS Đỗ Văn Nhơn
Học viên: Đinh Đức Khoa
Mã số: CH1102003
Lớp: Cao học khóa 6
Hà Nội – 2/2013
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
MỤC LỤC

MỤC LỤC 1
LỜI MỞ ĐẦU 2
PHẦN I. GIỚI THIỆU TỔNG QUÁT VỀ PHẦN MỀM MAPLE 3
PHẦN II. ỨNG DỤNG MAPLE ĐỂ GIẢI CÁC BÀI TOÁN TRONG ĐẠI SỐ TUYẾN
TÍNH 13
PHẦN III. LẬP TRÌNH TRONG MAPLE 30
KẾT LUẬN 41
TÀI LIỆU THAM KHẢO 42
HVTH: Đinh Đức Khoa – CH1102003
Trang: 1
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
LỜI MỞ ĐẦU

Chiến lược phát triển giáo dục Đại học – Cao đẳng từ 2005 đến 2015 là từng
bước đổi mới nội dung, chương trình, giáo trình và phương pháp dạy học. Một
trong những khâu then chốt của quá trình đổi mới phương pháp dạy học là rèn
luyện kỹ năng tự học, tự thích ứng cho sinh viên.

Môn Toán có một vai trò hết sức quan trọng. Bởi, nó là môn học nền tảng giúp
ta nhận thức mọi môn học khác như Vật lý, Hóa học, Sinh học hay áp dụng trong
các vấn đề bài toán kinh tế hay kỹ thuật nhưng nó lại dược

đánh giá là môn học
khó ở hai nghĩa đó là khó cả về người

dạy và khó cả về người học. Câu hỏi đặt ra là:
Làm sao để học môn Toán vừa thuận lợi vừa hiệu quả hơn?
Maple là một phần mềm Toán học có khả năng ứng dụng trong mọi nội dung,
mọi lĩnh vực như vật lý, Hóa học hay áp dụng vào bài toán kinh tế…Với khả năng
tính toán, minh họa trực quan, Maple là một công cụ rất tốt giúp cho người học và
ngườidạy thuận lợi hơn trong quá trình tìm hiểu nó ở các lĩnh vực khác nhau.
Điều cần lưu ý là việc sử dụng các phần mềm tính toán hiện đại không đòi hỏi
người dùng phải có kỹ năng lập trình cao cấp mà chỉ yêu cầu người sử dụng nắm vững
các kiến thức lý thuyết cơ bản.Với Maple ta chỉ cần thực hiện những câu lệnh đơn
giản chứ không phải như lập trình các ngôn ngữ khác trong tính toán. Thông qua hàm
tính toán trong môi trường Maple, chúng ta rèn luyện kỹ năng sử dụng máy tính để
giải quyết vấn đề cụ thể về toán học. Maple có khả năng tính toán trên số thực lẫn số
phức, ngoài các hàm toán học dựng sẵn trong Maple về đủ mọi lĩnh vực: Lượng giác,
giải tích, hình học, đại số tuyến tính, lý thuyết số, thống kê, đồ thị, phương trình vi
phân và đạo hàm riêng,… Maple cũng cho phép thiết lập thêm các hàm hoặc thủ tục
chuyên dụng theo mục đích của người sử dụng. Cũng chính vì sự đa dạng của phần
mềm này nên trong khuôn khổ có hạn của bài thu hoạch chỉ tập trung khai thác
Maple ở lĩnh vực quan trọng nhất của nó đó là: Toán học.

Học viên:
Đinh Đức Khoa
HVTH: Đinh Đức Khoa – CH1102003
Trang: 2

Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
PHẦN I. GIỚI THIỆU TỔNG QUÁT VỀ PHẦN
MỀM MAPLE

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. P hiên bản mới nhất là Maple 16.
Maple là một công cụ tuyệt vời hỗ trợ cho việ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.
Maple cung cấp nhiều công cụ trực quan, nhiều gói lệnh chuyên ngành phù hợp
với các tính toán phổ thông và bậc đại học, giao diện hoàn thiện hơn và hỗ trợ soạn
thảo tốt hơn. Nhiều trường đại học sử dụng Maple để giảng dạy một số môn trong
khung chương trình đào tạo đã góp phần làm thay đổi cách học toán, song song với
lối giải toán truyền thống sinh viên có thể giải quyết bài toán với sự giúp đỡ của
Maple.
I.1. Giao diện Maple 13
Maple 13 cung cấp hai loại giao diện:
– Classic Worksheet
– Standard Worksheet
Giao diện Classic
Giao diện Standard
HVTH: Đinh Đức Khoa – CH1102003
Trang: 3
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
I.2. Quy tắc gõ lệnh

Các lệnh của Maple được gõ sau dấu nhắc lệnh >, kết thúc lệnh bằng dấu chấm
phẩy (;) nếu muốn Maple hiển thị kết quả của việc tính toán, hoặc dấu hai chấm(:) nếu
chỉ yêu cầu Maple tính toán mà không hiển thị kết quả. Các bạn dùng phím Enter để
yêu cầu Maple bắt đầu thực hiện tính toán.
– Để viết các lời giải thích câu lệnh bạn có thể viết chúng sau dấu thăng (#).
– Để 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 ta dùng dấu hai chấm bằng (:=).
– Có thể gọi lại kết quả vừa thực hiện bằng lệnh % (%% lấy kết quả trước kết
quả vừa thực hiện ).
– Các lệnh của Maple có thể chỉnh sửa, copy,…
I.3. Các thành phần cơ sở của Maple
I.3.1. Tập ký tự
– Bao gồm bảng chữ cái tiếng Anh
HVTH: Đinh Đức Khoa – CH1102003
Trang: 4
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
Chữ hoa : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z.
Chữ thường : a b c d e f g h i j k l m n o p q r s t u v w x y z.
– Chữ số : 0, 1, 2, 3, 4,5, 6, 7, 8, 9.
Chú ý : Maple phân biệt chữ hoa – thường.
– Tập các ký hiệu đặc biệt :
I.3.2. Toán tử cơ bản
Phép toán Kí hiệu Phép toán Kí hiệu Phép toán Kí hiệu
Cộng + Nhân * Giai thừa !
Trừ – Chia / Mũ ^
I.3.3. Các hàm toán học cơ bản
Hàm Ý nghĩa Hàm Ý nghĩa Hàm Ý nghĩa
abs(x) │x│ Sqrt(x) √x Exp(x) e
x
In(x) Log

e
(x) log10(x) log
10
(x)
Max(x1,x2 ) Tính giá trị
lớn nhấn của
x1, x2
Min(x1,x2 ) Tính giá trị
nhỏ nhấn của
x1, x2
Round(x) Hàm làm
tròn giá trị x
sin(x) Sin(x) cos(x) Cos(x) tan(x) Tg(x)
arcsin(x) Arcsin(x) arccos(x) Arccos(x) arctan(x) Arctg(x)
I.4. Tính toán trên Maple
– Maple có khả năng tính toán với những con số rất lớn với độ chính xác cao.
> 1000000!:# Tinh 1000000!
HVTH: Đinh Đức Khoa – CH1102003
Trang: 5
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
> length(%);#Chieu dai cua 1000000!
5565709
– Maple có đầy đủ các hàm tính toán từ đơn giản đến phức tạp.
> 2011+2012;
4023
> 30*11*2011;
663630
I.4.1. Tính toán trên số nguyên
Các hàm thông dụng :
Hàm Ý nghĩa Hàm Ý nghĩa Hàm Ý nghĩa

factorial(n) Tính n giai
thừa
isqrt(n) Căn bậc hai
nguyên của
n
iroot(x,n) Căn bậc n
nguyên của x
ifactor(n) Phân tích n
thành tích
các thừa số
nguyên tố
irem(m,n) Số dƣ khi
chia m cho
n
iquo(m,n) Thương khi
chia m cho n
igcd(x1,x2,
)
Ước số
chung lớn
nhất của x1
, x2,
ilcm(x1,x2, ) Bội số
chung nhỏ
nhất của x1,
x2,
m mod n Số dƣ khi
chia m cho n
Ví dụ :
> factorial(5);

120
> ifactor(%);
(2)
3
(3) (5)
> isprime(17);
true
> nextprime(17);
19
> prevprime(17);
13
HVTH: Đinh Đức Khoa – CH1102003
Trang: 6
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
> isqrt(12);
3
> igcd(24,18);
6
> a:=123:b:=32:
>irem(a,b);
>iquo(a,b);
27
I.4.2. Tính toán trên biểu thức
Hàm Ý nghĩa Hàm Ý nghĩa Hàm Ý nghĩa
expand(bt) Khai triển
biểu thức bt
simplify(bt) Đơn giản biểu
thức
factor(bt) Phân tích
đa thức

thành
nhân tử
nomal(pt) Tối giản
phân thức
divide(bt1,b
t2)
Kiểm tra xem
bt1 có chia hết
cho bt2
không?
subs([x1=a1,
x2=a2, ],f(x
1,x2, ))
Tính giá
trị của
f(x1,x2,
) với
x1=a1,x2
=a2
collect
(bt,x)
Gom hạng
tử của bt
theo biến x
degree(bt) Bậc của đa
thức bt
coeff(bt,x^n
)
Hệ số của
x^n trong

đa thức bt
Ví dụ :
> bt1:=(x+y)*(2*x-1);
bt:= (x + y) ( 2x – 1 )
> expand(bt1);
2x
2
– x + 2yx – y
> collect(bt1,x);
2×2 + (2y – 1) x – y
> bt2:=(x+y)^3 – (x^2 + 2*y^2)*(x+3*y);
bt:= (x + y)
3
– (x
2
+ 2y
2
) (x +3y)
> simplify(bt2);
xy
2
– 5y
3
> subs(x=3,y=5,bt);
HVTH: Đinh Đức Khoa – CH1102003
Trang: 7
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
40
I.5. Giới hạn, đạo hàm và tích phân
I.5.1. Tính giới hạn

– Cú pháp : limit(f(x),x=a); // Muốn xuất ra biểu thức tính giới hạn ta dùng
Limit(f(x),x=a).
– Tính giới hạn bên trái : limit(f(x),x=a,left);
– Tính giới hạn bên phải : limit(f(x),x=a,right);
> limit(sin(x)/x,x=0);
1
> Limit(sin(x)/abs(x),x=0)=limit(sin(x)/abs(x),x=0);
> limit(sin(x)/abs(x),x=0,left);
-1
> limit(sin(x)/abs(x),x=0,right);
1
I.5.2. Tính đạo hàm
– Đạo hàm cấp 1 : diff(f,x);
– Đạo hàm cấp n : diff(f,x$n);
– Đạo hàm riêng : diff(f, x1$n, [x2$n, x3], xj, [xk$m])
> diff(x*sin(x),x);
sin(x) + x cos(x)
> diff(x^5,x$3);
60x
2
> diff(f(x),x$3);
> diff(f(x,y),x);
HVTH: Đinh Đức Khoa – CH1102003
Trang: 8
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
> diff(f(x,y),y);
> diff(f(x,y),[x,y]);
> diff(x^3*sin(y),x$2,y);
6x cos (y)
I.5.3. Tính nguyên hàm và tích phân

– Tính nguyên hàm : int(f,x);
– Tính tích phân cận a,b : int(f,x=a b);
> int(sin(x)*tan(x),x);
– sin(x) + ln (sec(x) sinx + tan(x))
> int(sin(x)*exp(x),x=1 3);
> int( exp(-x^2)*ln(x), x=0 infinity );
I.4.4. Tính toán trên ma trận
I.4.4.1. Khai báo ma trận :
Có 2 cách:
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 (,).
> A:=matrix(2,2,[sin(x),cos(x),sin(2*x),cos(2*x)]);
A:=
Cách 2 : A:=array( [ [Dòng 1], [Dòng 2], ,[Dòng n] ] );
HVTH: Đinh Đức Khoa – CH1102003
Trang: 9
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
> A:=array([[1,2,3],[4,5,6]]);
A:=
I.4.4.2. Các phép toán trên ma trận
– Các phép toán trên 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).
– Phép cộng, nhân ma trận : lệnh evalm;
> with(linalg): > A:=matrix(2,2,[1,x,2,1-x]):
> B:=matrix(2,2,[1,0,2,1]):
> evalm(A+B);
> evalm(A&*B);
– Tạo ma trận đơn vị cấp n : IdentityMatrix ( n );
> IdentityMatrix(4);
– Tính định thức của ma trận A: det(A);
> A:=matrix(2,2,[1,x,2,1-x]);

> det(A);
1 – 3x
– Tính hạng của ma trận A: rank(A);
> rank(A);
2
HVTH: Đinh Đức Khoa – CH1102003
Trang: 10
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
– Tìm ma trận nghịch đảo của ma trận A: inverse(A) ;
> inverse(A);
I.6. Đồ thị hàm số
I.6.1. Hàm một biến : đồ thị 2D
Cú pháp : plot(f, x = a b );
Ý nghĩa: Vẽ đồ thị hàm số f theo biến x trên miền [a;b].Nếu không khai báo miền
giá trị của x thì Maple mặc định là [-10;10].
> plot(sin(x),x=-Pi Pi);
> plot(cos(x)+sin(x));
HVTH: Đinh Đức Khoa – CH1102003
Trang: 11
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
I.6.2. Hàm hai biến : đồ thị 3D
– Cú pháp : plot3d(f, x = a b );
> plot3d({sin(x*y), x + 2*y}, x=-Pi Pi, y=-Pi Pi);
> plot3d(x*exp(-x^2-y^2), x=-2 2, y=-2 2, color=x);
HVTH: Đinh Đức Khoa – CH1102003
Trang: 12
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
PHẦN II. ỨNG DỤNG MAPLE ĐỂ GIẢI CÁC BÀI
TOÁN TRONG ĐẠI SỐ TUYẾN TÍNH


II.1. Số phức
– Trong Maple quy định số phức i là I
II.1.1. Tạo số phức
Ta có các lệnh cơ bản sau :
– Để gán biến z là số phức a + bi ta nhập lệnh: z:=a+b*I.
– Để tạo số phức a +bi ta nhập lệnh: complex(a,b).
– Để tạo số phức bi ta nhập lệnh: complex(b).
II.1.2. Các phép toán trên số phức
Các phép toán cộng, trừ, nhân, chia hay lũy thừa tương ứng là các ký hiệu +,
-,*, /. Nhưng thông thường kết quả thu được khi ta thực hiện những phép toán trên các
số phức không phải là dạng đại số do đó ta sử dụng hàm sau để cho kết quả dạng đại
số như mong muốn: evalc(…)
– Để xác định phần thực của z ta nhập lệnh: re(z);
– Để xác định phần ảo của z ta nhập lệnh: im(z);
– Để xác định modun của z ta nhập lệnh: abs(z);
– Để xác định argument của z ta nhập lệnh: argument(z);
– Để xác định số phức liên hợp của z ta nhập lệnh: conjugate(z);
– Để đơn giản biểu thức ta nhập lệnh: simplify(expr) với expr là biểu thức.
II.1.3. Căn của số phức, giải phương trình và hệ phương trình
– Để xác định căn bậc n của số phức ta nhập lệnh: solve(x^n=z,x)
– Để giải phương trình hay hệ phương trình hoặc hệ bất phương trình eqns với
các biến vars. Nếu có nhiều phương trình hoặc bất phương trình thì eqns là
{eqn1,eqn2,…}; nếu nhiều biến thì vars là {var1,var2…} với dòng lệnh sau đây:
solve(eqns,vars)
HVTH: Đinh Đức Khoa – CH1102003
Trang: 13
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
Trên đây là những dòng lệnh cơ bản nhất khi tính toán trên số phức. Để hiểu rõ
hơn về những dòng lệnh này, ta sẽ xét những ví dụ cụ thể với mục đích duy nhất là
làm sáng tỏ những dòng lệnh trên.

Bài 1:
a; (1 + i)
3
+ (3 – i)(1 + i);
Nhập vào Maple ta có:
> (1+I)^3 + (3-I)*(1+I);
2 + 4I
b; (2 – i)
5
+ (2 + i)
5
;
Nhập vào Maple ta có:
> (2-I)^5 +(2+I)^5;
-76
Bài 2:
Nhập vào Maple ta có:
> Z:=x+iy;
Z:= x + iy
> solve({(1+2*i)*x + (2+i)*y +(3+2*i)*z
= 7+6*i,(3-6*i)*x +(2-5*i)*y +(1-6*i)*z = 5-18*i},{x,y});
Vậy nghiệm của hệ phương trình trên là:
Bài 3:
a) 1;
Nhập vào Maple ta có:
> z2:=1;
z2:=1;
HVTH: Đinh Đức Khoa – CH1102003
Trang: 14
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn

> z2:=evalc(z2); // Đưa z2 về dạng đại số.
z2:=1;
> simplify(abs(z2));// Mô đun của z2.
1
> simplify(argument(z2));// Argument của z2.
0
Vậy số phức z2 được viết dưới dạng lượng giác là: Z2 = 1 * (cos0 +isin0) = 1.
b)
Nhập vào Maple ta có:
> z1:=(sqrt(3)-I);
z1:=
> z1:=evalc(z1);
z1:=
> simplify(abs(z1));
2
> simplify(argument(z1));

Vậy số phức z1 được viết dưới dạng lượng giác là:
Z1 = 2. (cos – .
II.2. Ma trận và hệ phương trình tuyến tính
Để thực hành tính toán các vấn đề liên quan đến đại số tuyến tính, Maple cung
cấp cho ta hai gói lệnh cơ bản là: linalg và linearalgebra. Mọi gói lệnh chứa nhiều hàm
và nhiều phép toán. Để gọi gói lệnh nào đó ta sử dụng:
>with(package); với package là tên gói lệnh Để ẩn đi các hàm khi thực thi gọi
gói lệnh ta dùng:
>with(linalg):
HVTH: Đinh Đức Khoa – CH1102003
Trang: 15
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
II.2.1. Tạo ma trận

– Để tạo ma trận loại m x n với các phần tử là số nguyên lấy ngẫu nhiên từ -99
đến 99 ta nhập:
randmatrix(m,n)
– Để tạo ma trận m x n với list_of_elements là danh sách các phần tử có dạng
[a…] ta nhập :
matrix(m,n,list_of_elements)
– Để tạo ra một ma trận loại m x n với list_of_rows là danh sách các dòng, có
dạng ta nhập:
matrix(m,n,list_of_rows)
– Để tạo ra một ma trận với list_of_rows là danh sách các dòng, có dạng ta nhập:
matrix(list_of_rows)
– Để tạo ra một ma trận loại m x n với các phần tử đều bằng element ta nhập:
matrix(m,n,element)
– Để tạo ra ma trận đơn vị cấp n ta nhập :
array(identity,1 n,1 n)
– Để tạo ra ma trận đường chéo trong đó list_of_elements là các phần tử trên
đường ché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)
II.2.2. Các phép toán ma trận
– Để xác định hệ số dòng I và cột j của ma trận A ta nhập: a[i,j]
– Để kiểm tra hai ma trận A và B có bằng nhau hay không ta nhập:
equal(a,b)
– Để xác định ma trận chuyển vị của ma trận A ta nhập:
transpose(a)
– Để nhân ma trận A vối một biểu thức bất kỳ ta nhập:
scalarmul(a,expr) hoặc evalm(expr*a) với expr là biểu thức bất kỳ.
– Để tính tổng ma trận A + B + C + … ta nhập:
matadd(a,b,c,…) hoặc evalm(a + b + c +…)
– Để tính tích ma trận ABC… ta nhập:

multiply(a,b,c,…) hoặc evalm(a.b.c….)
HVTH: Đinh Đức Khoa – CH1102003
Trang: 16
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
– Để tính lũy thừa k của ma trận A ta nhập:
evalm(a^k)
– Để xác định ma trận nghịch đảo của A ta nhập:
inverse(a) hoặc evalm(a^(-1))
II.2.3. Các phép biến đổi sơ cấp trên ma trận
– Để đổi chỗ hai dòng i và j của ma trận A ta nhập: swaprow(a,i,j)
– Để đổi chỗ hai cột i và j của ma trận A ta nhập:
swapcol(a,i,j)
– Để nhân dòng i của ma trận A với c ta nhập:
mulrow(a,i,c)
– Để nhân cột i của ma trận A với c ta nhập:
mulcol(a,i,c)
– Để thay dòng i của ma trận A bởi dòng I cộng cho c lần dòng j ta nhập:
addrow(a,i,j,c)
– Để thay cột i của ma trận A bởi cột I cộng cho c lần cột j ta nhập:
addcol(a,i,j,c)
II.2.4. Ma trận dạng bậc thang của ma trận
– 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ên cộ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ì ta nhập:
pivot(a,i,j)
– Để đưa ma trận A về dạng bậc thang ta nhập:
gausselim(a)
– Để đƣa ma trận A về dạng bậc thang rút gọn ta nhập:
gaussjord(a)
– Để tính hạng của ma trận A ta nhập:
rank(a) 38

II.2.5. Giải phương trình ma trận AX = B
– Để 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:
linsolve(a,b)
HVTH: Đinh Đức Khoa – CH1102003
Trang: 17
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
II.2.6. Giải hệ phương trình tuyến tính
– Để 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:
solve(eqns,vars)
– Để giải hệ phương trình AX = b, với A là ma trận hệ số, b là vecto cột các hệ số
tự do ta nhập:
linsolve(a,b).
Trên đây là những dòng lệnh cơ bản nhất khi tính toán trên ma trận và phương
trình tuyến tính. Để hiểu rõ hơn về những dòng lệnh này, ta sẽ xét những ví dụ cụ thể
với mục đích duy nhất là làm sáng tỏ những dòng lệnh trên.
Bài 1: Tính các tích
Nhập vào Maple ta có:
> A:=matrix(3,3,[1,-3,2,3,-4,1,2,-5,3]);
A:=
> B:=matrix(3,3,[2,5,6,1,2,5,1,3,2]);
B:=
> C:= evalm(A.B);
C:=
Vậy tích trên bằng:
C:=
HVTH: Đinh Đức Khoa – CH1102003
Trang: 18
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
> A:=matrix(4,3,[0,0,1,i,1,2,2,2*i,3,3,3,4]);

A:=
> B:=matrix(3,2,[-1,-1,2,2*i,i,1]);
B:=
> C:=matrix(2,1,[4,1]);
C:=
> D:=evalm(A.B.C);
Vậy tích trên bằng:
Bài 2:
Xác định hạng của ma trận sau:
HVTH: Đinh Đức Khoa – CH1102003
Trang: 19
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
Nhập vào Maple ta có:
> with(linalg);
> A:=matrix(3,3,[3,5,7,1,2,3,1,3,5]);
A:=
> rank(A);
2
Vậy hạng của ma trận là: 2.
Nhập vào Maple ta có:
> with(linalg):
> B:=matrix(4,4,[1,-1,5,-1,1,1,-2,3,3,-1,8,1,1,3,-9,7]);
B:=
> rank(B);
2
Vậy hạng của ma trận B là: 2.
Bài 3:
Giải các phương trình sau:
Nhập vào Maple ta có:
HVTH: Đinh Đức Khoa – CH1102003

Trang: 20
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
> A:=matrix(4,4,[1,2,3,-2,2,-1,-2,-3,3,2,-1,2,2,-3,2,1]);
A:=
> b:=vector(4,[1,2,-5,11]);
B:= [ 1 2 -5 11 ]
> linsolve(A,b);
Vậy nghiệm của hệ phƣơng trình tương ứng lần lượt là x1, x2, x3,x4 :
Nhập vào Maple ta có:
> E:=matrix(4,5,[2,-2,1,-1,1,1,2,-3,1,-2,4,-10,5,-5,7,2,-14,7,-7,11]);
E:=
> f:=vector(4,[1,1,1,-1]);
f:= [ 1 1 1 -1 ]
> linsolve(E,f);
Vậy nghiệm của hệ phương trình tương ứng lần lượt x1, x2, x3, x4,x5 là:
HVTH: Đinh Đức Khoa – CH1102003
Trang: 21
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
Với t1 và t2 tự do và thuộc R.
II.3. Định thức
II.3.1. Định nghĩa
a) Ma trận con cấp k.
– Cho ma trận vuông A = (a
ij
)
n
ϵ M
n
(R). Ma trận vuông cấp k được thành lập từ
các phần tử nằm trên giao k dòng và k cột của A được gọi là ma trận con cấp k của A.

– Ma trận Mij cấp n-1 thu đƣợc từ A bằng cách bỏ đi dòng thức i và cột thứ j là
ma trận con của A ứng với phần tử aij.
b) Định thức.
– Định thức cấp n của ma trận vuông A = (a
ij
)
n
ϵ M
n
(R), ký hiệu det(A) hay |A|,
là 1 số thực được định nghĩa :
+ Ma trận cấp 1 : A:= (a
11
)=> det A=a
11
;
+ Ma trận cấp 2 : => det A= a
11
a
22
– a
12
a
21
;
+ Ma trận cấp 3 :A= det A= a
11
A
11
+a

12
A
12
+ a
1n
A
1n
, trong đó
A
ij
= (-1
) i+j
det (M
ij
) là phần bù đại số của phần tử a
ij
II.3.2. Giải bài tập trong Maple
– det(A): Tính định thức của A.
– inverse(A): evalm(1/A): tính ma trận nghịch đảo của ma trận A.
– solve(a,b): dùng để so sánh a với b.
– col (A,i): Vecto cột thứ i của ma trận A.
– col (A,i,…,k): Các cột vector thứ I đến thứ k của ma trận A.
– concat(A,B,…,) : Nối hai hay nhiều ma trận, vector cùng dòng.
Bài 1: Tìm ma trận nghịch đảo
a) A =
> With(linearalgebra):
> A:=matrix(3,3,[2,3,4,5,6,7,8,9,1]);
HVTH: Đinh Đức Khoa – CH1102003
Trang: 22
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn

A:=
> det(A);
27
> inverse(A);
Vậy ma trận nghịch đảo của A là:
A-1 =
b) A =
> B:=matrix(3,3,[1,2,3,2,3,4,1,5,7]);
B:=
> 1/B=evalm(1/B);
HVTH: Đinh Đức Khoa – CH1102003
Trang: 23
Lập trình Symbolic & Trí tuệ nhân tạo PGS.TS Đỗ Văn Nhơn
c) C =
> C:=matrix(3,3,[2,3,-4,0,-4,2,1,-1,5]);
C:=
> 1/C=evalm(1/C);
d)
> F:= matrix(3,3,[3,2,1,4,5,2,2,1,4]);
F:=
> 1/F=evalm(1/F);
HVTH: Đinh Đức Khoa – CH1102003
Trang: 24
Môn Toán có một vai trò rất là quan trọng. Bởi, nó là môn học nền tảng giúpta nhận thức mọi môn học khác như Vật lý, Hóa học, Sinh học hay vận dụng trongcác yếu tố bài toán kinh tế tài chính hay kỹ thuật nhưng nó lại dượcđánh giá là môn họckhó ở hai nghĩa đó là khó cả về ngườidạy và khó cả về người học. Câu hỏi đặt ra là : Làm sao để học môn Toán vừa thuận tiện vừa hiệu suất cao hơn ? Maple là một ứng dụng Toán học có năng lực ứng dụng trong mọi nội dung, mọi nghành như vật lý, Hóa học hay vận dụng vào bài toán kinh tế … Với khả năngtính toán, minh họa trực quan, Maple là một công cụ rất tốt giúp cho người học vàngườidạy thuận tiện hơn trong quy trình tìm hiểu và khám phá nó ở những nghành nghề dịch vụ khác nhau. Điều cần chú ý quan tâm là việc sử dụng những ứng dụng đo lường và thống kê văn minh không đòi hỏingười dùng phải có kiến thức và kỹ năng lập trình hạng sang mà chỉ nhu yếu người sử dụng nắm vữngcác kiến thức và kỹ năng kim chỉ nan cơ bản. Với Maple ta chỉ cần thực thi những câu lệnh đơngiản chứ không phải như lập trình những ngôn từ khác trong giám sát. Thông qua hàmtính toán trong môi trường tự nhiên Maple, tất cả chúng ta rèn luyện kỹ năng và kiến thức sử dụng máy tính đểgiải quyết yếu tố đơn cử về toán học. Maple có năng lực thống kê giám sát trên số thực lẫn sốphức, ngoài những hàm toán học dựng sẵn trong Maple về đủ mọi nghành nghề dịch vụ : Lượng giác, giải tích, hình học, đại số tuyến tính, kim chỉ nan số, thống kê, đồ thị, phương trình viphân và đạo hàm riêng, … Maple cũng được cho phép thiết lập thêm những hàm hoặc thủ tụcchuyên dụng theo mục tiêu của người sử dụng. Cũng chính vì sự phong phú của phầnmềm này nên trong khuôn khổ có hạn của bài thu hoạch chỉ tập trung chuyên sâu khai thácMaple ở nghành quan trọng nhất của nó đó là : Toán học. Học viên : Đinh Đức KhoaHVTH : Đinh Đức Khoa – CH1102003Trang : 2L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn NhơnPHẦN I. GIỚI THIỆU TỔNG QUÁT VỀ PHẦNMỀM MAPLE    Maple là gói ứng dụng toán học thương mại ship hàng cho nhiều nghành đượcxây dựng và tăng trưởng bởi của hãng Waterloo. P hiên bản mới nhất là Maple 16. Maple là một công cụ tuyệt vời tương hỗ cho việc học tập và nghiên cứu và điều tra toán học. VớiMaple ta hoàn toàn có thể thực thi được mọi điều từ những phép toán đơn thuần nhất, sơ cấpnhất cho đến những đo lường và thống kê phức tạp nhất. Không chỉ dừng lại ở việc tương hỗ đo lường và thống kê, Maple còn có năng lực lập trình. Ởphương diện này, hoàn toàn có thể xem Maple nhưlà một ngôn từ lập trình trong đó chúng tacó thể tạo ra những chương trình và những gói ( package ) để tái sử dụng. Maple cung ứng nhiều công cụ trực quan, nhiều gói lệnh chuyên ngành phù hợpvới những đo lường và thống kê đại trà phổ thông và bậc ĐH, giao diện triển khai xong hơn và tương hỗ soạnthảo tốt hơn. Nhiều trường ĐH sử dụng Maple để giảng dạy 1 số ít môn trongkhung chương trình huấn luyện và đào tạo đã góp thêm phần làm đổi khác cách học toán, song song vớilối giải toán truyền thống cuội nguồn sinh viên hoàn toàn có thể xử lý bài toán với sự giúp sức củaMaple. I. 1. Giao diện Maple 13M aple 13 phân phối hai loại giao diện : – Classic Worksheet – Standard WorksheetGiao diện ClassicGiao diện StandardHVTH : Đinh Đức Khoa – CH1102003Trang : 3L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn NhơnI. 2. Quy tắc gõ lệnhCác lệnh của Maple được gõ sau dấu nhắc lệnh >, kết thúc lệnh bằng dấu chấmphẩy ( ; ) nếu muốn Maple hiển thị tác dụng của việc đo lường và thống kê, hoặc dấu hai chấm ( 🙂 nếuchỉ nhu yếu Maple giám sát mà không hiển thị tác dụng. Các bạn dùng phím Enter đểyêu cầu Maple mở màn thực thi đo lường và thống kê. – Để viết những lời lý giải câu lệnh bạn hoàn toàn có thể viết chúng sau dấu thăng ( # ). – Để xuống dòng trên cùng một dấu nhắc lệnh dùng tổng hợp phím Shift-Enter. – Để gán giá trị cho biến ta dùng dấu hai chấm bằng ( : = ). – Có thể gọi lại hiệu quả vừa thực thi bằng lệnh % ( % % lấy tác dụng trước kếtquả vừa triển khai ). – Các lệnh của Maple hoàn toàn có thể chỉnh sửa, copy, … I. 3. Các thành phần cơ sở của MapleI. 3.1. Tập ký tự – Bao gồm bảng vần âm tiếng AnhHVTH : Đinh Đức Khoa – CH1102003Trang : 4L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn Nhơn   Chữ hoa : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z.   Chữ thường : a b c d e f g h i j k l m n o p q r s t u v w x y z. – Chữ số : 0, 1, 2, 3, 4,5, 6, 7, 8, 9. Chú ý : Maple phân biệt chữ hoa – thường. – Tập những ký hiệu đặc biệt quan trọng : I. 3.2. Toán tử cơ bảnPhép toán Kí hiệu Phép toán Kí hiệu Phép toán Kí hiệuCộng + Nhân * Giai thừa ! Trừ – Chia / Mũ ^ I. 3.3. Các hàm toán học cơ bảnHàm Ý nghĩa Hàm Ý nghĩa Hàm Ý nghĩaabs ( x ) │ x │ Sqrt ( x ) √ x Exp ( x ) eIn ( x ) Log ( x ) log10 ( x ) log10 ( x ) Max ( x1, x2 ) Tính giá trịlớn nhấn củax1, x2Min ( x1, x2 ) Tính giá trịnhỏ nhấn củax1, x2Round ( x ) Hàm làmtròn giá trị xsin ( x ) Sin ( x ) cos ( x ) Cos ( x ) tan ( x ) Tg ( x ) arcsin ( x ) Arcsin ( x ) arccos ( x ) Arccos ( x ) arctan ( x ) Arctg ( x ) I. 4. Tính toán trên Maple – Maple có năng lực giám sát với những số lượng rất lớn với độ đúng chuẩn cao. > 1000000 ! : # Tinh 1000000 ! HVTH : Đinh Đức Khoa – CH1102003Trang : 5L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn Nhơn > length ( % ) ; # Chieu dai cua 1000000 ! 5565709 – Maple có không thiếu những hàm giám sát từ đơn thuần đến phức tạp. > 2011 + 2012 ; 4023 > 30 * 11 * 2011 ; 663630I. 4.1. Tính toán trên số nguyênCác hàm thông dụng : Hàm Ý nghĩa Hàm Ý nghĩa Hàm Ý nghĩafactorial ( n ) Tính n giaithừaisqrt ( n ) Căn bậc hainguyên củairoot ( x, n ) Căn bậc nnguyên của xifactor ( n ) Phân tích nthành tíchcác thừa sốnguyên tốirem ( m, n ) Số dƣ khichia m choiquo ( m, n ) Thương khichia m cho nigcd ( x1, x2, Ước sốchung lớnnhất của x1, x2, ilcm ( x1, x2, ) Bội sốchung nhỏnhất của x1, x2, m mod n Số dƣ khichia m cho nVí dụ : > factorial ( 5 ) ; 120 > ifactor ( % ) ; ( 2 ) ( 3 ) ( 5 ) > isprime ( 17 ) ; true > nextprime ( 17 ) ; 19 > prevprime ( 17 ) ; 13HVTH : Đinh Đức Khoa – CH1102003Trang : 6L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn Nhơn > isqrt ( 12 ) ; > igcd ( 24,18 ) ; > a : = 123 : b : = 32 : > irem ( a, b ) ; > iquo ( a, b ) ; 27I. 4.2. Tính toán trên biểu thứcHàm Ý nghĩa Hàm Ý nghĩa Hàm Ý nghĩaexpand ( bt ) Khai triểnbiểu thức btsimplify ( bt ) Đơn giản biểuthứcfactor ( bt ) Phân tíchđa thứcthànhnhân tửnomal ( pt ) Tối giảnphân thứcdivide ( bt1, bt2 ) Kiểm tra xembt1 có chia hếtcho bt2không ? subs ( [ x1 = a1, x2 = a2, ], f ( x1, x2, ) ) Tính giátrị củaf ( x1, x2, ) vớix1 = a1, x2 = a2collect ( bt, x ) Gom hạngtử của bttheo biến xdegree ( bt ) Bậc của đathức btcoeff ( bt, x ^ nHệ số củax ^ n trongđa thức btVí dụ : > bt1 : = ( x + y ) * ( 2 * x-1 ) ; bt : = ( x + y ) ( 2 x – 1 ) > expand ( bt1 ) ; 2 x – x + 2 yx – y > collect ( bt1, x ) ; 2×2 + ( 2 y – 1 ) x – y > bt2 : = ( x + y ) ^ 3 – ( x ^ 2 + 2 * y ^ 2 ) * ( x + 3 * y ) ; bt : = ( x + y ) – ( x + 2 y ) ( x + 3 y ) > simplify ( bt2 ) ; xy – 5 y > subs ( x = 3, y = 5, bt ) ; HVTH : Đinh Đức Khoa – CH1102003Trang : 7L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn Nhơn40I. 5. Giới hạn, đạo hàm và tích phânI. 5.1. Tính số lượng giới hạn – Cú pháp : limit ( f ( x ), x = a ) ; / / Muốn xuất ra biểu thức tính số lượng giới hạn ta dùngLimit ( f ( x ), x = a ). – Tính số lượng giới hạn bên trái : limit ( f ( x ), x = a, left ) ; – Tính số lượng giới hạn bên phải : limit ( f ( x ), x = a, right ) ; > limit ( sin ( x ) / x, x = 0 ) ; > Limit ( sin ( x ) / abs ( x ), x = 0 ) = limit ( sin ( x ) / abs ( x ), x = 0 ) ; > limit ( sin ( x ) / abs ( x ), x = 0, left ) ; – 1 > limit ( sin ( x ) / abs ( x ), x = 0, right ) ; I. 5.2. Tính đạo hàm – Đạo hàm cấp 1 : diff ( f, x ) ; – Đạo hàm cấp n : diff ( f, x USD n ) ; – Đạo hàm riêng : diff ( f, x1 USD n, [ x2 USD n, x3 ], xj, [ xk USD m ] ) > diff ( x * sin ( x ), x ) ; sin ( x ) + x cos ( x ) > diff ( x ^ 5, x USD 3 ) ; 60 x > diff ( f ( x ), x USD 3 ) ; > diff ( f ( x, y ), x ) ; HVTH : Đinh Đức Khoa – CH1102003Trang : 8L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn Nhơn > diff ( f ( x, y ), y ) ; > diff ( f ( x, y ), [ x, y ] ) ; > diff ( x ^ 3 * sin ( y ), x USD 2, y ) ; 6 x cos ( y ) I. 5.3. Tính nguyên hàm và tích phân – Tính nguyên hàm : int ( f, x ) ; – Tính tích phân cận a, b : int ( f, x = a b ) ; > int ( sin ( x ) * tan ( x ), x ) ; – sin ( x ) + ln ( sec ( x ) sinx + tan ( x ) ) > int ( sin ( x ) * exp ( x ), x = 1 3 ) ; > int ( exp ( – x ^ 2 ) * ln ( x ), x = 0 infinity ) ; I. 4.4. Tính toán trên ma trậnI. 4.4.1. Khai báo ma trận : Có 2 cách : Cách 1 : A : = matrix ( m, n, [ dãy thành phần ] ) ; / / dãy thành phần cách nhau bởi dấu phẩy (, ). > A : = matrix ( 2,2, [ sin ( x ), cos ( x ), sin ( 2 * x ), cos ( 2 * x ) ] ) ; A : = Cách 2 : A : = array ( [ [ Dòng 1 ], [ Dòng 2 ], , [ Dòng n ] ] ) ; HVTH : Đinh Đức Khoa – CH1102003Trang : 9L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn Nhơn > A : = array ( [ [ 1,2,3 ], [ 4,5,6 ] ] ) ; A : = I. 4.4.2. Các phép toán trên ma trận – Các phép toán trên ma trận nằm trong gói LinearAlgebra. Để sử dụng ta dùnggói lệnh ta dùng with ( gói lệnh ). – Phép cộng, nhân ma trận : lệnh evalm ; > with ( linalg ) : > A : = matrix ( 2,2, [ 1, x, 2,1 – x ] ) : > B : = matrix ( 2,2, [ 1,0,2,1 ] ) : > evalm ( A + B ) ; > evalm ( A và * B ) ; – Tạo ma trận đơn vị chức năng cấp n : IdentityMatrix ( n ) ; > IdentityMatrix ( 4 ) ; – Tính định thức của ma trận A : det ( A ) ; > A : = matrix ( 2,2, [ 1, x, 2,1 – x ] ) ; > det ( A ) ; 1 – 3 x – Tính hạng của ma trận A : rank ( A ) ; > rank ( A ) ; HVTH : Đinh Đức Khoa – CH1102003Trang : 10L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn Nhơn – Tìm ma trận nghịch đảo của ma trận A : inverse ( A ) ; > inverse ( A ) ; I. 6. Đồ thị hàm sốI. 6.1. Hàm một biến : đồ thị 2DC ú pháp : plot ( f, x = a b ) ; Ý nghĩa : Vẽ đồ thị hàm số f theo biến x trên miền [ a ; b ]. Nếu không khai báo miềngiá trị của x thì Maple mặc định là [ – 10 ; 10 ]. > plot ( sin ( x ), x = – Pi Pi ) ; > plot ( cos ( x ) + sin ( x ) ) ; HVTH : Đinh Đức Khoa – CH1102003Trang : 11L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn NhơnI. 6.2. Hàm hai biến : đồ thị 3D – Cú pháp : plot3d ( f, x = a b ) ; > plot3d ( { sin ( x * y ), x + 2 * y }, x = – Pi Pi, y = – Pi Pi ) ; > plot3d ( x * exp ( – x ^ 2 – y ^ 2 ), x = – 2 2, y = – 2 2, color = x ) ; HVTH : Đinh Đức Khoa – CH1102003Trang : 12L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn NhơnPHẦN II. ỨNG DỤNG MAPLE ĐỂ GIẢI CÁC BÀITOÁN TRONG ĐẠI SỐ TUYẾN TÍNH    II. 1. Số phức – Trong Maple lao lý số phức i là III. 1.1. Tạo số phứcTa có những lệnh cơ bản sau : – Để gán biến z là số phức a + bi ta nhập lệnh : z : = a + b * I. – Để tạo số phức a + bi ta nhập lệnh : complex ( a, b ). – Để tạo số phức bi ta nhập lệnh : complex ( b ). II. 1.2. Các phép toán trên số phứcCác phép toán cộng, trừ, nhân, chia hay lũy thừa tương ứng là những ký hiệu +, -, *, /. Nhưng thường thì tác dụng thu được khi ta thực thi những phép toán trên cácsố phức không phải là dạng đại số do đó ta sử dụng hàm sau để cho tác dụng dạng đạisố như mong ước : evalc ( … ) – Để xác lập phần thực của z ta nhập lệnh : re ( z ) ; – Để xác lập phần ảo của z ta nhập lệnh : im ( z ) ; – Để xác lập modun của z ta nhập lệnh : abs ( z ) ; – Để xác lập argument của z ta nhập lệnh : argument ( z ) ; – Để xác lập số phức phối hợp của z ta nhập lệnh : conjugate ( z ) ; – Để đơn thuần biểu thức ta nhập lệnh : simplify ( expr ) với expr là biểu thức. II. 1.3. Căn của số phức, giải phương trình và hệ phương trình – Để xác lập căn bậc n của số phức ta nhập lệnh : solve ( x ^ n = z, x ) – Để giải phương trình hay hệ phương trình hoặc hệ bất phương trình eqns vớicác biến vars. Nếu có nhiều phương trình hoặc bất phương trình thì eqns là { eqn1, eqn2, … } ; nếu nhiều biến thì vars là { var1, var2 … } với dòng lệnh sau đây : solve ( eqns, vars ) HVTH : Đinh Đức Khoa – CH1102003Trang : 13L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn NhơnTrên đây là những dòng lệnh cơ bản nhất khi đo lường và thống kê trên số phức. Để hiểu rõhơn về những dòng lệnh này, ta sẽ xét những ví dụ đơn cử với mục tiêu duy nhất làlàm sáng tỏ những dòng lệnh trên. Bài 1 : a ; ( 1 + i ) + ( 3 – i ) ( 1 + i ) ; Nhập vào Maple ta có : > ( 1 + I ) ^ 3 + ( 3 – I ) * ( 1 + I ) ; 2 + 4I b ; ( 2 – i ) + ( 2 + i ) Nhập vào Maple ta có : > ( 2 – I ) ^ 5 + ( 2 + I ) ^ 5 ; – 76B ài 2 : Nhập vào Maple ta có : > Z : = x + iy ; Z : = x + iy > solve ( { ( 1 + 2 * i ) * x + ( 2 + i ) * y + ( 3 + 2 * i ) * z = 7 + 6 * i, ( 3-6 * i ) * x + ( 2-5 * i ) * y + ( 1-6 * i ) * z = 5-18 * i }, { x, y } ) ; Vậy nghiệm của hệ phương trình trên là : Bài 3 : a ) 1 ; Nhập vào Maple ta có : > z2 : = 1 ; z2 : = 1 ; HVTH : Đinh Đức Khoa – CH1102003Trang : 14L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn Nhơn > z2 : = evalc ( z2 ) ; / / Đưa z2 về dạng đại số. z2 : = 1 ; > simplify ( abs ( z2 ) ) ; / / Mô đun của z2. > simplify ( argument ( z2 ) ) ; / / Argument của z2. Vậy số phức z2 được viết dưới dạng lượng giác là : Z2 = 1 * ( cos0 + isin0 ) = 1. b ) Nhập vào Maple ta có : > z1 : = ( sqrt ( 3 ) – I ) ; z1 : => z1 : = evalc ( z1 ) ; z1 : => simplify ( abs ( z1 ) ) ; > simplify ( argument ( z1 ) ) ; Vậy số phức z1 được viết dưới dạng lượng giác là : Z1 = 2. ( cos -. II. 2. Ma trận và hệ phương trình tuyến tínhĐể thực hành thực tế thống kê giám sát những yếu tố tương quan đến đại số tuyến tính, Maple cungcấp cho ta hai gói lệnh cơ bản là : linalg và linearalgebra. Mọi gói lệnh chứa nhiều hàmvà nhiều phép toán. Để gọi gói lệnh nào đó ta sử dụng : > with ( package ) ; với package là tên gói lệnh Để ẩn đi những hàm khi thực thi gọigói lệnh ta dùng : > with ( linalg ) : HVTH : Đinh Đức Khoa – CH1102003Trang : 15L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn NhơnII. 2.1. Tạo ma trận – Để tạo ma trận loại m x n với những thành phần là số nguyên lấy ngẫu nhiên từ – 99 đến 99 ta nhập : randmatrix ( m, n ) – Để tạo ma trận m x n với list_of_elements là list những thành phần có dạng [ a … ] ta nhập : matrix ( m, n, list_of_elements ) – Để tạo ra một ma trận loại m x n với list_of_rows là list những dòng, códạng ta nhập : matrix ( m, n, list_of_rows ) – Để tạo ra một ma trận với list_of_rows là list những dòng, có dạng ta nhập : matrix ( list_of_rows ) – Để tạo ra một ma trận loại m x n với những thành phần đều bằng element ta nhập : matrix ( m, n, element ) – Để tạo ra ma trận đơn vị chức năng cấp n ta nhập : array ( identity, 1 n, 1 n ) – Để tạo ra ma trận đường chéo trong đó list_of_elements là những thành phần trênđường chéo trong đó list_of_elements là những thành phần trên đường chéo, có dạng tanhập : diag ( list_of_elements ) II. 2.2. Các phép toán ma trận – Để xác lập thông số dòng I và cột j của ma trận A ta nhập : a [ i, j ] – Để kiểm tra hai ma trận A và B có bằng nhau hay không ta nhập : equal ( a, b ) – Để xác lập ma trận chuyển vị của ma trận A ta nhập : transpose ( a ) – Để nhân ma trận A vối một biểu thức bất kể ta nhập : scalarmul ( a, expr ) hoặc evalm ( expr * a ) với expr là biểu thức bất kể. – Để tính tổng ma trận A + B + C + … ta nhập : matadd ( a, b, c, … ) hoặc evalm ( a + b + c + … ) – Để tính tích ma trận ABC … ta nhập : multiply ( a, b, c, … ) hoặc evalm ( a. b. c …. ) HVTH : Đinh Đức Khoa – CH1102003Trang : 16L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn Nhơn – Để tính lũy thừa k của ma trận A ta nhập : evalm ( a ^ k ) – Để xác lập ma trận nghịch đảo của A ta nhập : inverse ( a ) hoặc evalm ( a ^ ( – 1 ) ) II. 2.3. Các phép đổi khác sơ cấp trên ma trận – Để đổi chỗ hai dòng i và j của ma trận A ta nhập : swaprow ( a, i, j ) – Để đổi chỗ hai cột i và j của ma trận A ta nhập : swapcol ( a, i, j ) – Để nhân dòng i của ma trận A với c ta nhập : mulrow ( a, i, c ) – Để nhân cột i của ma trận A với c ta nhập : mulcol ( a, i, c ) – Để thay dòng i của ma trận A bởi dòng I cộng cho c lần dòng j ta nhập : addrow ( a, i, j, c ) – Để thay cột i của ma trận A bởi cột I cộng cho c lần cột j ta nhập : addcol ( a, i, j, c ) II. 2.4. Ma trận dạng bậc thang của ma trận – Nếu thông số ở vị trí i, j của A khác 0 thì sẽ đƣa những thông số ở vị trí còn lại trên cột jvề 0 bằng phép đổi khác sơ cấp trên dòng loại 3. trái lại, báo lỗi thì ta nhập : pivot ( a, i, j ) – Để đưa ma trận A về dạng bậc thang ta nhập : gausselim ( a ) – Để đƣa ma trận A về dạng bậc thang rút gọn ta nhập : gaussjord ( a ) – Để tính hạng của ma trận A ta nhập : rank ( a ) 38II. 2.5. Giải phương trình ma trận AX = B – Để 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 : linsolve ( a, b ) HVTH : Đinh Đức Khoa – CH1102003Trang : 17L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn NhơnII. 2.6. Giải hệ phương trình tuyến tính – Để giải hệ phương trình eqns với những biến vars. Trong đó eqns có dạng { eqn1, eqn2, … } và vars có dạng { var1, var2, … } ta nhập : solve ( eqns, vars ) – Để giải hệ phương trình AX = b, với A là ma trận thông số, b là vecto cột những hệ sốtự do ta nhập : linsolve ( a, b ). Trên đây là những dòng lệnh cơ bản nhất khi đo lường và thống kê trên ma trận và phươngtrình tuyến tính. Để hiểu rõ hơn về những dòng lệnh này, ta sẽ xét những ví dụ cụ thểvới mục tiêu duy nhất là làm sáng tỏ những dòng lệnh trên. Bài 1 : Tính những tíchNhập vào Maple ta có : > A : = matrix ( 3,3, [ 1, – 3,2,3, – 4,1,2, – 5,3 ] ) ; A : => B : = matrix ( 3,3, [ 2,5,6,1,2,5,1,3,2 ] ) ; B : => C : = evalm ( A.B ) ; C : = Vậy tích trên bằng : C : = HVTH : Đinh Đức Khoa – CH1102003Trang : 18L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn Nhơn > A : = matrix ( 4,3, [ 0,0,1, i, 1,2,2,2 * i, 3,3,3,4 ] ) ; A : => B : = matrix ( 3,2, [ – 1, – 1,2,2 * i, i, 1 ] ) ; B : => C : = matrix ( 2,1, [ 4,1 ] ) ; C : => D : = evalm ( A.B.C ) ; Vậy tích trên bằng : Bài 2 : Xác định hạng của ma trận sau : HVTH : Đinh Đức Khoa – CH1102003Trang : 19L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn NhơnNhập vào Maple ta có : > with ( linalg ) ; > A : = matrix ( 3,3, [ 3,5,7,1,2,3,1,3,5 ] ) ; A : => rank ( A ) ; Vậy hạng của ma trận là : 2. Nhập vào Maple ta có : > with ( linalg ) : > B : = matrix ( 4,4, [ 1, – 1,5, – 1,1,1, – 2,3,3, – 1,8,1,1,3, – 9,7 ] ) ; B : => rank ( B ) ; Vậy hạng của ma trận B là : 2. Bài 3 : Giải những phương trình sau : Nhập vào Maple ta có : HVTH : Đinh Đức Khoa – CH1102003Trang : 20L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn Nhơn > A : = matrix ( 4,4, [ 1,2,3, – 2,2, – 1, – 2, – 3,3,2, – 1,2,2, – 3,2,1 ] ) ; A : => b : = vector ( 4, [ 1,2, – 5,11 ] ) ; B : = [ 1 2 – 5 11 ] > linsolve ( A, b ) ; Vậy nghiệm của hệ phƣơng trình tương ứng lần lượt là x1, x2, x3, x4 : Nhập vào Maple ta có : > E : = matrix ( 4,5, [ 2, – 2,1, – 1,1,1,2, – 3,1, – 2,4, – 10,5, – 5,7,2, – 14,7, – 7,11 ] ) ; E : => f : = vector ( 4, [ 1,1,1, – 1 ] ) ; f : = [ 1 1 1 – 1 ] > linsolve ( E, f ) ; Vậy nghiệm của hệ phương trình tương ứng lần lượt x1, x2, x3, x4, x5 là : HVTH : Đinh Đức Khoa – CH1102003Trang : 21L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn NhơnVới t1 và t2 tự do và thuộc R.II. 3. Định thứcII. 3.1. Định nghĩaa ) Ma trận con cấp k. – Cho ma trận vuông A = ( aijϵ M ( R ). Ma trận vuông cấp k được xây dựng từcác thành phần nằm trên giao k dòng và k cột của A được gọi là ma trận con cấp k của A. – Ma trận Mij cấp n-1 thu đƣợc từ A bằng cách bỏ đi dòng thức i và cột thứ j làma trận con của A ứng với thành phần aij. b ) Định thức. – Định thức cấp n của ma trận vuông A = ( aijϵ M ( R ), ký hiệu det ( A ) hay | A |, là 1 số thực được định nghĩa : + Ma trận cấp 1 : A : = ( a11 ) => det A = a11 + Ma trận cấp 2 : => det A = a1122 – a1221 + Ma trận cấp 3 : A = det A = a1111 + a1212 + a1n1n, trong đóij = ( – 1 ) i + jdet ( Mij ) là phần bù đại số của thành phần aijII. 3.2. Giải bài tập trong Maple – det ( A ) : Tính định thức của A. – inverse ( A ) : evalm ( 1 / A ) : tính ma trận nghịch đảo của ma trận A. – solve ( a, b ) : dùng để so sánh a với b. – col ( A, i ) : Vecto cột thứ i của ma trận A. – col ( A, i, …, k ) : Các cột vector thứ I đến thứ k của ma trận A. – concat ( A, B, …, ) : Nối hai hay nhiều ma trận, vector cùng dòng. Bài 1 : Tìm ma trận nghịch đảoa ) A => With ( linearalgebra ) : > A : = matrix ( 3,3, [ 2,3,4,5,6,7,8,9,1 ] ) ; HVTH : Đinh Đức Khoa – CH1102003Trang : 22L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn NhơnA : => det ( A ) ; 27 > inverse ( A ) ; Vậy ma trận nghịch đảo của A là : A-1 = b ) A => B : = matrix ( 3,3, [ 1,2,3,2,3,4,1,5,7 ] ) ; B : => 1 / B = evalm ( 1 / B ) ; HVTH : Đinh Đức Khoa – CH1102003Trang : 23L ập trình Symbolic và Trí tuệ tự tạo PGS.TS Đỗ Văn Nhơnc ) C => C : = matrix ( 3,3, [ 2,3, – 4,0, – 4,2,1, – 1,5 ] ) ; C : => 1 / C = evalm ( 1 / C ) ; d ) > F : = matrix ( 3,3, [ 3,2,1,4,5,2,2,1,4 ] ) ; F : => 1 / F = evalm ( 1 / F ) ; HVTH : Đinh Đức Khoa – CH1102003Trang : 24

Source: https://expgg.vn
Category: Thông tin

Total
0
Shares
Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Previous Post

Cách giải phóng bộ nhớ RAM giúp máy tính chạy nhanh

Next Post

4 cách giảm dung lượng ảnh trực tuyến mà vẫn giữ nguyên chất lượng ảnh

Related Posts