ma tran va` ma phuong

13 489 0
ma tran va` ma phuong

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 chơng 4 Ma trận - các phép toán về ma trận. 4.1 Khái niệm: - Trong MATLAB dữ liệu để đa vào xử lý dới dạng ma trận. - Ma trận A có n hàng, m cột đợc gọi là ma trận cỡ n ì m. Đợc ký hiệu A n ì m - Phần tử a ij của ma trận A n ì m là phần tử nằm ở hàng thứ i, cột j . - Ma trận đơn ( số đơn lẻ ) là ma trận 1 hàng 1 cột. - Ma trận hàng ( 1 ì m ) số liệu đợc bố trí trên một hàng. a 11 a 12 a 13 . a 1m - Ma trận cột ( n ì 1) số liệu đợc bố trí trên 1 cột. a 11 a 21 a 31 . . a n1 4.1.1 Các qui định để định nghĩa một ma trận: - Tên ma trận có thể gồm 31 ký tự. Bắt đầu phải bằng chữ cái sau đó có thể là số, chữ cái, các ký tự đặc biệt . Tên đặt bên trái dấu bằng , bên phải dấu bằng là các phần tử của ma trận. - Bao quanh các phần tử của ma trận bằng dấu ngoặc vuông. - Các phần tử trong ma trận đợc cách nhau bởi ký tự trống hoặc dấu phẩy ( , ). - Kết thúc một hàng trong ma trận bởi dấu ( ; ). 4.1.2 Các cách để nhập một ma trận: - Liệt kê trực tiếp:VD >> A =[1 2 3; 4 5 6 ; 7 8 9] >> B =[1 2 3; 4 5 6 ; Trang 1 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 7 8 9] - Nhập thông qua lệnh. Dùng lệnh input >> input('Nhap gia tri cho ma tran C = ') Nhap gia tri cho ma tran C = [1 3 4;4 5 7;7 5 8] ans = 1 3 4 4 5 7 7 5 8 Chú ý khi kết thúc một câu lệnh có thể dùng dấu (; ) hoặc không dùng dấu ( ;). - Nếu dùng dấu (;) câu lệnh đợc thực hiện nhng kết quả không hiện ra màn hình. - Nếu không dùng dấu ( ; ) câu lệnh đợc thực hiện và kết quả đợc hiện ra màn hình. - Trong cả 2 trờng hợp trên sau khi câu lệnh đợc thực hiện kết quả đều đợc lu vào trong bộ nhớ và có thể sử dụng cho các câu lệnh tiếp theo. Vd >>a = [1 2 3;3 2 4;4 5 1]; >> b = [1 2 3;4 5 6;7 8 9] b = 1 2 3 4 5 6 7 8 9 Cả 2 ma trận A, B đều đợc lu vào trong bộ nhớ và có thể đợc sử dụng cho những câu lệnh tiếp theo. >> c = a*b c = 30 36 42 39 48 57 31 41 51 Trang 2 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 4.1.3 Hiển thị lại ma trận: - Để hiển thị lại ma trận ta gõ tên ma trận sau đó enter. VD >> c c = 30 36 42 39 48 57 31 41 51 - Để hiển thị nội dung của ma trận hoặc lời thông báo (trong dấu nháy đơn) ta dùng lệnh: disp VD >> disp (c) c = 30 36 42 39 48 57 31 41 51 >> disp('hiển thị lời thông báo này') hiển thị lời thông báo này Chú ý: - Các phần tử trong ma trận có thể là các số phức: VD >> a=[1+3i 2+2i;3+i 1+i] a = 1.0000 + 3.0000i 2.0000 + 2.0000i 3.0000 + 1.0000i 1.0000 + 1.0000i - Các phần tử trong ma trận có thể là các ký tự. Nhng trớc tiên ta phải khai báo các phần tử bằng lệnh syms VD >> syms sinx cosx a >> b = [ sinx cosx; a cosx] b = [ sinx, cosx] [ a, cosx] Trang 3 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 >> c=[a sinx; a a] c = [ a, sinx] [ a, a] 4.2. Xử lý trong ma trận: 4.2.1 Tạo véctơ từ ma trận: Công thức tổng quát: Biến = giới hạn đầu : bớc chạy : gới hạn cuối Giới hạn đầu, giới hạn cuối, bớc chạy: là các số thực Bớc chạy có thể dơng hoặc âm. VD Tạo 1 vectơ t chạy từ 0 đến 0.6 với bớc chạy tiến là 0.1 >> t=0: 0.1:0.6 t = 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 VD: Tạo 1 vectơ t chạy từ 0.6 đến 0 với bớc chạy lùi là 0.1 >>t=0.6:-0.1:0 t = 0.6000 0.5000 0.4000 0.3000 0.2000 0.1000 0 Chú ý : Trong trờng hợp giới hạn trên, gới hạn dới là các số nguyên và bớc chạy bằng 1 thì ta không cần đa bớc chạy vào trong biểu thức. VD >> C = 1:5 C = 1 2 3 4 5 4.2.2 Gọi các phần tử trong ma trận. MATLAB cho phép ta xử lý đến từng phần tử của ma trận. Để truy cập đến từng phần tử của ma trận ta phải gọi đợc chúng thông qua chỉ số của từng phần tử. Tên của ma trận( Chỉ số hàng, chỉ số cột) VD: >> A = [1:3; 4:6; 7:9] A = 1 2 3 4 5 6 7 8 9 Trang 4 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 >> B = A(1,1) B = 1 >> A(3,3) = A(2,2) + B A = 1 2 3 4 5 6 7 8 6 Chú ý: Trong trờng hợp ta muốn gọi tất cả các hàng hoặc tất cả các cột ta có thể dùng toán tử hai chấm ( : ) VD: >> A = [1:3; 4:6; 7:9] A = 1 2 3 4 5 6 7 8 9 >> B = A(2,:) B = 4 5 6 >>C = A(:,2) C = 2 5 8 4.2.3 Gọi 1 ma trận con từ một ma trận lớn. VD >> A = [1:3; 4:6; 7:9] A = 1 2 3 4 5 6 7 8 9 >> B = A ( 2:3,1:2 ) Trang 5 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 B = 5 7 8 >> c =[a(1,1) a(3,3); a(2,3) a(3,1)] c = 1 9 6 7 4.3 Các ma trận đặc biệt: 4.3.1 Ma trận zeros. Tất cả các phần tử trong ma trận đều bằng 0. VD >> C = zeros (2,3) C = 0 0 0 0 0 0 >> d = zeros(3) d = 0 0 0 0 0 0 0 0 0 4.3.2 Ma trận ones. Tất cả các phần tử trong ma trận đều bằng 1 VD >> C = ones (2,3) C = 1 1 1 1 1 1 >> d = ones(3) d = 1 1 1 1 1 1 1 1 1 4.3.3 Ma trận ma phơng Magic: Tổng tất cả giá trị các phần tử trên hàng = Tổng tất cả giá trị các phần tử trên cột = Tổng tất cả giá trị các phần tử trên đờng chéo của ma trận Trang 6 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Vd >> A = Magic (3) A= 8 1 6 3 5 7 4 9 2 4.3.4 Ma trận eye. Tất cả các phần tử trên đờng chéo có giá trị 1, các phần tử khác có giá trị 0. VD >> B = eye (3) B = 1 0 0 0 1 0 0 0 1 4.4 Các phép toán vector: Phép toán Công thức Matlab Cộng, trừ A+B, A-B A+B, A-B Nhân mảng A.B = C A.*B Chia trái mảng B\A B.\A Chia phải mảng A/B A./B Luỹ thừa mảng A B A.^B 4.4.1 Các phần tử là các số thực: >>a=[1 1 2;2 1 1] a = 1 1 2 2 1 1 >> b=[1 2 2; 1 1 1] b = 1 2 2 1 1 1 >> c=a.*b Trang 7 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 c = 1 2 4 2 1 1 >> d=a./b d = 1.0000 0.5000 1.0000 2.0000 1.0000 1.0000 >> e=a.\b e = 1.0000 2.0000 1.0000 0.5000 1.0000 1.0000 >> f=a.^b f = 1 1 4 2 1 1 4.4.2 C¸c phÇn tö lµ c¸c sè phøc. >>a=[1+i 2+3i;3-4i 1+3i] a = 1.0000 + 1.0000i 2.0000 + 3.0000i 3.0000 - 4.0000i 1.0000 + 3.0000i >> b=[2+i 2+2i;1-4i 3+3i] b = 2.0000 + 1.0000i 2.0000 + 2.0000i 1.0000 - 4.0000i 3.0000 + 3.0000i >> c=a.*b c = 1.0000 + 3.0000i -2.0000 +10.0000i -13.0000 -16.0000i -6.0000 +12.0000i 4.4.3 C¸c phÇn tö lµ c¸c tham sè: >> syms a b c >>A=[a b; b c] Trang 8 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 A = [ a, b] [ b, c] >> B=A B = [ a, b] [ b, c] >> C=A.*B C = [ a^2, b^2] [ b^2, c^2] 4.5 Các phép toán về ma trận: 4.5.1 Phép chuyển vị: Phép chuyển đổi véctơ hàng thành véctơ cột gọi là phép chuyển vị. Thực hiện phép chuyển vị bằng toán tử dấu nháy đơn ( ). VD >> A = [1:3; 4:6; 7:9] A = 1 2 3 4 5 6 7 8 9 >> B = A B = 1 4 7 2 5 8 3 6 9 Ma trận B đợc gọi là ma trận chuyển vị của ma trận A 4.5.2 Phép cộng - trừ ma trận.( + , - ) Phép cộng và trừ ma trận đợc thực hiện với các ma trận có cùng kích cỡ. C ij = A ij + B ij Trang 9 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 D ij = A ịj - B ij >> A = [1:3; 4:6; 7:9] A = 1 2 3 4 5 6 7 8 9 >> B = A B = 1 4 7 2 5 8 3 6 9 >> C = A + B C = 2 6 10 6 10 14 10 14 18 4.5.3 Phép nhân, chia ma trận: C = A*B. Để thực hiện đợc phép nhân trên thì số cột của ma trận A phải bằng số hàng của ma trận B. Các phần tử trong ma trận C đợc tính nh sau: VD các phần tử trong ma trận là các số thực. >> A = [1 2 1; 1 0 1] A = 1 2 1 1 0 1 >> B = [1 0 2; 2 1 1; 1 1 1] B = 1 0 2 Trang 10 = = n 1k kjikij .BAC [...]... tử trong ma trận sẽ đợc cộng, trừ, nhân, chia ( / ) với số thực đó tuỳ thuộc vào phép toán tơng ứng >> A = [1 2 1; 1 0 1] Trang 12 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 A= 1 2 1 1 0 1 2 4 2 2 0 2 >> B = A*2 B= 4.5.4 Phép quay ma trận: Quay ma trận B đi 1 góc 90 độ theo ngợc chiều kim đồng hồ >> a=[1 2 3;4 5 6;7 8 9] a= 1 2 3 4 5 6 7 8 9 3 6 9 2 5 8 1 4 7 >> b=rot90(a) b= 4.5.5.Phép đảo ma trận:... 0, 0, a] >> e=[a b c; 2*a 2*b^2 c ; a 0 b] e= [ a, b, [ 2*a, 2*b^2, c] c] Trang 11 Tungvn40@yahoo.com [ a, 0, CM Soft 70 NCT F2 Q10 b] >> f=d*e f= [ 2*a^2+2*b*a+c*a, 2*b*a+2*b^3, [ a^2+2*b*a+c*a, b*a+2*b^3, [ a^2, 0, 2*c*a+2*c*b] c*a+2*c*b] b*a] Phép chia ma trận thực chất là phép nhân với ma trận nghịch đảo C= A 1 = A* B B Lấy ma trận nghịch đảo thực hiện bằng hàm inv >> A = [1 2 1; 1 0 1] A= 1 2 1... 1 3 >> C = A * B C= VD các phần tử trong ma trận là các số phức >> a=[1+2i 2+2i;1+3i 2+2i] a= 1.0000 + 2.0000i 2.0000 + 2.0000i 1.0000 + 3.0000i 2.0000 + 2.0000i >> b=[1+i 2+i;1+3i 2+i] b= 1.0000 + 1.0000i 2.0000 + 1.0000i 1.0000 + 3.0000i 2.0000 + 1.0000i >> c=a*b c= -5.0000 +11.0000i 2.0000 +11.0000i -6.0000 +12.0000i 1.0000 +13.0000i VD các phần tử trong ma trận là các tham số >> syms a b c >>d=[2*a... B đi 1 góc 90 độ theo ngợc chiều kim đồng hồ >> a=[1 2 3;4 5 6;7 8 9] a= 1 2 3 4 5 6 7 8 9 3 6 9 2 5 8 1 4 7 >> b=rot90(a) b= 4.5.5.Phép đảo ma trận: Đảo các phần tử của ma trận từ trái sang phải >> c=fliplr(b) c= 9 6 3 8 5 2 7 4 1 Trang 13 . 4 Ma trận - các phép toán về ma trận. 4.1 Khái niệm: - Trong MATLAB dữ liệu để đa vào xử lý dới dạng ma trận. - Ma trận A có n hàng, m cột đợc gọi là ma. 3 6 9 Ma trận B đợc gọi là ma trận chuyển vị của ma trận A 4.5.2 Phép cộng - trừ ma trận.( + , - ) Phép cộng và trừ ma trận đợc thực hiện với các ma trận

Ngày đăng: 15/06/2013, 01:25

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan