16 Matrislerde Bazı İşlemler

Hazır fonksiyonlar yardımıyla satır ve sütunların, toplam ve ortalamalarını bulabiliriz.

A <- matrix(1:9,byrow=T,nrow=3)
B <- matrix( c(5, 1, 0,
               3,-1, 2,
               4, 0,-1), nrow=3, byrow=TRUE)
colMeans(A)
## [1] 4 5 6
rowMeans(A)
## [1] 2 5 8
colSums(A)
## [1] 12 15 18
rowSums(A)
## [1]  6 15 24

Köşegen matrisi oluşturmak için diag() fonksiyonu kullanılabilir.

C <- diag(1,nrow=3)
C
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    1    0
## [3,]    0    0    1

Matrislerin çarpımında %*% operatörü kullanılabilir.

D <- matrix(c(1,2,3))
A  %*% D
##      [,1]
## [1,]   14
## [2,]   32
## [3,]   50

Bir matrisin transpozunu bulmak için t() fonksiyonu kullanılır.

t(A) ; t(D)
##      [,1] [,2] [,3]
## [1,]    1    4    7
## [2,]    2    5    8
## [3,]    3    6    9
##      [,1] [,2] [,3]
## [1,]    1    2    3

Kare matrisin determinantını bulmak için det() fonksiyonu kullanılır.

det(A); det(B) ; det(C)
## [1] 6.661338e-16
## [1] 16
## [1] 1
round(det(A),10) == det(t(A)) # Kare matrisin determinant ile transpozunun determinantı birbirine eşittir.
## [1] TRUE

Kare matrisin tersi solve() fonksiyonu ile bulunabilir.

solve(B)
##        [,1]    [,2]   [,3]
## [1,] 0.0625  0.0625  0.125
## [2,] 0.6875 -0.3125 -0.625
## [3,] 0.2500  0.2500 -0.500
birim <- diag(3)
solve(B,birim)
##        [,1]    [,2]   [,3]
## [1,] 0.0625  0.0625  0.125
## [2,] 0.6875 -0.3125 -0.625
## [3,] 0.2500  0.2500 -0.500

\(\begin{array}{c}{5 x+y=1} \\ {3 x-y+2 z=2} \\ {4+0-1=3}\end{array}\)

Yukarıdaki denklem sistemini çözmek için solve() fonksiyonu kullanılabilir.

paste("B matrisi");B ; paste("D matrisi") ; D ; paste("Çözüm Kümesi") ; ck <- solve(B,D) ; ck; 
## [1] "B matrisi"
##      [,1] [,2] [,3]
## [1,]    5    1    0
## [2,]    3   -1    2
## [3,]    4    0   -1
## [1] "D matrisi"
##      [,1]
## [1,]    1
## [2,]    2
## [3,]    3
## [1] "Çözüm Kümesi"
##         [,1]
## [1,]  0.5625
## [2,] -1.8125
## [3,] -0.7500
t_ck <- t(ck);colnames(t_ck) <- c("x","y","z") ;t_ck
##           x       y     z
## [1,] 0.5625 -1.8125 -0.75
B %*% ck
##      [,1]
## [1,]    1
## [2,]    2
## [3,]    3
5* 0.5625 + 1* -1.8125 + 0*-0.75
## [1] 1
3* 0.5625 + -1* -1.8125 + 2*-0.75
## [1] 2
4* 0.5625 + 0* -1.8125 + -1*-0.75
## [1] 3