Tải bản đầy đủ (.pdf) (14 trang)

Báo cáo dstt office CƠ SỞ ĐIỀU KHIỂN TỰ ĐỘNG

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 (602.72 KB, 14 trang )

ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH
KHOA KỸ THUẬT HĨA HỌC
------------------------------------------

BÀI TẬP LỚN

ĐẠI SỐ TUYẾN TÍNH
Nhóm thực hiện: Nhóm 7
Lớp: L12
Tên

MSSV

1. Nguyễn Tấn Ln

1710184

2. Nguyễn Chí Bảo

1710590

3. Ngơ Thái Thanh Thư

1710323

4. Trần Duy Tân

1713082

5. Mai Thị Thanh Ngân


1712282

6. Phan Trọng Nhân

1712442

Giáo viên hướng dẫn: Lê Nguyễn Hạnh Vy
TP.HCM, tháng 5 năm 2018


Mục Lục…………………………………………………………………
I. PHẦN BÁO CÁO NHÓM
1. Đề tài bài tập lớn ……………………………………………………….
2. Cơ sở lý thuyết ………………………………………………………….
3. Các bước chạy chương trình ……………………………………………
4. Đoạn code ………………………………………………………………
5. Ví dụ minh họa …………………………………………………………

II. PHẦN BÁO CÁO CÁ NHÂN
1. PHẦN 1: Ma trận và định thức …………………….………………..
2. PHẦN 2: Hệ phương trình……………………………………………
3. PHẦN 3: Không gian vector…………….……………………………
4. PHẦN 4: Không gian Euclide ……………………………………….
5. PHẦN 5: Ánh xạ tuyến tính – trị riêng – vector riêng……………….

1


I. PHẦN BÁO CÁO NHÓM
1.


Đề tài bài tập lớn:
Chủ đề 2: Tích hai ma trận.
Yêu cầu: Input: cho phép nhập hai ma trận A và B. Chương trình phải
kiểm tra xem 2 ma trận có nhân được với nhau được khơng? Output: ma trận
tích và ma trận nghịch đảo.
Chủ đề 14: Tìm cơ sở và số chiều của khơng gian giao F ∩ G và không
gian tổng F + G của hai không gian con F và G.
Yêu cầu: input: nhập vào hai không gian con (tập sinh của hai khơng gian
con F và G, hoặc hệ phương trình). Output: số chiều và cơ sở của không gian
giao và tổng.

2.

Cơ sở lý thuyết:
 Phép nhân hai ma trận:
Cho A = (aij)m x p , B = (bij)p x n . Tích 2 ma trận A.B = C = (cij)m x n
Cij = ai1b1j + ai2b2j + … + aipbpj
…………………
………
… 𝑏1𝑗 …
AB = (𝑎𝑖1 𝑎𝑖2 … 𝑎𝑖𝑝) . ( … … … ) = (… 𝑐𝑖𝑗 …)
………………..
………
… 𝑏𝑝𝑗 …
Điều kiện phép nhân: Số cột ma trận trước bằng số hàng ma trận sau.
Cách nhân theo tích vơ hướng:
Cij = hi(A) × cj(B)
 Ma trận nghịch đảo:
2



Ma trận vuông A gọi là khả nghịch nếu tồn tại ma trận B sao cho
BA = AB = I
A nghịch đảo khi và chỉ khi det(A) ≠ 0
Cách tìm ma trận nghịch đảo:
(𝐴|𝐼)

(𝐼|𝐴−1 )

Bdsc theo hàng

 Cơ sở và số chiều F ∩ G (F,G cho dạng tập sinh):
- Cho hai không gian con F và G của KGVT V. Giao 2 không gian
con:
F ∩ G = {𝑥 ∈ 𝑉|𝑥 ∈ 𝐹 𝑣à 𝑥 ∈ 𝐺}
- Tính chất giao 2 không gian con:
( F ∩ G)

F

(F + G)

V

( F ∩ G)

G

(F + G)


V

- Cách tìm:
+ Tìm cơ sở trực giao của ma trận cơ sở F, G là F1,G1.
+ Tìm ma trận cơ sở trực sao của tổng hai ma trận F1T, G1T chính
là ma trận cơ sở của F ∩ G.
 Cơ sở và số chiều F + G (F, G cho dạng tập sinh):
- Cho hai không gian con F và G của KGVT V. Tổng 2 không gian
con là một không gian con nhỏ nhất chứa hai không gian đã cho:
F + G = {𝑓 + 𝑔|𝑓 ∈ 𝐹 𝑣à 𝑔 ∈ 𝐺}

3


- Tính chất tổng 2 khơng gian con:
F = < f1, f2, … , fn >

