黄利东
15/04/2021
-矩阵是一个二维数组,只是每个元素都拥有相同的模式(数值型、字符型或逻辑型)。可通 过函数matrix()创建矩阵
-matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE,dimnames = NULL)
参数说明:
-data 向量,矩阵的数据
-nrow 行数
-ncol 列数
-byrow 逻辑值,为 FALSE 按列排列,为 TRUE 按行排列
-dimname 设置行和列的名称
## [,1] [,2] [,3] [,4]
## [1,] 1 6 11 16
## [2,] 2 7 12 17
## [3,] 3 8 13 18
## [4,] 4 9 14 19
## [5,] 5 10 15 20
## [,1] [,2] [,3] [,4]
## [1,] 1 2 3 4
## [2,] 5 6 7 8
## [3,] 9 10 11 12
## [4,] 13 14 15 16
## [5,] 17 18 19 20
-矩阵的索引从行列两个方向入手,见下面的例子
## [1] 2 7 12 17
## [1] 6 7 8 9 10
## [1] 7
## [1] 7
## [,1] [,2]
## [1,] 6 11
## [2,] 7 12
## [,1] [,2] [,3] [,4]
## [1,] 2 7 12 17
## [2,] 3 8 13 18
## [3,] 4 9 14 19
## [4,] 5 10 15 20
-逻辑索引
-向量化索引/按列从上到下,从左到右
## [,1] [,2] [,3] [,4]
## [1,] 11 16 21 26
## [2,] 12 17 22 27
## [3,] 13 18 23 28
## [4,] 14 19 24 29
## [5,] 15 20 25 30
## [,1] [,2]
## [1,] 16 26
## [2,] 17 27
## [3,] 18 28
## [4,] 19 29
## [5,] 20 30
## [1] 11 12 13 14 15
-A + B是矩阵加法, A - B是矩阵减法
-A %*% B是矩阵乘法。
-x*A若x是标量,A是矩阵,作矩阵数乘。
-如果x是向量,A是矩阵, 则x %*% A表示行向量x左乘矩阵A,
-A%*%x表示列向量x右乘矩阵A。
## [,1] [,2] [,3] [,4]
## [1,] 0.2911952 1.4778760 -0.04460784 0.2256401
## [2,] 1.3888632 0.4387201 1.48441337 1.4199606
## [3,] 0.6490100 0.5223182 -1.59101108 0.9697612
## [,1] [,2] [,3] [,4]
## [1,] 2.808512 -0.5875462 2.1154084 -4.0074773
## [2,] -2.400824 -4.0926231 -4.9218862 0.6770989
## [3,] 2.556057 0.2923954 -0.2222837 -2.6654285
## [,1] [,2] [,3] [,4]
## [1,] 3.099707 0.8903298 2.070801 -3.781837
## [2,] -1.011961 -3.6539030 -3.437473 2.097060
## [3,] 3.205067 0.8147136 -1.813295 -1.695667
## [,1] [,2] [,3] [,4]
## [1,] -2.517317 2.0654221 -2.160016 4.2331174
## [2,] 3.789687 4.5313433 6.406300 0.7428617
## [3,] -1.907047 0.2299227 -1.368727 3.6351897
## [,1] [,2] [,3] [,4]
## [1,] 0.8178254 -0.8683204 -0.09436379 -0.9042476
## [2,] -3.3344159 -1.7955161 -7.30611374 0.9614538
## [3,] 1.6589066 0.1527234 0.35365578 -2.5848292
## [,1] [,2] [,3]
## [1,] -1.049106 -6.375162 0.5849238
## [2,] 1.092552 -11.474592 -0.4364713
## [3,] -5.736068 4.791590 -0.4195434
## [,1] [,2] [,3] [,4]
## [1,] 0.5823905 2.9557519 -0.08921567 0.4512802
## [2,] 2.7777263 0.8774402 2.96882675 2.8399212
## [3,] 1.2980201 1.0446363 -3.18202216 1.9395224
## [,1] [,2] [,3] [,4]
## [1,] 0 0 -2 2
## [2,] 1 1 0 -1
## [3,] 1 0 1 2
## [4,] 1 1 1 0
## [1] 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
## [,1] [,2] [,3] [,4]
## [1,] 1 0 0 0
## [2,] 0 1 0 0
## [3,] 0 0 1 0
## [4,] 0 0 0 1
## [1] -0.25 3.50 0.75 1.25
## [1] 0 1 1 0
## eigen() decomposition
## $values
## [1] 1.7429256+1.0941392i 1.7429256-1.0941392i -0.7429256+0.6265678i
## [4] -0.7429256-0.6265678i
##
## $vectors
## [,1] [,2] [,3]
## [1,] -0.1820599+0.3539865i -0.1820599-0.3539865i -0.7440716+0.0000000i
## [2,] -0.1365193+0.3963668i -0.1365193-0.3963668i 0.5523637+0.1391179i
## [3,] 0.7053579+0.0000000i 0.7053579+0.0000000i 0.0294291+0.1294845i
## [4,] 0.3530442+0.2088866i 0.3530442-0.2088866i 0.3058240-0.1036212i
## [,4]
## [1,] -0.7440716+0.0000000i
## [2,] 0.5523637-0.1391179i
## [3,] 0.0294291-0.1294845i
## [4,] 0.3058240+0.1036212i
## [1] 4 4
## [1] 4
## [1] 4
## A B C D
## a 0 0 -2 2
## b 1 1 0 -1
## c 1 0 1 2
## d 1 1 1 0