Các phép toán trên ma trận trong matlab năm 2024

Download Free PDF

Download Free PDF

Các phép toán trên ma trận trong matlab năm 2024

SỬ DỤNG MATLAB TRONG ĐẠI SỐ TUYẾN TÍNH

SỬ DỤNG MATLAB TRONG ĐẠI SỐ TUYẾN TÍNH

SỬ DỤNG MATLAB TRONG ĐẠI SỐ TUYẾN TÍNH

SỬ DỤNG MATLAB TRONG ĐẠI SỐ TUYẾN TÍNH

Các phép toán trên ma trận trong matlab năm 2024
Vui Nguyễn Văn

  • 1. Nguyễn Thị Thanh Hà Nhóm 4: Nhóm trưởng: Vũ Tiến Lâm Hà Nội, 2018
  • 2. cơ bản Khai báo vector và ma trận Hiển thị ma trận và các loại ma trận Các phép toán trên mảng và ma trận Trích ma trận Giải hệ phương trình tuyến tính Nội dung 1 2 3 4 6 5 2
  • 3. cơ bản • Các phần tử được xếp theo hàng và cột. • Đại lượng vô hướng là ma trận có một hàng và một cột. VD: [1], [x],… • Vector là ma trận chỉ có một hàng hoặc một cột. VD: [0 1 1], 0 0 1 • Để truy cập một phần tử của ma trận, sử dụng chỉ số hàng và cột. • Tên ma trận bắt đầu bằng chữ cái. • Bên phải dấu bằng là các giá trị ma trận được viết theo thứ tự hàng trong dấu ngoặc vuông. VD: A=[1 2 3; 4 5 6; 7 8 9] • Dấu chấm phẩy (;) phân cách hàng. Các giá trị trong hàng được phân cách bằng dấu phẩy (,) hoặc khoảng trắng. Dấu thập phân là dấu chấm (.). Kết thúc ma trận là dấu chấm phẩy (;). 3
  • 4. cơ bản Ví dụ: >> A=[1 2 3; 4 5 6; 7 8 9] % Ma trận 3 hàng 3 cột A = 1 2 3 4 5 6 7 8 9 >> B=[1 2 3 4] % Vector hàng B = 1 2 3 4 >> C=[1;2] % Vector cột C = 1 2 >> D=[1] % Giá trị đơn D = 1 >> A(2,3) % Phần tử ở hàng 2 cột 3 của ma trận A ans = 6 4
  • 5. cơ bản Khai báo vector và ma trận Hiển thị ma trận và các loại ma trận Các phép toán trên mảng và ma trận Trích ma trận Giải hệ phương trình tuyến tính Nội dung 1 2 3 4 6 5 5
  • 6. và ma trận Khai báo Ví dụ 1. Nhập giá trị cho vector và ma trận: [x1 x2...; x3 x4] >> [1 2 3 4] ans = 1 2 3 4 2. Toán tử (:): start:increment:destination >> 1:0.5:3 ans = 1.0 1.5 2.0 2.5 3.0 3. Khai báo tuyến tính cho vector: linspace(start,dest,number) >> linspace(1,10,3) ans = 1.0 5.5 10.0 4. Khai báo logarithm cho vector: logspace(start,dest,number) >> logspace(1,0,3) ans = 10.0000 3.1623 1.0000 5. Ma trận nhận giá trị ngẫu nhiên 0 → 1: rand(line,column) >> rand(3,3) ans = 0.8147 0.9134 0.2785 0.9058 0.6324 0.5469 0.1270 0.0975 0.9575 6. Ma trận nhận giá trị ngẫu nhiên: randn(line,column) >> randn(3,3) ans = 2.7694 0.7254 -0.2050 -1.3499 -0.0631 -0.1241 3.0349 0.7147 1.4897 6
  • 7. và ma trận 7. Định nghĩa ma trận từ ma trận khác Ví dụ: >> B=[1 2 4]; >> S=[3 B]; % S=[3 1 2 4] 8. Mở rộng ma trận Ví dụ: >> S(5)=9; >> S(8)=3; %S(6), S(7) nhận giá trị bằng 0 >> disp(S) %S lệnh disp dùng để hiển thị 3 1 2 4 9 0 0 3 9. Khai báo ma trận từ tệp có sẵn >> load C:matran.dat >> matran matran = 1 2 5 9 2 5 4 6 9 5 4 9 7
  • 8. trận 1. Sử dụng toán tử (:): Tại vị trí dấu (:) trong ma trận, nó đại diện cho tất cả các hàng hoặc tất cả các cột. Ví dụ: >> A=[1 2 3; 4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9 >> x=A(:,1) % Đưa dữ liệu ở cột 1 vào vector x x = 1 4 7 >> y=A(2,:) % Đưa dữ liệu ở hàng 2 vào vector y y = 4 5 6 8
  • 9. trận 2. Dấu (:) sử dụng làm ký hiệu tổng quát cho ma trận mới Ví dụ: >> S=1:10 S = 1 2 3 4 5 6 7 8 9 10 >> Q=0.0:0.5:2.5 Q = 0 0.5000 1.0000 1.5000 2.0000 2.5000 9
  • 10. trận 3. Dấu (:) dùng chọn các ma trận con từ ma trận khác >> C=[-1 0 0; 1 -1 0; 1 -1 2; 0 2 -1] C = -1 0 0 1 -1 0 1 -1 2 0 2 -1 >> A=C(:,2:3) % Ma trận cột 2 và 3 A = 0 0 -1 0 -1 2 2 -1 >> B=C(3:4,1:2) % Ma trận con hàng 3,4 và cột 1,2 B = 1 -1 0 2 10
  • 11. cơ bản Khai báo vector và ma trận Hiển thị ma trận và các loại ma trận Các phép toán trên mảng và ma trận Trích ma trận Giải hệ phương trình tuyến tính Nội dung 1 2 3 4 6 5 11
  • 12. trận 1. Hiển thị ma trận: Kết quả tính toán có thể được định dạng bằng lệnh format. long số chấm cố định là 15 con số, long e số dấu chấm động là 15 con số, short số chấm cố định là 5 con số (mặc định), short e số dấu chấm động là 5 con số. Ví dụ: >> pi ans = 3.1416 >> format long >> pi ans = 3.141592653589793 12
  • 13. trận 1. Hiển thị ma trận disp xuất chuỗi ký tự ra màn hình, fprintf cho phép xuất ra theo định dạng. Với cú pháp: >> fprintf(định dạng, ma trận); Kiểu loại Định dạng in ra Ký tự Ý nghĩa %c Kiểu ký tự n Xuống dòng %s Kiểu chuỗi t Tab %d Kiểu số nguyên thập phân b Backspace %f Kiểu số dấu chấm tĩnh r Carriage return %e Kiểu số dấu chấm động f From feed %x Kiểu số Hex %% % %bx Kiểu chấm tĩnh trong Hex 64 bits “or ” ‘ 13
  • 14. trận Ví dụ >> disp('Hello world') Hello world >> disp(pi) 3.141592653589793 >> temp=25; >> fprintf('Nhiệt độ là: n %6.1f độ C',temp); Nhiệt độ là: 25.0 độ C 14
  • 15. trận 1. Ma trận ma phương: magic(n) • Ma phương bậc n là ma trận vuông cấp n, • Bao gồm các số nguyên từ 1 đến n2, • Các phần tử sắp xếp sao cho tổng các phần tử trên một hàng, một cột, đường chéo là bằng nhau. Ví dụ: >> magic(4) ans = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 15
  • 16. trận 2. Ma trận zero: zeros(n,m) là ma trận gồm n hàng và m cột trong đó các phần tử trên ma trận đều bằng 0 Ví dụ: >> zeros(2,3) ans = 0 0 0 0 0 0 3. Ma trận ones: ones(n,m) là ma trận gồm n hàng và m cột trong đó các phần tử trên ma trận đều bằng 1 Ví dụ: >> ones(3,4) ans = 1 1 1 1 1 1 1 1 1 1 1 1 16
  • 17. trận 4. Ma trận đường chéo: eye(n) là ma trận vuông cấp n trong đó các phần tử trên đường chéo chính ma trận bằng 1, các phần tử còn lại bằng 0. Ví dụ: >> eye(5) ans = 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 5. Ma trận Pascal: Ma trận chứa các giá trị của tam giác pascal. Ví dụ: >> pascal(4) ans = 1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 17
  • 18. cơ bản Khai báo vector và ma trận Hiển thị ma trận và các loại ma trận Các phép toán trên mảng và ma trận Trích ma trận Giải hệ phương trình tuyến tính Nội dung 1 2 3 4 6 5 18
  • 19. trên mảng Nếu ta có 2 mảng A & B có cùng số phần tử: Ký hiệu Ý nghĩa Biểu thức A+B Cộng từng phần tử mảng [A1+B1 A2+B2 … An+Bn] A-B Trừ từng phần tử mảng [A1-B1 A2-B2 … An-Bn] A.*B Nhân từng phần tử mảng [A1*B1 A2*B2 … An*Bn] A./B Chia từng phần tử A cho B [A1/B1 A2/B2 … An/Bn] A.B Chia từng phần tử B cho A [B1/A1 B2/A2 … Bn/An] A.^B Lũy thừa từng phần tử [A1^B1 A2^B2 … An^Bn] 19
  • 20. trên mảng Ví dụ >> A=[9 10 18]; B=[2 4 6]; >> A+B ans = 11 14 24 >> A-B ans = 7 6 12 >> A.*B ans = 18 40 108 >> A./B ans = 4.500000000000000 2.500000000000000 3.000000000000000 >> A.B ans = 0.222222222222222 0.400000000000000 0.333333333333333 >> A.^B ans = 81 10000 34012224 20
  • 21. ma trận Hàm Ý nghĩa matrix.’ Chuyển vị ma trận matrix’ Chuyển vị ma trận có phần tử liên hợp inv(matrix) Đảo ma trận det(matrix) Tính định thức ma trận eig(matrix) Tính các giá trị riêng của ma trận rank(matrix) Xác định hạng của ma trận 21 Các lệnh cơ bản
  • 22. ma trận 1. Ma trận chuyển vị • Ma trận huyển vị của ma trận A ký hiệu là AT. • Các phần tử hàng của A trở thành phần tử cột của AT. Ví dụ: >> A=[1 2 3; 4 5 6] A = 1 2 3 4 5 6 >> A' ans = 1 4 2 5 3 6 2. Ma trận đảo • Ma trận A phải là ma trận vuông Ví dụ: >> A=[1 0 1; 1 1 0; 0 0 1] A = 1 0 1 1 1 0 0 0 1 >> inv(A) ans = 1 0 -1 -1 1 1 0 0 1 22
  • 23. ma trận 3. Tính định thức ma trận Ví dụ: >> A=[1 2 3; 1 2 1; 1 4 4] A = 1 2 3 1 2 1 1 4 4 >> det(A) ans = 4 4. Trị riêng của ma trận Ví dụ: >> A=[1 2 3; 2 3 4; 4 5 6] A = 1 2 3 2 3 4 4 5 6 >> eig(A) ans = 10.830951894845306 -0.830951894845301 -0.000000000000000 23
  • 24. ma trận 5. Hạng của ma trận Ví dụ: >> A=[0 1 2; 1 2 3; 5 6 7; 4 2 4] A = 0 1 2 1 2 3 5 6 7 4 2 4 >> rank(A) ans = 3 6. Nhân ma trận • C=A.*B nhân vô hướng • C=A*B nhân ma trận với: Cij =  AikBkj • Số cột của ma trận A phải bằng số cột của ma trận B Ví dụ: >> A=[1 3 5; 2 4 6]; B=[3 5 7; 4 6 8]; >> C=A.*B C = 3 15 35 8 24 48 >> B=B'; >> C=A*B C = 53 62 68 80 24
  • 25. ma trận 7. Phép quay • Lệnh: rot90(matrix) hay rot90(matrix,num); • Các phần tử của A được quay 900 theo ngược chiều kim đồng hồ. • Dùng tham số num để xác định số lần quay. Ví dụ: >> A=[1 2 3; 5 6 7; 4 5 8] A = 1 2 3 5 6 7 4 5 8 >> B=rot90(A) B = 3 7 8 2 6 5 1 5 4 8. Phép đảo ma trận • fliplr(A) đảo các phần tử A từ trái sang phải. • flipud(A) đảo các phần tử A từ trên xuống dưới. Ví dụ: >> A=[1 1 2; 1 2 3; 7 8 9] A = 1 1 2 1 2 3 7 8 9 >> B=fliplr(A) B = 2 1 1 3 2 1 9 8 7 >> C=flipud(B) C = 9 8 7 3 2 1 2 1 1 25
  • 26. cơ bản Khai báo vector và ma trận Hiển thị ma trận và các loại ma trận Các phép toán trên mảng và ma trận Trích ma trận Giải hệ phương trình tuyến tính Nội dung 1 2 3 4 6 5 26
  • 27. Ý nghĩa Ví dụ diag(A) Lấy đường chéo chính lưu vào một vector cột >> A=[1 2 3; 4 5 6] A = 1 2 3 4 5 6 >> diag(A) ans = 1 5 diag(A,k) Chọn đường chéo dựa vào k: k = 0: đường chéo chính k > 0: đường chéo thứ k trên đường chéo chính k < 0: đường chéo thứ k dưới đường chéo chính >> A=[1 2 3; 4 5 6] A = 1 2 3 4 5 6 >> diag(A,1) ans = 2 6 A=diag(V) Nếu V là vector thì A là ma trận vuông có V là đường chéo chính. Các phần tử khác bằng 0 >> V=[1 2 3] >> A=diag(V) A = 1 0 0 0 2 0 0 0 3 27
  • 28. Ý nghĩa Ví dụ B=triu(A) Sinh ra ma trận B cùng cỡ, chứa các phần tử A nằm ở đường chéo chính và trên đường chéo chính. Vị trí khác bằng 0. >> A=[1 2 3; 4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9 >> B=triu(A) B = 1 2 3 0 5 6 0 0 9 triu(A,k) Phần tử A nằm trên và phía trên đường chéo thứ k. Các vị trí khác bằng 0. >> A=[1 2 3; 4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9 >> triu(A,1) ans = 0 2 3 0 0 6 0 0 0 28
  • 29. Ý nghĩa Ví dụ B=tril(A) Sinh ra ma trận cùng cỡ, chứa các phần tử A nằm ở đường chéo chính và dưới đường chéo chính. Vị trí khác bằng 0. >> A=[1 2 3; 4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9 >> B=tril(A) B = 1 0 0 4 5 0 7 8 9 tril(A,k) Phần tử A nằm ngay trên và phía dưới đường chéo thứ k. Các vị trí khác bằng 0. >> A=[1 2 3; 4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9 >> tril(A,-1) ans = 0 0 0 4 0 0 7 8 0 29
  • 30. cơ bản Khai báo vector và ma trận Hiển thị ma trận và các loại ma trận Các phép toán trên mảng và ma trận Trích ma trận Giải phương trình và hệ phương trình Nội dung 1 2 3 4 6 5 30
  • 31. (bậc n) Giải phương trình bậc 2: >> A=[2 -5 3] %Nhập các hệ số của phương trình A = 2 -5 3 >> n1=roots(A) %Lệnh roots để tìm nghiệm n1 = 1.5000 1.0000 Giải phương trình bậc 3: >> B=[4 -3 2 1] B = 4 -3 2 1 >> n2=roots(B) n2 = 0.5272 + 0.7369i 0.5272 - 0.7369i -0.3045 + 0.0000i 31 2 2 5 3 0x x− + = 3 2 4 3 2 1 0x x x− + + =
  • 32. trình tuyến tính Xét hệ phương trình: Giải: Tính các định thức Nghiệm của hệ phương trình là: 1 2 3 1 2 3 1 2 3 2 2 2 4 1 3 4 0 x x x x x x x x x + − =  − + = −  − − = 1 2 3 1 1 2 2 1 2 2 4 1 8 ; 1 4 1 28 3 1 4 0 1 4 1 2 2 1 1 2 2 1 1 16 ; 2 4 1 20 3 0 4 3 1 0 D D D D − − = − = = − − = − − − − − = − = − = − − = − − 31 2 1 2 33,5 ; 2 ; 2,5 DD D x x x D D D = = = = = = 32
  • 33. trình tuyến tính Cách 1. >> A=[1 -2 1; 2 1 -4; 3 -4 -1] A = 1 -2 1 2 1 -4 3 -4 -1 >> B=[2;-1;0] B = 2 -1 0 >> x=inv(A)*B x = 3.5000 2.0000 2.5000 Cách 2. >> A=[1 -2 1; 2 1 -4; 3 -4 -1] A = 1 -2 1 2 1 -4 3 -4 -1 >> B=[2; -1; 0] B = 2 -1 0 >> x=AB x = 3.5000 2.0000 2.5000 33 Hệ này được biểu diễn dưới dạng ma trân: Ax=B.
  • 34.