习题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
>