ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH LỚP DD16LT05 Nhóm 4 Giáo viên hướng dẫn Nguyễn Xuân Mỹ Năm học 2016 2017 DANH SÁCH CÁC THÀNH VIÊN HỌ VÀ TÊN MSSV 1 Nguyễn Thành Danh 1610394 2 Ngô Quốc Đạt 1610643 3 Trần Khánh Phong 161xxxx 4 Dương Hà Quang 161xxxx 5 Nguyễn Hữu Thọ 161xxxx 6 Huỳnh Trung Tín 161xxxx 7 Nguyễn Phạm Tuấn 161xxxx 8 Phạm Minh Tuấn 161xxxx 9 Trương Minh Tuấn 161xxxx 10 Lê Minh Tường 161xxxx 11 Phạm Minh Thuận 161.
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH LỚP : DD16LT05 Nhóm:4 Giáo viên hướng dẫn: Nguyễn Xuân Mỹ Năm học : 2016- 2017 DANH SÁCH CÁC THÀNH VIÊN HỌ VÀ TÊN MSSV Nguyễn Thành Danh 1610394 Ngô Quốc Đạt 1610643 Trần Khánh Phong Dương Hà Quang Nguyễn Hữu Thọ Huỳnh Trung Tín Nguyễn Phạm Tuấn Phạm Minh Tuấn Trương Minh Tuấn 10 Lê Minh Tường 11 Phạm Minh Thuận 12 Đỗ Văn Quyết 161xxxx 161xxxx 161xxxx 161xxxx 161xxxx 161xxxx 161xxxx 161xxxx 161xxxx 161xxxx Phụ lục PhầnA : Giới thiệu sơ lược mathlab I GIỚI THIỆU VỀ CỬA SỔ LÀM VIỆC MATHLAB 1) Khởi động MATLAB……………………………………………… 2) Một số lệnh tổng quát liên quan đến cửa sổ Command Windows… II CÁC TOÁN TỬ VÀ KÝ TỰ ĐẶC BIỆT ĐƯỢC DÙNG Các toán tử số học (Arithmetic Operators)…………………………… Toán tử quan hệ (Relational Operators)……………………………… a) Giải thích…………………………………………………………… b) Ví dụ:……………………………………………………………… Tốn tử logig(Logical Operators)………………………………… a) Giải thích…………………………………………………………… b) Ví dụ………………………………………………………………… Ký tự đặc biệt (Special Characters):……………………………… Dấu ‘:’……………………………………………………………… a) Cơng dụng…………………………………………………………… b) Giải thích…………………………………………………………… c) Ví dụ………………………………………………………………… Phần B: Ứng dụng mathlab đại số tuyến tính I.CÁC TẬP LỆNH DÙNG VỚI SỐ PHỨC 1) Khai báo số phức z………………………………………… ……… 2)Lấy phần thực ảo số phức………………………….………… 2.1)Lấy phần thực ……………………………………………………… a) Cú pháp ……………………………………………………… b) Ví dụ ……………………………………………………………… 2.2)Lấy phần ảo……………………………………………………… a) Cú pháp ……………………………………………………… b) Ví dụ ……………………………………………………………… 3.Lấy liên hợp số phức………………………….………………… a)Cú pháp ……………………………………………………………… b) Ví dụ ………………………………………….…………………… Tính Module số phức ………………………………………… a)Cú pháp……………………………………….… ………………… b)Ví dụ……………………………………… ………………… Tính Argument số phức……………………………… …… a)Cú pháp……………………………………………… ……………… b)Ví dụ…………………………………………………………… II TẬP LỆNH THAO TÁC TRÊN MA TRẬN 1) Tạo ma trận ……………………………………………………… 1.1) Tạo ma có m hàng n cột……………………………………… 1.2) Lệnh eye………………………………………………………… 1.3)Lệnh Zeros…………………………………………………… 1.4) Lệnh Ones………………………………………………………… 1.5)Lệnh Diag………………………………………………………… 2) Tham chiếu ma trận ……………………………………… 2.1 ) Tham chiếu phần tử ma trận……………………………… 2.2) Tham chiếu hàng hay cột ma trận………………………… 2.3) Tham chiếu từ dòng i đến dòng k, từ cột j đến cột h……………… 3) Các phép toán ma trận …………………………………………… 3.1)Cộng, trừ, nhân, chia ma trận với số………………………… 3.2) Lệnh Det………………………………………………………… 3.3) Ma trận chuyển vị ………………………………………………… 3.4) Lệnh Fliplr……………………………………………………… 3.5) Lệnh Flipud…………………………………………………… 3.6)Lệnh Inv…………………………………………………………… 3.7) Lệnh Magic……………………………………………………… 3.8)Nhân ma trận……………………………………………………… 3.9) Lệnh Pascal……………………………………………………… 3.10) Lệnh Rand……………………………………………………… 3.11) Lệnh Reshape…………………………………………………… 3.12) Lệnh Rot90……………………………………………………… 3.13) Lệnh Trace……………………………………………………… 3.14)Lệnh Tril…………………………………………………… 3.15)Lệnh Triu………………………………………………… 3.16) Lệnh A\b…………………………………………………… 3.17)Lệnh Numel………………………………………………… 3.18) Lệnh Size…………………………………………………… 3.19) Lệnh A^k……………………………………………………… 3.20) Lệnh Rref……………………………………………………… 3.21) Tạo ma trận rỗng……………………………………………… 3.22) Lệnh Isempty………………………………………………… 3.23) Xóa dịng cột ma trận……………………………… 3.24) lệnh Rank……………………………………………………… 3.25)Lệnh [V,D]=eig(H)…………………………………………… 3.26) Các phép toán ma trận ma trận…………………… 3.27) Lệnh eig …………………………………………………… 3.28) Lệnh Vander ………………………………………………… 3.29) Lệnh hadamard……………………………………………… 3.30) Lệnh Hilb…………………………………………………… 3.31) Các lệnh phân tích ma trận thành tích ma trận ………… 3.31.1) Lệnh chol ………………………………………………… 3.31.2) Lệnh [Q,R]=qr(A) [L,U]=lu(A)………………………… 3.32.) Lệnh roots………………………………………………… 3.33) Lệnh Polyval………………………………………………… 3.34) Lệnh polyvalm………………………………………………… III.CÁC LỆNH CHO KHÔNG GIAN VECTOR, KHÔNG GIAN EUCLIDE,TRỊ RIÊNG Lệnh tạo vector đơn……………………………………………… Lệnh Linspace …………………………………………………… 3)Lệnh Poly…………………………………………………………… 4)Lệnh Norm………………………………………………………… 5) Lệnh Length………………………………………………………… 6)Lệnh Cross…………………………………………………………… 7)Lệnh Dot……………………………………………………………… 8)Lệnh Max, Min…………………………………………………… IV PHẦN NHẬN XÉT CỦA GIÁO VIÊN 1)Về cách trình bày ………………………………………………… 2)Về nội dung ………………………………………………………… PhầnA :Giới thiệu sơ lược Mathlab I GIỚI THIỆU VỀ CỬA SỔ LÀM VIỆC MATHLAB 1) Khởi động MATLAB * Ðể khởi động làm việc với MATLAB, ta nhắp đúp vào biểu tượng MATLAB Màn hình xuất bao gồm cửa sổ: - Cửa sổ lệnh Command Windows:Ðây cửa sổ MATLAB Tại đâyta thực tồn việc nhập liệu xuất kết tính tốn Dấu nhắc >> đểgõ lệnh - Cửa sổ lịch sử lệnh Command History: liệt kê lệnh sử dụng trước kèm thời gian bắt đầu Có thể lặp lại lệnh cũ cách nhắp chuột kép vào lệnh - Cửa sổ khơng gian làm việc Workspace Browser: cho biết biến sử dụng chương trình - Cửa sổ Launch Pad: cho phép người sử dụng truy cập nhanh công cụ, tài liệucủa MATLAB - Cửa sổ thư mục Current Directory Browser: cho biết thư mục sử dụng Người sử dụng nhanh chóng nhận biết, chuyển đổi thư mục môi trường công tác, mở File, tạo thư mục Toán tử quan hệ (Relational Operators) +clc: xóa cửa sổ lệnh +home: di chuyển chạy lên góc trái cửa sổ (khi chạy chươngtrình) +help: trợ giúp thơng tin mục +echo, echo on/off: tắt mở hiển thị dịng file m chạy chương trình +edit: gọi chương trình soạn file *.m +type tên_file: đọc nội dung file *.m +demo: gọi chương trình demo +quit, exit: chương trình MATLAB II CÁC TỐN TỬ VÀ KÝ TỰ ĐẶC BIỆT ĐƯỢC DÙNG Các toán tử số học (Arithmetic Operators): Tốn tử Cơng dụng + Cộng ma trận đại lượng vơ hướng (các ma trận phải có kích thước) - Trừ ma trận đại lượng vơ hướng (các ma trận phải có kích thước) * Nhân ma trận đại lượng vô hướng (ma trận phải có số cột số hàng ma trận 2) * Nhân phần tử ma trận đại lượng vô hướng (các ma trận phải có kích thước) \ Thực chia ngược ma trận đại lượng vô hướng (A\B tương đương với inv (A)*B) .\ Thực chia ngược phần tử ma trận đại lượng vơ hướng (các ma trận phải có kích thước) / Thực chia thuận ma trận đại lượng vô hướng (A/B tương đương với A*inv(B)) ./ Thực chia thuận phần tử ma trận cho ma trận (các ma trận phải có kích thước) ^ Lũy thừa ma trận đại lượng vô hướng Lũy thừa phần tử ma trận đại lượng vô hướng (các ma trận phải có kích thước) ^ Ví dụ: Phép tính ma trận Phép tính mảng x y x’ 123 y’ x+y x–y -3 -3 -3 x+2 x–2 -3 -3 -3 x * y 10 18 x*y phép toán sai x’* y 32 x’.* y phép toán sai x * y’ 10 12 12 15 18 x * y’ phép toán sai 0 0 0 0 0 0 >>isempty(B) ans = 0% B không ma trận rỗng >> A= [] A= [] >>isempty(A) ans = % A ma trận rỗng 3.23) Xóa dịng cột ma trận a) Cơng dụng : xóa dịng hay cột ma trận b) Cú pháp : - A(i , :) = [ ] : xóa dịng thứ i - A(: , j )= [ ] : xóa cột thứ j c) Giải thích : - A ma trận cho trước - i, j dịng cột muốn xóa d) Ví dụ: >> A = [3 4 ; 4 2; 4 4] A= 3 4 4 4 >>A(2,:)=[] A= 3 4 4 >>A(:,3)=[] A= 3 4 % Sau xóa hàng ma trận A3×4 thành A2×4 lệnh xóa cột thực ma trận A2×4 3.24) Lệnh Rank a)Cơng dụng : tìm hạng ma trận cho trước b) Cú pháp : rank (A) c) Giải thích : A ma trận cho trước d) Ví dụ : >> A= [ 2; 5; 42 4] A= 5 42 >>rank(A) ans = 3.25)Lệnh [V,D]=eig(H) a) Công dụng: Tìm ma trận chéo hóa, vecto riêng trị riêng ma trận b) Cú pháp: [V,D]=eig(H) c) Giải thích: V: Vecto riêng D: Ma trận chéo hóa H: Ma trận Các giá trị ma trận chéo hóa trị riêng d) Ví dụ: >>A=[3 -2 7; -5 21; 12 -3] A= -2 -5 21 12 -3 >> [V,D]=eig(A) V= 0.3521 0.3915 -0.0549 0.6761 -0.9163 0.9788 -0.6472 0.0847 0.1972 D= -13.7070 0 9.1952 0 13.5117 3.26) Các phép tốn ma trận ma trận a) Cơng dụng : dùng để cộng trừ nhân ma trận cho trước b) Cú pháp : A ± B : cộng , trừ ma trận A*B B*A : Nhân ma trận c) Giải thích : - A,B ma trận cho trước - A*B tồn số cột A số hàng B - B*A tồn số cột B số hàng A - A ± B tồn A B có số hàng cột d) Giải thích: >> A= [ 1; 2; 56 2]; >> B= [ 6; 51 1; 1]; >> A+B ans = 52 59 12 3 >> A-B ans = -2 -50 53 -5 >> A*B ans = 215 13 17 214 16 12 587 129 345 >> B*A ans = 346 66 20 159 215 55 67 39 15 3.27) Lệnh eig a)Công dụng :Xuất trị riêng ma trận cho trước b)Cú pháp :eig(A) c) Giải thích : A ma trận cho trước d) Ví dụ : >> A= [ 31 ; 4; 41 2] A= 31 41 >>eig(A) ans = 34.9926 -1.4989 1.5062 3.28) Lệnh Vander a) Công dụng : tạo ma trận vandermonde dựa vecto V b) Cú pháp : vander (V) c) Giải thích : V vector cho trước d) Ví dụ: >> V= [ 1] V= >>vander(V) ans = 1 1 81 27 256 64 16 625 125 25 1 1 1 3.29) Lệnh hadamard a)Công dụng : Tạo ma trận Hadamard cấp n b) Cú pháp : hadamard (n) c) Giải thích :n cấp ma trận vng muốn tạo d) Ví dụ : >>hadamard(4) ans = 1 1 -1 -1 1 -1 -1 -1 -1 3.30) Lệnh Hilb a) Công dụng: tạo ma trận Hilbert cấp n b) Cú pháp : hilb(n) c) Giải thích : n cấp ma trận vng muốn tạo d) Ví dụ: >>hilb(3) ans = 1.0000 0.5000 0.3333 0.5000 0.3333 0.3333 0.2500 0.2500 0.2000 3.31) Các lệnh phân tích ma trận thành tích ma trận 3.31.1) Lệnh chol a) Cơng dụng :Phân tích ma trận A thành tích ma trận theo phương pháp choleski b) Cú pháp : [Q,R]=chol(A) c) Giải thích : A ma trận cho trước, Q,R ma trận xuất cho tích chúng ma trận A d) Ví dụ >> A=gallery('moler',5) A= -1 -1 -1 -1 0 -1 -1 -1 >> [Q,R]=chol(A) -1 Q= 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 0 R= 3.31.2) Lệnh [Q,R]=qr(A) [L,U]=lu(A) a) Cơng dụng : phân tích ma trận A thành tích ma trận b) Cú pháp:- [Q,R]=qr(A): phân tích A thành tích ma trận Q R - [L,U]=lu(A): ): phân tích A thành tích ma trận L U c) Giải thích : A ma trận cho trước d) Ví dụ >> A= [ 5; 4; 4] A= 4 >> [Q,R]=qr(A) Q= -0.1562 -0.3559 -0.9214 -0.3123 -0.8671 0.3879 -0.9370 0.3484 0.0242 R= -6.4031 -4.5290 -5.7784 -6.4411 -3.8548 0 -2.9581 >> [L,U]=lu(A) L= 0.1667 0.4211 1.0000 0.3333 1.0000 1.0000 0 U= 6.0000 2.0000 4.0000 6.3333 2.6667 0 3.2105 3.32) Lệnh roots a) Công dụng : tìm nghiệm đa thức b) Cú pháp : roots(p) c) Giải thích : -p đa thức cho trước - Cách khai báo p: p= [ an an-1 ….ao], với an , an-1 ,….ao hệ số xn , xn-1,…,x0 d) Giải thích : >> p= [ 4]; >>roots(p) ans = -0.1667 + 1.1426i -0.1667 - 1.1426i 3.33) Lệnh Polyval a) Công dụng : tính giá trị đa thức b) Cú pháp : polyval(p,[ a1 a2.… an]) c) Giải thích : - p đa thức , a1, a2 ,… ,an giá trị biến x để thay vào tính giá trị p - Cách khai báo p: p= [ an an-1 ….ao], với an , an-1 ,….ao hệ số xn , xn-1,…,x0 d) Ví dụ : >> p=[4 5]; >>polyval(p,[ 2]) ans = 47 25 25 3.34) Lệnh polyvalm a) Công dụng : tính trị đa thức mà biến ma trận b) Cú pháp : polyvalm(p,A) c) Giải thích : - p đa thức cho trước , A ma trận cho trước - Cách khai báo p: p= [ an an-1 ….ao], với an , an-1 ,….ao hệ số xn , xn-1,…,x0 d)Ví dụ >> A= [ 3; 3] A= 3 >>polyvalm(p,A) ans = 49 66 44 71 >> A= [ 3; 3]; >> p= [ 3]; >>polyvalm(p,A) ans = 137 201 134 204 III.CÁC LỆNH CHO KHÔNG GIAN VECTOR, KHÔNG GIAN EUCLIDE,TRỊ RIÊNG 1) Lệnh tạo vector đơn a) Công dụng: Lệnh dùng để tạo vector đơn gồm có n phần tử b) Cú pháp 1: Tên vector = [pt1 pt2 pt3 …ptn] c) Giải thích: pt1 pt2 …ptn: số thực d) Ví dụ: Tạo vector a gồm có phần tử, với giá trị là:1, 3, 7, a = [1 4] a= e) Cú pháp 2: Tên vector = gtđ:csc:gtkt f) Giải thích: gtđ: giá trị bắt đầu vector csc: cấp số cộng gtkt: giá trị kết thúc g) Ví dụ: Tạo vector a có giá trị bắt đầu 0.2, giá trị kết thúc pi/2 (= 1.5708), cấp số cộng 0,3 a = 0.2;0.3;pi/2 a= 0.2000 0.5000 0.8000 1.1000 1.4000 Lệnh Linspace a) Cơng dụng: Tạo vector có giá trị ngẫu nhiên giới hạn khoảng định trước b) Cú pháp: y = linspace(x1, x2) y = linspace(x1, x2, n) c) Giải thích: y: tên vector - x1, x2: giới hạn giá trị lớn nhỏ vector y - n: số phần tử vector y - Nếu khơng có giá trị n mặc định n = 100 d) Ví dụ: y = linspace(1, 10, 7) y = 1.0000 2.5000 8.5000 10.0000 3)Lệnh Poly a) Cơng dụng: 4.0000 5.5000 7.0000 Tìm đa thức đặc trưng b) Cú pháp: poly(A) c) Giải thích: A: ma trận A cho trước d) Ví dụ: A= -2 -5 21 12 -3 poly (A) ans 1.0e+03 * 0.0010 -0.0090 -0.1870 4)Lệnh Norm a) Công dụng: Tìm độ dài vecto b) Cú pháp: norm(B) c) Giải thích: B: vecto B d) Ví dụ: B = [ 30,40] Norm (B) ans 50 5)Lệnh Length a) Công dụng: Để biết vecto chiều b) Cú pháp: length(B) c) Giải thích: B: vecto B d) Ví dụ: B = [ 30,40] 1.7030 Length (B) ans 6)Lệnh Cross a) Cơng dụng: Tích hữu hướng vecto chiều b) Cú pháp:cross(m,f) c) Giải thích:m,f : vecto chiều d) Ví dụ: m= f= >>cross(m,f) ans = -1 -1 7)Lệnh Dot a) Cơng dụng: Tích vơ hướng vecto b) Cú pháp:dot(m,f) c) Giải thích:m,f : vecto cho trước d) Ví dụ: m= f= >>dot(m,f) ans = 20 8)Lệnh Max, Min a) Công dụng: - Tìm giá trị lớn (nhỏ nhất) - Tìm vecto có giá trị ghép từ giá trị lớn (nhỏ nhất) hai vecto cho b) Cú pháp: max(m), min(m) max(m,f),min(m,f) c) Giải thích: m,f : vecto d) Ví dụ: m= f= >>max(m) ans = >>max(m,f) ans = 3 IV PHẦN NHẬN XÉT CỦA GIÁO VIÊN 1)Về cách trình bày : …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… ………………………………………… 2)Về nội dung : ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………… ... mathlab đại số tuyến tính I CÁC TẬP LỆNH DÙNG VỚI SỐ PHỨC Ta có i đơn vị phức i2 = -1 1)Khai báo số phức z -Cú pháp : z= a+ b*i hay z= a+ c*j với a , b số cho trước -Nếu a,b biến phải khai báo. .. dụ………………………………………………………………… Phần B: Ứng dụng mathlab đại số tuyến tính I.CÁC TẬP LỆNH DÙNG VỚI SỐ PHỨC 1) Khai báo số phức z………………………………………… ……… 2)Lấy phần thực ảo số phức………………………….………… 2.1)Lấy phần thực... phần tử - v: ma trận tạo từ x theo quy tắc: số hàng số cột phần tử x nằm đường chéo v - k: tham số định dạng cho v, số hàng cột v = n + abs(k) - Nếu k = đường chéo v phần tử x - Nếu k > phần tử