Tải bản đầy đủ (.docx) (8 trang)

code báo cáo matlab đại học bách khoa

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 (133.99 KB, 8 trang )

Báo cáo Matlab môn đại số tuyến tính nhóm 1 lớp L04-BB

Đại học Bách khoa – Đại học Quốc gia
Thành phố Hồ Chí Minh
*****

*****

Đề tài: Đề tài 1: tìm ma trận nghịch đảo
Lớp: L04-BB
Nhóm số: 1
GVHD: Nguyễn Hữu Hiệp
Danh sách thành viên:
STT
1
2
3
4
5
6
7
8
9
10

MSSV
1513198
1512496
1512087
1513801
1512906


1511409
1513849
1511026
1510230
1512859

Họ Và Tên
Lê Văn Thiện
Tăng Huỳnh Phú
Nguyễn Hoàng Nam
nguyễn Chánh Trực
Trần ngọc tài
Trần Hưng
Nguyễn Thanh Tuấn
Nguyễn Trung Hiếu
Nguyễn Phương Bình
Trịnh Công Sơn

Lớp
L04-BB
L04-BB
L04-BB
L04-BB
L04-BB
L04-BB
L04-BB
L04-BB
L04-BB
L04-BB


1


Báo cáo Matlab môn đại số tuyến tính nhóm 1 lớp L04-BB

Đề tài: Tiệm cận của hàm y = f(x)
I.PHẦN MỞ ĐẦU
1.

Yêu cầu của đề tài: Nhập từ bàn phím ma trận vuông
A. Viết đoạn code tìm ma trận nghịch đảo của ma trận
vuông A bằng phép biến đổi sơ cấp.

Input,output:
input: nhập ma trận A
output: Xuất ra ma trận nghịch đảo của A (nếu có)

2.

Cơ sở lý thuyết:
Kiểm tra ma trận A vuông bằng cách xét: số hàng và
số cột của A. Nếu số hàng khác số cột thì A không
vuông, số hàng bằng số cột thì A vuông.
- Ma trận vông A có nghịch đảo khi A khả nghịch:
det(A) khác 0.
- Ma trận nghịch đảo của A được tìm theo công thức:
[A|I] [I|]

3.
-


4.

Thuật toán:

Bước 1: kiểm tra ma trận A có vuông hay không, nếu
vuông xét tiếp A có khả nghịch không. Nếu không vuông,
không khả nghịch thì suất ra màn hình A không vuông, A
2


Báo cáo Matlab môn đại số tuyến tính nhóm 1 lớp L04-BB
không khả nghịch. Nếu A vuông thì ghép A với ma trân
đơn vị B cùng cấp với A
Bước 2: xét phần tử cơ sở của các hàng từ 1 đến hết, nếu
phần tử cơ sở của hàng đầu bằng 0 thì thực hiện đảo hàng
đó với một trong các hàng dưới có phần tử cơ sở khác 0.
Lặp lại bước 2 cho đến khi A được đưa hoàn toàn về ma
trận bậc thang.
Bước 3: cho k chạy từ 1 đến n ( với n là cấp của A,cũng là
số hàng của A) cho i chạy từ k+1 đến n. Khi đó thực hiện
thuật toán: A(i,:)=A(i,:)*A(k,k)-A(k,:)*A(i,k). Khi
đó A được đưa hoàn toàn về ma trận bậc
thang.
Bước 4: cho j chạy từ n về 1 cho i chạy từ k+1 đến n. Khi
đó thực hiện thuật toán: A(i,:)=A(i,:)*A(j,j)A(j,:)*A(i,j).
Khi đó A được đưa hoàn toàn về ma trận chéo.
Bước 5: cho i chạy từ 1 đến n, khi đó thực hiện
thuật toán: A(i,:)=A(i,:)/A(i,i). Khi đó A được
đưa hoàn toàn về ma trận đơn vị.