G = <g1, g2, … , gm >

Ta có: F + G = <f1, f2, … , fn , g1, g2, … , gm>
- Tìm ma trận cơ sở và số chiều bằng cách đưa F + G về ma trận
bậc thang.

Các bước chạy trương trình:

3.


Tích hai ma trận:

B1: Nhập 2 ma trận A, B.
B2: Kiểm tra A có nhân được với B.
B3: Tính tích 2 ma trận A, B.
B4: Kiểm tra ma trận A.B có khả nghịch.
B5: Tính ma trận nghịch đảo của A, B.

 Tổng giao hai không gian con:
B1: Nhập tập sinh của F và G.
B2: Tìm cơ sở của F và G.
B3: Tìm ma trận cơ sở và số chiều của F + G.
B4: Tìm ma trận cơ sở và số chiều của F ∩ G.

Đoạn code:

4.


Tích hai ma trận:

4


function tichhaimatran
A = input('Nhap ma tran A: ');
B = input('nhap ma tran B: ');
while size(A,2)~=size(B,1);
disp('A khong nhan duoc voi B');
A = input('Nhap lai ma tran A: ');
B = input('nhap lai ma tran B: ');
end

for i = 1:1:size(A,1);
m = A(i,:);
for j = 1:1:size(B,2);
n = B(:,j);
h(i,j) = m*n;
end
end
disp('Tich cua ma tran A va B la C:');
disp(h);
if size(h,1)~=size(h,2)
disp('h khong la ma tran vuong nen khong co ma tran nghich dao')
else
n=size(h,1);
if rank(h)nghich dao')
else I=eye(n);
C=rref([h I]);
'A*B co ma tran nghich dao la'
C=C(:,[n+1:2*n])
end
end

5


 Tổng giao hai không gian con:
F=input('Nhap ma tran tap sinh cua F theo hang: ');
G=input('Nhap ma tran tap sinh cua G theo hang: ');
q=rank(F);%kiem tra xem so co so F
p=rank(G);%kiem tra xem so co so G

Q=F(1:q,:);%lay co so cua F
P=G(1:p,:);%lay co so cua G
N=[Q;P];% ma tran cac co so cua F va G theo hang
n=rank(N);%hang cua N
[m,n]=size(N);%gán cho m là so hàng n là so cot cua ma tran%
h=1;%gán cho h=1
for k=1:m-1;%cho k chay tu 1-> m-1
for j=h:n;%ung voi moi giá tri k ðang chay thi ta cho j(là
bien chi cot) chay tu h=1 ->n
for i=k:m;%ung voi moi giá tri j ta lai cho i(là bien chi
hàng)chay tu k=1 ->m
if(N(i,j)~=0)%i và j chay cho ðen khi phan tu ma tran
thuoc hàng i cot j khác 0(hieu là:neu quét ma tran tung cot mot tu
trên xuong duoi cho den khi gap mot phan tu khác 0 thi thoi)
break;%neu phan tu hàng i cot j khác 0 thi nó se
dung và bo lenh 'for'ðang chua nó tuc là lai bat ðau chay tu 'for
j=h:n'
end;
end;
if(N(i,j)~=0);
break;
end;
end;
if(i~=k)%truong hop nay chi xay ra sau cung khi i=m va k=m-1
for l=h:n;
a=N(k,l);
N(k,l)=N(i,l);
N(i,l)=a;
end;
end;

if(j~=h)
h=j;
end;
for i=k+1:m;
if(N(i,h)~=0)
a=N(i,h)/N(k,h);%gán cho a la thuong cua phep chia
phan tu duoi cho pt tren
for j=h:n;
N(i,j)=N(i,j)-a*N(k,j);%sau do phan tu ma tran
hang i cot j se nhan duoc gia tri moi bang phep tru tren
end;
end;
end;
h=h+1;
end;
N2=N(1:n,:);%lay so hang khac 0 cua N1

6


