[Bölüm 10] MATLAB’ta Matris Cebiri

Merhaba arkadaşlar, bu yazımda sizlere MATLAB üzerindeki matris cebirlerinden ve kullanımlarından bahsedeceğim.

  • dot(A,B) komutu ile A ve B matrislerinin nokta çarpımından (skaler çarpım) oluşan matrisin elemanları toplamı elde edilir.
A = [1 2 3];
B = [4 5 6];
y = A.*B

Y =
   4   10   18

sum(y)
ans =
    32
---------------

veya

---------------
sum(A.*B)
ans =
    32

 

A = [1 2 3];
B = [4 5 6];
dot(A,B)
ans =
    32
  • * komutu ile matrisler üzerinde matematiksel olarak matris çarpımı yapılır.

NOT: A * B ≠ B * A

A = [1 2 3 ;
     4 5 6];

B = [10 20 30;
     40 50 60;
     70 80 90];

C = A*B
C =
   300  360  420
   660  810  960

dot(A(2,:), B(:,2))
ans =
    810

 

A = [1 2 3
     4 5 6
     7 8 9];

B = [2 3 4
     5 6 7
     8 9 10];

A*B =
ans =
    36   42   48
    81   96   111
    126  150  174

B * A =
ans =
    42   51   60
    78   96   114
    114  141  168
  • inv komutu matrisin tersini alır.(invers)
A = magic(3)
A =
   8  1  6
   3  5  7
   4  9  2

A^-1
ans =
     0.1472   -0.1444    0.0639
    -0.0611    0.0222    0.1056
    -0.0194    0.1889   -0.1028

inv(A)
ans =
     0.1472   -0.1444    0.0639
    -0.0611    0.0222    0.1056
    -0.0194    0.1889   -0.1028
  • det(A) komutu A matrisinin determinantını hesaplar.
A = [1 2 ; 3 4] ;
det(A)
ans =
    -2
  • cross komutu vektörel çarpım işlemini gerçekleştirir.

A = [1 2 3];
B = [4 5 6];
cross(A,B)
ans =
    -3   6  -3

A = [1 2 3];
B =[3 4 0];
cross(A,B)
ans =
     0   0  -2
  • MATLAB ile doğrusal denklem sistemlerinin çözümlerini elde edebilirsiniz.

AX = B = (A^-1)AX = (A^-1)B ) => X = (A^-1)B ( (A^-1)A = 1 )

A = [3 2 -1 ; -1 3 2 ; 1 -1 -1];
B = [10 ; 5 ; -1];
X = inv(A)*B
X =
   -2.0000
    5.0000
   -6.0000

X = A^-1*B
X =
   -2.0000
    5.0000
   -6.0000
  • MATLAB, Gaussian Teoremine göre matrislerin çözümünü hesaplayabilir.
3x + 2y +5z = 22
4x + 5y -2z = 8
x + y +z = 6

A = [3 2 5
     4 5 -2
     1 1 1]

B = [22; 8; 6]
X = A \ B
X =
   1
   2
   3
  • MATLAB, doğrusal denklem sistemlerini çözerken rref(C) komutu ile matrisleri satırca indirgenmiş eşolon forma getirerek sonuca ulaşabilir.

C = [A,B]
C =
   3  2  -1  10
  -1  3   2   5
   1 -1  -1  -1

rref(C)
ans =
   1  0   0  -2
   0  1   0   5
   0  0   1  -6
  • ones komutu ile özel matris oluşturulurken 3 girdi girilirse MATLAB 3.girdiyi sayfa sayısı olarak algılar ve o sayıda matris oluşturur.
ones(2,3,2)
ans(: , : , 1) =
                1  1  1
                1  1  1
ans(: , : , 2) =
                1  1  1
                1  1  1

  • eye(n) komutu n x n boyutunda birim matris, eye(m,n) komutu ise m x n boyutunda birim matris oluşturur.
A = eye(3)
A =
   1  0  0
   0  1  0
   0  0  1

B = eye(3,2)
B =
   1  0
   0  1
   0  0

C = [1, 2, 3 ; 4, 2, 5]
C =
   1  2  3
   4  2  5

D = eye(size(C))
D =
  1  0  0
  0  1  0
  • pascal(n) komutu n x n boyutunda Pascal üçgeni ile yazılmış bir matris, pascal(m,n) komutu ise m x n boyutunda Pascal üçgeni ile yazılmış bir matris oluşturur.
pascal(4)
ans =
     1   1   1   1
     1   2   3   4
     1   3   6   10
     1   4   10  20
  • rosser komutu hiçbir girdi değeri yazılmadan 8 x 8 boyutunda bir özdeğer test matrisi verir.
  • gallery komutunu kullanabilmek için help gallery komutunu yazıp çıkan verileri bize uygun olacak şekilde kullanılmalıdır. Bu komut örnek matrisler içerir.