如果这些矩阵以列表形式存储,如何将矩阵的每个元素与R中另一个矩阵的对应元素相加或相乘?

基本数学运算(例如加,减,乘和除)在矩阵中很常见,我们经常这样做,但是如果矩阵以列表形式存储在R中,则这些基本计算将以不同的方式进行,因为它们不是直接对象。要在列表中添加或相乘矩阵,可以对带有加号(+)或乘以(*)以及列表名称的Reduce函数使用。

示例

考虑下面的矩阵列表-

Matrices_List<-list(matrix(1:100,nrow=10),matrix(1:100,nrow=10),matrix(1:100,nrow=10))

Matrices_List

输出结果

[[1]]

   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]

[1,] 1 11 21 31 41 51 61 71 81 91

[2,] 2 12 22 32 42 52 62 72 82 92

[3,] 3 13 23 33 43 53 63 73 83 93

[4,] 4 14 24 34 44 54 64 74 84 94

[5,] 5 15 25 35 45 55 65 75 85 95

[6,] 6 16 26 36 46 56 66 76 86 96

[7,] 7 17 27 37 47 57 67 77 87 97

[8,] 8 18 28 38 48 58 68 78 88 98

[9,] 9 19 29 39 49 59 69 79 89 99

[10,] 10 20 30 40 50 60 70 80 90 100

[[2]]

   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]

[1,] 1 11 21 31 41 51 61 71 81 91

[2,] 2 12 22 32 42 52 62 72 82 92

[3,] 3 13 23 33 43 53 63 73 83 93

[4,] 4 14 24 34 44 54 64 74 84 94

[5,] 5 15 25 35 45 55 65 75 85 95

[6,] 6 16 26 36 46 56 66 76 86 96

[7,] 7 17 27 37 47 57 67 77 87 97

[8,] 8 18 28 38 48 58 68 78 88 98

[9,] 9 19 29 39 49 59 69 79 89 99

[10,] 10 20 30 40 50 60 70 80 90 100

[[3]]

   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]

[1,] 1 11 21 31 41 51 61 71 81 91

[2,] 2 12 22 32 42 52 62 72 82 92

[3,] 3 13 23 33 43 53 63 73 83 93

[4,] 4 14 24 34 44 54 64 74 84 94

[5,] 5 15 25 35 45 55 65 75 85 95

[6,] 6 16 26 36 46 56 66 76 86 96

[7,] 7 17 27 37 47 57 67 77 87 97

[8,] 8 18 28 38 48 58 68 78 88 98

[9,] 9 19 29 39 49 59 69 79 89 99

[10,] 10 20 30 40 50 60 70 80 90 100

Reduce('+',Matrices_List)

   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]

[1,] 3 33 63 93 123 153 183 213 243 273

[2,] 6 36 66 96 126 156 186 216 246 276

[3,] 9 39 69 99 129 159 189 219 249 279

[4,] 12 42 72 102 132 162 192 222 252 282

[5,] 15 45 75 105 135 165 195 225 255 285

[6,] 18 48 78 108 138 168 198 228 258 288

[7,] 21 51 81 111 141 171 201 231 261 291

[8,] 24 54 84 114 144 174 204 234 264 294

[9,] 27 57 87 117 147 177 207 237 267 297

[10,] 30 60 90 120 150 180 210 240 270 300

Reduce('*',Matrices_List)

   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]

[1,] 1 1331 9261 29791 68921 132651 226981 357911 531441 753571

[2,] 8 1728 10648 32768 74088 140608 238328 373248 551368 778688

[3,] 27 2197 12167 35937 79507 148877 250047 389017 571787 804357

[4,] 64 2744 13824 39304 85184 157464 262144 405224 592704 830584

[5,] 125 3375 15625 42875 91125 166375 274625 421875 614125 857375

[6,] 216 4096 17576 46656 97336 175616 287496 438976 636056 884736

[7,] 343 4913 19683 50653 103823 185193 300763 456533 658503 912673

[8,] 512 5832 21952 54872 110592 195112 314432 474552 681472 941192

[9,] 729 6859 24389 59319 117649 205379 328509 493039 704969 970299

[10,] 1000 8000 27000 64000 125000 216000 343000 512000 729000 1000000

以上是 如果这些矩阵以列表形式存储,如何将矩阵的每个元素与R中另一个矩阵的对应元素相加或相乘? 的全部内容, 来源链接: utcz.com/z/331015.html

回到顶部