T1=null(Q,'r');%cho ra co so truc giao cua Q
T2=null(P,'r');%cho ra co so truc giao cua P
T=[T1'; T2'];%ma tran nghiem
R1=null(T,'r');%cho ra co so truc giao cua T
k=rank(R1');
disp(['Chieu cua co so cua F + G la: ',num2str(n)]);
disp('Co so cua F + G la: ');
disp(N2);
disp(['Chieu cua F giao G la: ',num2str(k)]);
disp('Co so cua F giao G la: ');

disp(R1')

5.

Ví dụ minh họa:


Tích hai ma trận:

𝟏
Ví dụ 1: Cho ma trận A = (
𝟒

𝟏
Ví dụ 2: Cho ma trận A = (−𝟏
𝟒

𝟏 𝟏
𝟐 𝟒
) và ma trận B = (𝟑 𝟐
𝟑 𝟐
𝟏 𝟒

𝟐 𝟑
𝟏 𝟏

ma
trận
B
=

)
(
𝟎 𝟏
𝟏 𝟎
𝟓 𝟐
𝟏 𝟒

𝟐
𝟏)
𝟑

𝟏
𝟏)
𝟔

7


 Tổng giao hai khơng gian con:
Ví dụ 1: Trong R3 cho hai không gian con F = < (-1;1;0), (2;0;1) > ,
G = < (1;1;0), (-1;0; 1) >
(VD 4.45/ Trang 104 sách đại số tuyến tính thầy Hiệp và thầy Vinh)

Ví dụ 2: Trong R3 cho hai khơng gian con F = < (1;0;1), (1;1;1) > ,
G = < (1;1;0), (2;1; 1) >
8


(VD 4.47/ Trang 105 sách đại số tuyến tính thầy Hiệp và thầy Vinh)


II.
1.

PHẦN BÁO CÁ NHÂN:
Phần 1: Ma trận và định thức:
Sinh viên thực hiện:
Họ tên: Trần Duy Tân

MSSV: 1713082

Đề bài:

Các dòng lệnh:
a=[0 2 -4; -1 -4 5; 3 1 7;0 5 -10];
rank(a)
rank(a*a')
rank(a'*a)

9


Kết quả thu được: r(A) = r(AAT) = r(ATA) = 2

Sinh viên thực hiện:
Họ tên: Nguyễn Tấn Luôn

MSSV: 1710184

Đề bài:


Các 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];
a=2*A*C-(C*B)'

𝟐
𝟏𝟎
Kết quả thu được: a = (
−𝟏𝟐 −𝟗

2.

𝟏
)
𝟑

Phần 2: Hệ phương trình:
Sinh viên thực hiện:
Họ tên: Nguyễn Chí Bảo

MSSV: 1710590

Đề bài:

10


Các dòng lệnh:
A=[1 2 3 4; 2 1 2 3;3 2 1 2;4 3 2 1];

B=[1 2 3 4 7;2 1 2 3 6;3 2 1 2 7;4 3 2 1 18];
rank(A)
rank(B)
%r(A)=r(B) = 4=> hệ có nghiệm duy nhất

Kết quả thu được: Hệ có nghiệm duy nhất.

3.

Phần 3: Khơng gian vector:
Sinh viên thực hiện:
Họ tên: Mai Thị Thanh Ngân

MSSV: 1712282

Đề bài:
Tìm hạng và họ con ĐLTT cực đại của họ vecto M =
{(1,1,1,0), (1, −2,1,1), (2,1,2, −1)}
Các dòng lệnh:
>> M=[1 1 1 0;1 -2 1 1;2 1 2 -1];

>> rank(M)

>> rref(M)
11


>> %ho con DLLT cuc dai la (1,0,1,0) (0,1,0,0) (0,0,0,1)

Kết quả thu được: r(M) = 3, họ con ĐLTT cực đại của M là


4.

Phần 4: Không gian Euclide:
Sinh viên thực hiện:
Họ tên: Ngô Thái Thanh Thư

MSSV: 1710323

Đề bài:
4) Trong R3, cho tích vơ hướng (x,y) = x1y1 + 2x2y2 + 3x3y3 – x1y3 – x3y1.
Tìm góc và khoảng cách giữa 2 vecto u = (1,1,2),v = (2,1,-1)
Các dòng lệnh:
>> A = [1 0 -1;0 2 0; -1 0 3];
>> u = [ 1 1 2];
v = [2 1 -1];
w=u-v;
goc = acos((u*A*v')/(norm(u)*norm(v)))
>> khoangcach = sqrt(w*A*w')

Kết quả thu được: goc(u,v) = 2,559 rad, d(u-v) = 5,831

5.

Phần 5: Ánh xạ tuyến tính – trị riêng – vector riêng:
Sinh viên thực hiện:
Họ tên: Phan Trọng Nhân

MSSV: 1712442


Đề bài:
12


2) Cho axtt f: R3 → R2, biết f(1,1,0) = (2,-1), f(1,1,1) = (1,2), f(1,0,1) =
(- 1,1). Tìm f(2,0,3).
Các dịng lệnh:
>> E=[1 1 0; 1 1 1; 1 0 1];
>> E=E';
>> F = [2 0 3];
>> F = F';
>> x=inv(E)*F
f = (-1)*[ 2 -1] + 1*[1 2]+ 2*[-1 1]

Kết quả thu được: f(2,0,3) = (-3,5)

Cảm ơn cô đã xem và đánh già bài báo cáo của nhóm!

13



×