Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 ch−¬ng Ma trËn - c¸c phÐp to¸n vỊ ma trËn 4.1 Kh¸i niệm: - Trong MATLAB liệu để đa vo xử lý d−íi d¹ng ma trËn - Ma trËn A cã n hng, m cột đợc gọi l ma trận cỡ n ì m Đợc ký hiệu An ì m - Phần tử aij ma trận An ì 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 hμng cét - Ma trËn hμng ( ì m ) số liệu đợc bố trí trªn mét hμng a11 a12 a13 a1m - Ma trận cột ( n ì 1) số liệu đợc bố trÝ trªn cét a11 a21 a31 an1 4.1.1 Các qui định để định nghĩa ma trận: - Tªn ma trËn cã thĨ gåm 31 ký tù Bắt đầu phải chữ sau l số, chữ cái, ký tự đặc biệt Tên đặt bên trái dấu , bên phải dấu l phần tử ma trận - Bao quanh phần tử ma trận dấu ngoặc vuông - Các phần tử ma trận đợc cách bëi ký tù trèng hc dÊu phÈy ( , ) - KÕt thóc mét hμng ma trËn bëi dấu ( ; ) 4.1.2 Các cách để nhập ma trËn: - LiƯt kª trùc tiÕp:VD >> A =[1 3; ; 9] >> B =[1 3; 456; 9] Trang Tungvn40@yahoo.com - CM Soft 70 NCT F2 Q10 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 4;4 7;7 8] ans = 4 7 Chó ý kÕt thóc mét c©u lƯnh cã thể dùng dấu (; ) không dùng dấu ( ;) - Nếu dùng dấu (;) câu lệnh đợc thực nhng kết không mn hình - Nếu không dùng dấu ( ; ) câu lệnh đợc thực v kết đợc mn hình - Trong trờng hợp sau câu lệnh đợc thực kết đợc lu vo bé nhí vμ cã thĨ sư dơng cho c¸c c©u lƯnh tiÕp theo Vd >>a = [1 3;3 4;4 1]; >> b = [1 3;4 6;7 9] b= C¶ ma trËn A, B ®Ịu ®−ỵc l−u vμo bé nhí vμ cã thĨ đợc sử dụng cho câu lệnh >> c = a*b c= 30 36 42 39 48 57 31 41 51 Trang 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 ma trận 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 ny') hiển thị lời thông báo ny Chú ý: - Các phần tử 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ư ma trËn cã thĨ lμ c¸c ký tù Nhng trớc tiên ta phải khai báo phần tử b»ng lÖnh syms VD >> syms sinx cosx a >> b = [ sinx cosx; a cosx] b= [ sinx, cosx] [ a, cosx] Trang Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 >> c=[a sinx; a a] c= [ a, sinx] [ a, a] 4.2 Xö lý 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 số thực Bớc chạy dơng âm VD Tạo vectơ t chạy từ ®Õn 0.6 víi b−íc ch¹y tiÕn lμ 0.1 >> t=0: 0.1:0.6 t= 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 VD: Tạo vectơ t chạy từ 0.6 đến 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 Chó ý : Trong tr−êng hỵp giới hạn trên, gới hạn dới l số nguyên v bớc chạy ta không cần đa b−íc ch¹y vμo biĨu thøc VD >> C = 1:5 C= 4.2.2 Gäi c¸c phÇn tư ma trËn MATLAB cho phÐp ta xư lý đến phần tử ma trận Để truy cập đến phần tử ma trận ta phải gọi đợc chúng thông qua số 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= Trang Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 >> B = A(1,1) B= >> A(3,3) = A(2,2) + B A= Chó ý: Trong trờng hợp ta muốn gọi tất hng tất cột ta dùng to¸n tư hai chÊm ( : ) VD: >> A = [1:3; 4:6; 7:9] A= >> B = A(2,:) B= >>C = A(:,2) C= 4.2.3 Gäi ma trËn tõ mét ma trËn lín VD >> A = [1:3; 4:6; 7:9] A= >> B = A ( 2:3,1:2 ) Trang Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 B= >> c =[a(1,1) a(3,3); a(2,3) a(3,1)] c= 4.3 C¸c ma trận đặc biệt: 4.3.1 Ma trận zeros Tất phần tử ma trận VD >> C = zeros (2,3) C= 0 0 0 0 0 0 0 >> d = zeros(3) d= 4.3.2 Ma trËn ones Tất phần tử ma trận VD >> C = ones (2,3) C= 1 1 1 1 1 1 1 >> d = ones(3) d= 4.3.3 Ma trận ma phơng Magic: Tổng tất giá trị phần tử hng = Tổng tất giá trị phần tử cột = Tổng tất giá trị phần tử đờng chéo ma trận Trang Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Vd >> A = Magic (3) A= 4.3.4 Ma trËn eye TÊt phần tử đờng chéo có giá trị 1, phần tử khác có giá trị VD >> B = eye (3) B= 0 0 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 AB A.^B 4.4.1 Các phần tử l số thực: >>a=[1 2;2 1] a= 1 2 1 >> b=[1 2; 1 1] b= 2 Trang Tungvn40@yahoo.com 1 1 1 CM Soft 70 NCT F2 Q10 >> c=a.*b c= >> d=a./b d= 1.0000 0.5000 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 0.5000 1.0000 1.0000 >> e=a.\b e= >> f=a.^b f= 1 1 4.4.2 Các phần tử l 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 Trang Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 4.4.3 Các phần tử l tham sè: >> syms a b c >>A=[a b; b c] 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ơ hng thnh véctơ cột gọi l phép chuyển vị Thực phép chuyển vị toán tử dấu nháy đơn ( ‘ ) VD >> A = [1:3; 4:6; 7:9] A= 9 ’ >> B = A B= Ma trận B đợc gọi lμ ma trËn chun vÞ cđa ma trËn A Trang Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 4.5.2 PhÐp céng - trõ ma trËn.( + , - ) PhÐp cộng v trừ ma trận đợc thực với ma trËn cã cïng kÝch cì Cij = Aij + Bij Dij = AÞj - Bij >> A = [1:3; 4:6; 7:9] A= 9 10 10 14 10 14 18 >> B = A’ B= >> C = A + B C= 4.5.3 PhÐp nh©n, chia ma trËn: C = A*B Để thực đợc phép nhân số cét cđa ma trËn A ph¶i b»ng sè hμng cđa ma trËn B n C ij = ∑ A ik B kj k =1 Các phần tử ma trận C đợc tính nh sau: VD phần tử ma trËn lμ c¸c sè thùc >> A = [1 1; 1] A= Trang 10 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 >> B = [1 2; 1; 1 1] B= 2 1 1 >> C = A * B C= VD phần tử 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 phần tử ma trận c¸c tham sè >> syms a b c >>d=[2*a b c; a b c; 0 a] d= [ 2*a, b, c] [ a, b, c] [ 0, 0, a] Trang 11 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 >> e=[a b c; 2*a 2*b^2 c ; a b] e= [ a, b, c] [ 2*a, 2*b^2, [ a, 0, c] 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 A = A* B B Lấy ma trận nghịch đảo thực hm inv C= >> A = [1 1; 1] A= 1 >> B = [1 2; 1; 1 1] B= 2 1 1 >> C = inv(B) C= 1.0000 -1.000 -0.5000 -0.5000 1.5000 0.500 -0.5000 0.5000 >> D = A*C D= - 0.5000 -0.5000 2.5000 0.5000 0.5000 -0.5000 Trang 12 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Chú ý: Trong phép tính nếu thực với số thực tất phần tử ma trận đợc cộng, trừ, nhân, chia ( / ) với số thực tuỳ thuộc vo phép toán tơng ứng >> A = [1 1; 1] A= 1 2 >> B = A*2 B= 4.5.4 PhÐp quay ma trËn: Quay ma trận B góc 90 độ theo ngợc chiều kim ®ång hå >> a=[1 3;4 6;7 9] a= 9 >> b=rot90(a) b= 4.5.5.Phép đảo ma trận: Đảo phần tử ma trận từ trái sang phải >> c=fliplr(b) c= Trang 13 ... nh©n, chia ma trËn: C = A*B Để thực đợc phép nhân số cét cđa ma trËn A ph¶i b»ng sè hμng cđa ma trËn B n C ij = ∑ A ik B kj k =1 Các phần tử ma trận C đợc tính nh sau: VD phần tử ma trËn lμ c¸c... 4.3 C¸c ma trận đặc biệt: 4.3.1 Ma trận zeros Tất phần tử ma trận VD >> C = zeros (2,3) C= 0 0 0 0 0 0 0 >> d = zeros(3) d= 4.3.2 Ma trËn ones Tất phần tử ma trận VD >> C = ones (2,3) C= 1 1... 4.3.3 Ma trận ma phơng Magic: Tổng tất giá trị phần tử hng = Tổng tất giá trị phần tử cột = Tổng tất giá trị phần tử đờng chéo ma trận Trang Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Vd >> A = Magic