矩阵运算与转置
> x=matrix(nrow=3,ncol=3) #给子矩阵赋值
> x
[,1] [,2] [,3]
[1,] NA NA NA
[2,] NA NA NA
[3,] NA NA NA
> y=matrix(c(4,5,2,3),nrow=2)
> y
[,1] [,2]
[1,] 4 2
[2,] 5 3
> x[2:3,2:3]=y #相当于x[2:3,2:3]= matrix(c(4,5,2,3),nrow=2),
> x #即对矩阵x的2、3行2、3列赋值
[,1] [,2] [,3]
[1,] NA NA NA
[2,] NA 4 2
[3,] NA 5 3
> y[-2,] #向量的负值索引用来除掉某些元素
[1] 4 2
> a=b=matrix(1:12,nrow=3,ncol=4)
> a+b #矩阵相加
[,1] [,2] [,3] [,4]
[1,] 2 8 14 20
[2,] 4 10 16 22
[3,] 6 12 18 24
> a-b #矩阵相减
[,1] [,2] [,3] [,4]
[1,] 0 0 0 0
[2,] 0 0 0 0
[3,] 0 0 0 0
> t(a) #t()是对矩阵进行转置,
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
[4,] 10 11 12
> a%*%b #矩阵相乘
> diag(a) #求矩阵对角线的元素
> 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
> diag(4) #求4阶单位矩阵
[,1] [,2] [,3] [,4]
[1,] 1 0 0 0
[2,] 0 1 0 0
[3,] 0 0 1 0
[4,] 0 0 0 1
> solve(a) #对矩阵a求逆矩阵
> solve(a,b) #解ax=b的方程组
[1] 0.5665423 4.0201394 3.8816119 -6.2955284