Bước 6: khi kết thúc bước 5 thì ma trận đơn vị
B được đưa về ma trận nghịch đảo của A. Xuất
Ma trận B bằng lệnh: disp(A(:,hang+1:end).

3


Báo cáo Matlab môn đại số tuyến tính nhóm 1 lớp L04-BB

5.Đoạn code:
A=input('Nhap ma tran: ');
[hang, cot]=size(A);
if hang ~= cot
disp('Ma tran khong phai la ma tran vuong')
return
end
if det(A)==0
disp('Ma tran khong kha nghich')
return
end
A=[A eye(hang)];
for k=1:hang
if A(k,k)==0
for l=k:hang
if A(l,k)~=0
s=A(l,:);
A(l,:)=A(k,:);
A(k,:)=s;
break;
end

end
end
for i=k+1:hang
4


Báo cáo Matlab môn đại số tuyến tính nhóm 1 lớp L04-BB
A(i,:)=A(i,:)*A(k,k)-A(k,:)*A(i,k);
end

end
for j=hang:-1:1
for i=j-1:-1:1
A(i,:)=A(i,:)*A(j,j)-A(j,:)*A(i,j);
end
end
for i=1:hang
A(i,:)=A(i,:)/A(i,i);
end
disp('Ma tran nghich dao: ');
disp(A(:,hang+1:end));

II. PHẦN NỘI DUNG BÁO CÁO:
Các ví dụ và kết quả chạy được:
Ví dụ 1: chạy chương trình với ma trận:
A=[1 2 3 4;3 4 2 5;3 5 4 3;6 5 3 2]
>> matrannghichdao
Nhap ma tran: [1 2 3 4;3 4 2 5;3 5 4 3;6 5 3 2]
Ma tran nghich dao:
0.1959 -0.0722 -0.3814


0.3608
5


Báo cáo Matlab môn đại số tuyến tính nhóm 1 lớp L04-BB
-0.5567

0.2577

0.4330 -0.4227
0.1546

0.5052 -0.2887
0.0515

0.1134

0.2062 -0.1959 -0.0309

Ví dụ 2: chạy chương trình với ma trận:
A= [4 3 5 2;5 3 2 5;2 5 6 4;4 5 2 5]
>> matrannghichdao
Nhap ma tran: [4 3 5 2;5 3 2 5;2 5 6 4;4 5 2 5]
Ma tran nghich dao:
0.2803

0.0064 -0.2675

0.0955


0.1401 -0.4968 -0.1338

0.5478

0.0446

0.1146

0.1847 -0.2803

-0.3822

0.4459

0.2739 -0.3121

Ví dụ 3: chạy chương trình với ma trận:
6


Báo cáo Matlab môn đại số tuyến tính nhóm 1 lớp L04-BB
A=[1 2 3 4;2 4 6 8;3 4 2 5;2 4 5 3]
>> matrannghichdao
Nhap ma tran: [1 2 3 4;2 4 6 8;3 4 2 5;2 4 5 3]
Ma tran khong kha nghich
Ví dụ 4: chạy chương trình với ma trận:
A= [3 6 5;1 2 4;4 5 7]
>> matrannghichdao
Nhap ma tran: [3 6 5;1 2 4;4 5 7]

Ma tran nghich dao:
-0.2857 -0.8095

0.6667

0.4286

0.0476 -0.3333

-0.1429

0.4286

0

Ví dụ 5: chạy chương trình với ma trận:
A=: [1 2 3 4;2 3 4 5;4 3 2 4]
7


Báo cáo Matlab môn đại số tuyến tính nhóm 1 lớp L04-BB
>> matrannghichdao
Nhap ma tran: [1 2 3 4;2 3 4 5;4 3 2 4]
Ma tran khong phai la ma tran vuong

III.PHẦN KẾT LUẬN
-

Chương trình chạy được cho mọi ma trận chứa số


-

thực.
Chương trình không chạy được cho ma trận chứa số
phức

8



×