Professional Documents
Culture Documents
NHÓM 5 MATLAB
Tính định thức của ma trận vuông A bằng cách khai triển
theo một hàng tùy ý (hoặc một cột tùy ý) qua các bù đại số
TP.HCM 26/12/2018
1
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN - ĐIỆN TỬ
NHÓM 5 MATLAB
Tính định thức của ma trận vuông A bằng cách khai triển
theo một hàng tùy ý (hoặc một cột tùy ý) qua các bù đại số.
TP.HCM 26/12/2018
2
Mục lục
A. Bài tập chung………………………….5
1. Yêu cầu……………..…………………..5
2. Kiến thức vận dụng……………………5
3. Thuật toán……………………… … ….5
4. Viết chương trình………….. …………6
5. Ví dụ…………………………………….7
B. Bài tập cá nhân………………………. .8
3
Danh sách nhóm:
Thành viên MSSV Đóng góp
Nguyễn Thiên Phúc 1813585 30%
Trần Trọng Phúc 1813596 10%
Phùng Thanh Phong 1813532 10%
Lê Thành Phát 1813477 10%
Phạm Thị Hồng Nhung 1813431 10%
Nguyễn Ý Nhi 1813411 10%
Trần Minh Phúc 1813595 10%
Nguyễn Hoàng Nguyên Khang 1810981 10%
4
A. Bài tập chung:
1. Yêu cầu:
Tính định thức của ma trận vuông A bằng cách khai triển theo một hàng tùy ý (hoặc
một cột tùy ý) qua các bù đại số.
Input: cho phép nhập vào một ma trận vuông tùy ý.
Output: Det(A)
2. Kiến thức vận dụng:
Dùng phương pháp khai triển theo dòng hoặc cột.
Cho A là ma trận vuông cấp n:
a11 a12 .. .. a1n
: : :
A ai1 ai 2 .. .. ain
: : :
am1 am 2 .. .. amn
Khi đó:
5
4. Viết chương trình:
syms Q k
A=input('Nhap ma tran A can tinh dinh thuc: ');
[a,~]=size(A);
m=input('Ban can tinh dinh thuc theo hang (1) hay cot (2): ');
if m==1
T=0;
k=input('Nhap hang ban can tinh dinh thuc theo no: ');
for i=1:a
Q=A;
Q(k,:)=[];
Q(:,i)=[];
T=T+((-1)^(k+i))*A(k,i)*det(Q);
end
disp('Dinh thuc cua ma tran A la: '),disp(T);
end
if m==2
T=0;
k=input('Nhap so cot ban can tinh dinh thuc theo no: ');
for i=1:a
Q=A;
Q(i,:)=[];
Q(:,k)=[];
T=T+((-1)^(k+i))*A(i,k)*det(Q);
end
disp('Dinh thuc cua ma tran A la: '),disp(T);
end
6
5. Ví dụ:
Tính định thức của ma trận vuông sau bằng khai triển hàng 3;
7
B.Bài tập cá nhân:
-Dòng lệnh:
A=[3 5 7 2;1 2 3 4;-2 -3 3 2;1 3 5 4]
rref(A)
-Kết quả:
8
-Dòng lệnh:
A=[0 2 -4;-1 -4 5;3 1 7;0 5 -10]
if (rank(A)==rank(A*(A.’)))&(rank(A*(A.’))==rank((A.’)*A))
disp(‘ Mệnh đề cần chứng minh đúng’)
else
disp(‘Sai’)
end
-Kết quả:
9
-Dòng lệnh:
A=[1 2 1;-1 1 -2]
B=[-1 2;0 2;-1 1]
C=[2 1 0;-1 1 1;0 2 -1]
P=2*A*C-(C*B).’
-Kết quả:
10
-Dòng lệnh:
syms m
A=[1 1 1 1;2 3 -1 4;-1 1 0 2;2 2 3 m]
solve(det(A)==0)
-Kết quả:
11
-Dòng lệnh:
A=[2 3 1;3 4 2;5 3 -1]
PA=det(A)*inv(A)
-Kết quả:
12
-Dòng lệnh:
A=[2 1 1;3 1 2;1 -1 0]
fA=A^2-2*A-3
-Kết quả:
13
-Dòng lệnh:
syms a b c x
det([a+x x x;x b+x x;x x c+x])
-Kết quả:
14
-Dòng lệnh:
A=[3 -2 6;5 1 4;3 1 1]
B=[1 1 -1;0 2 5;1 -3 7]
-Kết quả:
15