习题2.2
将1,2,…,20构成两个4×5阶的矩阵,其中矩阵A是按列输入,矩阵B是按行输入,并作如下运算.
- (1)
- (2)
- (3)
- (4)
- (5)
解答:
> A=matrix(1:20,nrow=4,ncol=5,byrow=FALSE)
> B=matrix(1:20,nrow=4,ncol=5,byrow=TRUE)
> A
[,1] [,2] [,3] [,4] [,5]
[1,] 1 5 9 13 17
[2,] 2 6 10 14 18
[3,] 3 7 11 15 19
[4,] 4 8 12 16 20
> B
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 6 7 8 9 10
[3,] 11 12 13 14 15
[4,] 16 17 18 19 20
>
(1)
> C=A+B
> C
[,1] [,2] [,3] [,4] [,5]
[1,] 2 7 12 17 22
[2,] 8 13 18 23 28
[3,] 14 19 24 29 34
[4,] 20 25 30 35 40
>
(2) 两个矩阵的乘法仅当第一个矩阵A的列数和另一个矩阵B的行数相等时才能定义。所以这里会 Error.
> D=A%*%B
Error in A %*% B : non-conformable arguments
>
(3)
> E=A*B
> E
[,1] [,2] [,3] [,4] [,5]
[1,] 1 10 27 52 85
[2,] 12 42 80 126 180
[3,] 33 84 143 210 285
[4,] 64 136 216 304 400
>
(4)
> F=A[1:3,1:3]
> F
[,1] [,2] [,3]
[1,] 1 5 9
[2,] 2 6 10
[3,] 3 7 11
>
(5)
> G = B[1:4,-3]
> G
[,1] [,2] [,3] [,4]
[1,] 1 2 4 5
[2,] 6 7 9 10
[3,] 11 12 14 15
[4,] 16 17 19 20
>