5數(shù)與矩陣相乘
A 為 m×n 矩陣,c>0,在 R 中求 cA 可用符號:“*”,例如:
> c=2
> c*A
[,1] [,2] [,3] [,4]
[1,] 2 8 14 20
[2,] 4 10 16 22
[3,] 6 12 18 24
6 矩陣相乘
A 為 m×n 矩陣,B 為 n×k 矩陣,在 R 中求 AB 可用符號:“%*%”,例如:
> A=matrix(1:12,nrow=3,ncol=4)
> B=matrix(1:12,nrow=4,ncol=3)
> A%*%B
[,1] [,2] [,3]
[1,] 70 158 246
[2,] 80 184 288
[3,] 90 210 330
若 A 為 n×m 矩陣,要得到 A'B,可用函數(shù) crossprod(),該函數(shù)計算結(jié)果與 t(A)%*%B
相同,但是效率更高。例如:
> A=matrix(1:12,nrow=4,ncol=3)
> B=matrix(1:12,nrow=4,ncol=3)
> t(A)%*%B
[,1] [,2] [,3]
[1,] 30 70 110
[2,] 70 174 278
[3,] 110 278 446
> crossprod(A,B)
[,1] [,2] [,3]
[1,] 30 70 110
[2,] 70 174 278
[3,] 110 278 446
7 矩陣對角元素相關運算
例如要取一個方陣的對角元素,
> A=matrix(1:16,nrow=4,ncol=4)
> A
[,1] [,2] [,3] [,4]
[1,] 1 5 9 13
[2,] 2 6 10 14
[3,] 3 7 11 15
[4,] 4 8 12 16
> diag(A)
[1] 1 6 11 16
對一個向量應用 diag()函數(shù)將產(chǎn)生以這個向量為對角元素的對角矩陣,例如:
> diag(diag(A))
[,1] [,2] [,3] [,4]
[1,] 1 0 0 0
[2,] 0 6 0 0
[3,] 0 0 11 0
[4,] 0 0 0 16
對一個正整數(shù) z 應用 diag()函數(shù)將產(chǎn)生以 z 維單位矩陣,例如:
> diag(3)
[,1] [,2] [,3]
[1,] 1 0 0
[2,] 0 1 0
[3,] 0 0 1
8 矩陣求逆
矩陣求逆可用函數(shù) solve(),應用 solve(a, b)運算結(jié)果是解線性方程組 ax = b,
若 b 缺省,則系統(tǒng)默認為單位矩陣,因此可用其進行矩陣求逆,例如:
> a=matrix(rnorm(16),4,4)
> a
[,1] [,2] [,3] [,4]
[1,] 1.6986019 0.5239738 0.2332094 0.3174184
[2,] -0.2010667 1.0913013 -1.2093734 0.8096514
[3,] -0.1797628 -0.7573283 0.2864535 1.3679963
[4,] -0.2217916 -0.3754700 0.1696771 -1.2424030








暫無數(shù)據(jù)